51%攻击

初阶

什么是51%攻击?

51%攻击(即多数攻击)指区块链完整性可能会面临的威胁,其中某个不法分子或恶意组织可控制全网一半以上的总哈希算力,从而可能会扰乱网络。
如果某个不良用户或不良用户组织一起行动,控制区块链网络上50%以上的哈希率,则他们可以凌驾于网络的共识机制以上并实施诸如双花问题之类的恶意行为。
当攻击者拥有足够的挖矿能力且故意修改交易顺序,阻止部分或全部交易的确认时,即会发生51%攻击。这也被成为交易拒绝服务。攻击者还可以阻止部分或所有矿工挖矿,从而导致所谓的挖矿垄断。

51%攻击:示例

如果不法分子打算控制比特币网络上51%的哈希算力,他们可以进行线下场外交易,将一些比特币转账到加密货币钱包并得到美元。区块链是不可篡改的,一旦交易在网络节点上确认,买方就会将美元交给诈骗犯。

然后不法分子可以回到区块链中BTC转账确认前的该区块上,并接着创建一条不包括该笔BTC转账的分支链。分支链上集中了大部分网络算力,决定了网络的后续部分将被分支链代替。

51%攻击的局限性

攻击者发起的51%攻击会造成巨大的伤害,但不法分子无法通过多数攻击阻止交易被广播,也无法撤销来自其他用户的交易。更改区块奖励,凭空创造代币或偷走从不属于攻击者的代币也是天方夜谭。

交易发生的时间越早,遭到破坏的难度就越大,因为时间越早,为了使网络达到当前的区块高度而需要挖出的区块数量就越多。这也是比特币交易在批准前需要进行六次确认的原因。

比特币可能会遭到51%攻击吗?

比特币区块链的规模非常大,因此51%攻击不太可能发生。随着网络的发展,某个人或组织获得超过其他所有参与者的算力的可能性越来越小。

因此,大型网络发生51%攻击的可能性极小,尤其是公认最安全的加密货币网络——比特币区块链。大型区块链目前尚未遭受过此类攻击,但小型区块链上已多次发生。例如竞争币Bitcoin Gold(比特币主链的分叉)就曾在2018年5月遭到51%攻击,导致当时价值1800万美元的BTG被盗。

区块链如何预防51%攻击

区块链可通过使用一系列的技巧来预防51%攻击。一种办法是鼓励更多的参与者加入网络,并运行自己的节点来支持网络。贡献资源的参与者人数越多,单个组织控制整个网络的可能性就越小。

工作量证明(PoW)与权益证明(PoS)等共识机制在防范51%攻击方面也起着至关重要的作用。这些机制要求节点在将交易添加到区块链之前就交易的有效性达成一致。这样攻击者如果想控制网络就需要付出巨大的经济和计算代价,因为他们需要控制网络上的大部分资源。

另一项防范措施是促进去中心化。将节点分布在不同的位置并涉及不同的参与者,这样单个组织就无法获得过大的控制权。

了解更多:什么是51%攻击?