介绍
在深入研究 51% 攻击之前,至关重要的是要对挖矿和基于区块链的系统有充分的了解。
比特币及其底层区块链技术的主要优势之一是构建和验证数据的分布式特性。节点的去中心化工作确保遵守协议规则,并确保所有网络参与者都同意区块链的当前状态。这意味着大多数节点需要定期就挖矿过程、所用软件的版本、交易的有效性等达成共识。
比特币共识算法(工作量证明)确保只有网络节点集体同意矿工提供的区块哈希是准确的(即区块哈希证明矿工做了足够的工作并找到了该区块问题的有效解决方案),矿工才能够验证新的交易区块。
区块链基础设施——作为分散式账本和分布式系统——可防止任何集中式实体利用网络达到自己的目的,这就是为什么比特币网络上没有单一权威的原因。
由于挖矿过程(在基于 PoW 的系统中)涉及大量电力和计算资源的投入,因此矿工的表现取决于其拥有的计算能力,这通常称为哈希算力或哈希率。各个位置都有许多挖矿节点,它们竞争成为下一个找到有效区块哈希的人,并获得新生成的比特币作为奖励。
在这样的背景下,挖矿算力分布在世界各地的不同节点上,这意味着哈希率并不掌握在单一实体手中。至少它不应该如此。
但是,当哈希率不再分布得足够好时会发生什么?例如,如果一个实体或组织能够获得超过 50% 的哈希算力,会发生什么?这种情况的一个可能后果就是我们所说的 51% 攻击,也称为多数攻击。
什么是 51% 攻击?
51% 攻击是对区块链网络的潜在攻击,其中单个实体或组织能够控制大部分哈希率,可能导致网络中断。在这种情况下,攻击者将拥有足够的挖掘能力来故意排除或修改交易的顺序。他们还可以撤销在控制期间进行的交易 - 从而导致双重支付问题。
成功的多数攻击还可以让攻击者阻止部分或全部交易被确认(交易拒绝服务)或阻止部分或全部其他矿工挖矿,从而造成所谓的挖矿垄断。
另一方面,多数攻击不会让攻击者逆转其他用户的交易,也不会阻止交易被创建并广播到网络。更改区块奖励、凭空创造货币或窃取不属于攻击者的货币也被视为不可能发生的事件。
51% 攻击的可能性有多大?
由于区块链由分布式节点网络维护,因此所有参与者在达成共识的过程中都会进行合作。这是区块链往往高度安全的原因之一。网络越大,对攻击和数据损坏的保护就越强。
对于工作量证明区块链,矿工的哈希率越高,找到下一个区块有效解决方案的机会就越大。这是因为挖矿涉及无数次哈希尝试,而更多的计算能力意味着每秒的尝试次数更多。一些早期矿工加入了比特币网络,为其发展和安全做出了贡献。随着比特币作为一种货币的价格上涨,许多新矿工进入该系统,旨在争夺区块奖励(目前设定为每区块 6.25 比特币)。这种竞争局面是比特币安全的原因之一。如果不是为了诚实行事并努力获得区块奖励,矿工就没有动力投入大量资源。
因此,由于网络规模庞大,对比特币进行 51% 攻击的可能性很小。一旦区块链发展到足够大,单个人或团体获得足够的计算能力压倒所有其他参与者的可能性就会迅速降至非常低的水平。
此外,随着区块链的增长,更改先前确认的区块变得越来越困难,因为所有区块都是通过加密证明链接起来的。出于同样的原因,区块的确认越多,更改或撤销其中交易的成本就越高。因此,成功的攻击可能只能在短时间内修改最近几个区块的交易。
进一步说,让我们想象这样一种场景:一个恶意实体不受利益驱动,决定攻击比特币网络只是为了摧毁它,不计成本。即使攻击者设法破坏网络,比特币软件和协议也会被迅速修改和调整以应对该攻击。这需要其他网络节点达成共识并同意这些更改,但在紧急情况下,这可能会很快发生。比特币对攻击具有很强的抵御能力,被认为是现存最安全、最可靠的加密货币。
尽管攻击者很难获得比比特币网络其他部分更多的计算能力,但对于较小的加密货币来说,这并不那么困难。与比特币相比,山寨币保护其区块链的哈希能力相对较低。低到足以使 51% 攻击真正发生。遭受多数攻击的加密货币的一些著名例子包括 Monacoin、Bitcoin Gold 和 ZenCash。