共识与网络

51% 攻击

51% 攻击,是指如果某一方掌握了一条区块链中超过一半的「添加区块的能力」——在工作量证明的链上是超过一半的挖矿算力,在权益证明的链上是超过一半的质押资金——可能发生的事。手握多数,攻击者就能持续地跑赢其他所有人,把链的历史扭向对自己有利的方向。这个名字标出了那个临界点:刚一过半,诚实的多数就不再是多数了。

重要的是要弄清楚,这样的攻击者能做什么、不能做什么。他能拒绝把某些交易打包进去,也能改写最近的历史来撤销自己的付款——这就是经典的双重支付:他先花掉一笔币,再悄悄构建一条更长的、那笔花费从未发生过的链。可他做不到的是,从别人钱包里偷币,或者伪造签名,因为这些受密码学保护,而攻击者的多数算力碰不到它。

大型链之所以安全,靠的是经济账,而不是魔法。在一个主流的工作量证明网络上,要凑齐全网过半的挖矿硬件和电力,得花掉一笔惊人的巨款,而即便成功,多半也会拖垮攻击者正拿来攻击时所花的那种币本身的价值——所以这买卖很少划算。在权益证明的链上,发动多数攻击的人则要冒着自己全部权益被罚没销毁的风险。这两种情况下的防线都一样:诚实做事,就是比作弊便宜得多。

总算力或总质押都很小的小型链,才是现实中的攻击目标,因为夺取它们那点有限的力量的过半份额要便宜得多。

又称
51% attackmajority attack51%攻击51%攻擊多数攻击多數攻擊