4月4日星期三,匿名加密货币Verge的网络遭受了所谓的“攻击51%”。结果,在3小时内,攻击者完全控制了网络以及其内进行的交易。我们研究了这些攻击是如何发生的,在哪些情况下攻击51%可能性最高,以及为何Verge网络遭受攻击。

“51%攻击”如何发生

51%攻击是指掌握了全网的51%算力之后,用这些算力来重新计算已经确认过的区块,使块链产生分叉并且获得利益的行为。

所有加密货币都基于分布式网络,而矿工作为其支持者。这些分布式注册表包含所有区块里进行的交易信息 - 因此称为“区块链”。矿工进行交易的确认、新区块的生成以及将其添加到区块系统,并且以加密货币获得工作报酬。

使用PoW算法(Proof of Work)网络内,以添加新的区块,矿工得进行复杂计算,这样它们才证明完成了工作。第一个矿工提供正确解决方案,有机会创建一个新区块以及收到适当奖励。矿工掌握的算力越多,找到正确解决方案的可能性就越大,奖励也就越好。当矿工找到正确的解决方案时,系统就通知所有网络参与者。

计算能力的这个关键角色导致“51%攻击”的威胁。如果矿工或矿工池控制算力的超过一半,那么它们能够全面控制网络:能够添加新区块来处理双边事务,而不确认新的交易。此外,“攻击51%”可能会导致矿工能够多次使用同一种硬币,这就叫double spending(双花)。同时,攻击方无法改变已经添加的区块中的信息并生成新的加密货币。

值得注意的是,使用proof-of-stake算法的区块链网络很难被遭受“攻击51%”,因为验证方保持区块链运行,其工作是基于网络加密货币(blokcheyn网络),而不是其节点的计算能力。在这个系统中的任何攻击企图变得无利可图。

大多数情况下,新的加密货币遭受“攻击51%”,因为它们尚未获得客户的支持和信赖,并据此,矿工需要较少的功率以获得该网络算力的“控制权” 。然而,这种攻击不太可能为矿工带来经济利益,而是作为消除竞争对手的方式。攻击的另一种情况,攻击较有名的加密货币,这样的话复杂得多,攻击者需要巨大的计算能力。

“攻击51%”的案例

2014年7月,Ghash.io采矿池短暂控制了比特币网络容量的55%。但是,该池自愿同意降低自身容量,未来不会超过40%的数值。但即便如此,当时比特币的价格跌下了四分之一。

2016年8月,Ethereum区块链上运行的Krypton和Shift加密货币受到“攻击51%”的影响。一群黑客担起负责,其成员将自己称为“51队”(“51队”)。结果,攻击骗子从两个网络中窃取约22000硬币。

攻击Verge

匿名加密货币Verge网络的案例成为了一种先例,因为这种攻击因代码中的错误而成为可能,而不是因为攻击方掌握计算能力。 4月4日,Bitcointalk用户ocminer提示,网络代码中存在一个错误,允许黑客每秒向网络添加新块,而不是规定的30秒。

因为Verge区块链支持多种算法,生成每个新块算法就得更改。攻击者发送Scrypt算法的区块,同时带有错误时间戳。网络接受此区块,认为一个小时前已添加了Scrypt算法的区块。攻击持续了三个小时,其间内其他矿工生成的新快的99%未被接受。

据Verge团队称,由于此次攻击,骗子抓住了25万枚XVG币,但加密社区确信实际数量接近390万。如果这个数字是正确,那么Verge团队将不得不进行硬分叉以冻结丢失的硬币。