【廖翔专栏】比特金团队:为何遭遇51%攻击?如何避免?

原创
2232 天前
10431

1 比特币黄金51%双花攻击事件回放

在2018年5月16日22时37分(UTC),区块高度528735,比特黄金区块链上发生了一次51%双花攻击。这种攻击是一种在掌握绝对大量算力的情况下,把已经花出的币重新收回的一种攻击方式。实现手段如下:

1.攻击者准备约8000 BTG与大量算力

2.把BTG充入交易所,并同时开始私自挖矿

3.成功充币后,卖掉BTG提款,但攻击者同时在私挖的链上排除充币交易

4.由于攻击者拥有大量算力,私挖的链长于主链。攻击者把私链广播出来,就会成为新的主链,回滚了充币交易

5.最终交易所损失了被回滚的8000 BTG,矿工损失了区块奖励

在第一次攻击后的四天内又陆续产发生了16次攻击,攻击金额逐渐提高至约12000 BTG,最后一次攻击发生于19日5时25分(UTC),区块高度529408。

在4天发生的17次攻击中,攻击者共尝试双花约205000 BTG,但团队还没有从交易所获得确认数据,暂时无法得知实际造成的损失。

2 BTG的51%攻击分析

除非共识算法存在缺陷,否则为了发动攻击,攻击者必需拥有绝对大量的算力。与同时遭受攻击XVG不同,BTG攻击不是由算法缺陷导致的,其可能的攻击来源不多:

●ASIC制造商:首批矿机交货前,制造商可能拥有数倍全网的算力(如即将发售的Antminer Z9)

●从算力市场短期租借大量算力

●大型矿池的管理员(极易被发现攻击者身份)

●控制僵尸网络的黑客(主要针对CPU挖矿算法)

其中,算力来自ASIC与算力市场的可能性较大。而ASIC与算力市场也可以结合,极大增强攻击的匿名性。

攻击者为了获利,除了从交易所窃取资金以外,可能的获利方式还包含:

●通过攻击竞争对手造成市场垄断

●造成恐慌并做空获利

因此为了获利,被攻击的币种还需要拥有成熟的市场环境。算力集中的的可能性,与良好的市场环境,导致BTG成为了一个很好的攻击目标:

●BTG采用的Equihash PoW算法,近期已经被造出ASIC矿机,并且即将交货,目前算力集中于制造商手中

●所有采用Equihash的币种中,ZEC拥有多于80%的算力,其余所有币之和不足20%,不足以抵抗51%攻击

●BTG市值位于前30名,拥有很好的流动性和成熟的市场

3 如何避免51%攻击

51%攻击是实际的威胁,而不仅仅存在于理论。历史上曾经发生超过过10次51%攻击,仅在上周就发生了3次攻击(BTG、XVG、Monacoin)。

BTG遭受攻击虽然对生态造成了打击,但也为行业提供了宝贵的经验。BTG团队认为,合适的策略可以极大降低甚至杜绝攻击的可能性并避免损失。

保持算力分散

●中心化的算力是51%攻击的根本原因,只要中心化算力存在,在中本聪共识下,全部PoW区块链都无法从理论上避免51%攻击

○BCH拥有极高的算力,但绝大多数的算力由单个实体控制,当社区产生分裂时,算力有很大可能会被用来攻击对手

●BTG坚持挖矿去中心化,将会通过升级PoW解决ASIC威胁

避免与其他区块链的PoW算法冲突

●采用同一PoW时,高回报的币会挤压其他币的算力,造成隐患

●BTG会在升级PoW的同时对算法进行微调,减小来自其他链的算力影响

●其他可行的方案有联合挖矿(Merged Mining)等

预警机制

●良好的预警机制可以极大降低51%攻击造成的影响,交易所可以采取合适的防御措施避免损失

●在收到攻击报告后,BTG团队立即对社区发出警告,定位到了攻击者的钱包地址,并建立警报系统,在后续的三天里系统准确地在每次攻击开始时被触发

建立有效的沟通渠道

●预警机制还需要沟通渠道的配合,当交易所、矿池等生态可以迅速沟通时,51%攻击将会很难成功,为攻击者造成威慑

●BTG团队在发现攻击后立即召集交易所,建立了沟通平台,汇报了攻击者的钱包地址与攻击警报。但如果在日常就准备好沟通平台,可能一切损失都可以避免。

防御措施

●在51%攻击时,可以采取提高交易确认数、暂停充提币、冻结可疑账户等方式防御攻击

4 结语

51%攻击不仅存在于理论,而且是实际的威胁。BTG区块链在2018年5月16日至19日遭受了连续的多次51%双花攻击,攻击者利用绝对大量的算力回滚交易,对BTG生态造成了严重破坏。面对攻击,显示了PoW共识在安全上的不足。但生态也并不是无能为力,良好的策略可以避免甚至杜绝损失。此次51%攻击为BTG以及整个业界提供了宝贵的经验,探索终将带来进步。

另外,对于整个虚拟货币社区的影响,以及比特金团队与社区,如何与整个虚拟货币社区一起完善安全,共创未来,会有下一篇文章。