以太坊创始人 Vitalik Buterin在近期的公开演讲中,曾谈论短期区块链机制面临的挑战时,其中提到了反Sybil Attack问题。那么,什么是Sybil Attack?
Sybil Attack,可译作女巫攻击,该名字最早出自于1973年小说《女巫》(Sybil)改变的同名电影,讲的是一个化名Sybil Dorsett的女人心理治疗的故事。她被诊断为分离性身份认同障碍,兼具16种人格。
Sybil Attack后来被引申到了P2P网络中,因为节点随时加入退出等原因,为了维持网络稳定,同一份数据通常需要备份到多个分布式节点上,这就是数据冗余机制。女巫攻击是攻击数据冗余机制的一种有效手段。
如果网络中存在一个恶意节点,那么同一个恶意节点可以具有多重身份,就如电影了的女主角都可以分裂出16个身份。原来需要备份到多个节点的数据被欺骗地备份到了同一个恶意节点(该恶意节点伪装成多重身份),这样一来作恶的节点,就有可能掌握网络的控制权。
在区块链网络中,如果采用了投票机制,那么久需要一套反Sybil Attack的技术。否则如果一个参与者有很多账户的话,很可能会带来一些不公平的因素。
反Sybil攻击的方法有很多种,比如采用工作量证明机制(PoW),即证明你是一个节点,要用计算能力证明,这将极大地增加攻击成本。另外一种就是身份认证,以太坊创始人 Vitalik Buterin在演讲中提到的就是这类方法,以太坊未来在弃用PoW共识之后,将会在这方面下功夫。