当前位置: 首页 > 科技观察

防51%攻击:哈佛MIT学者提出对抗双花新理论

时间:2023-03-22 01:55:59 科技观察

写在前面:历史上区块链世界多次发生51%攻击,而且都发生在小币种身上,根据哈佛大学和麻省理工学院的研究人员表示,他们在观察到的40起重组攻击中也看到了可能的反攻击案例。2020年2月,比特币黄金区块链上出现了多轮攻击者和防御者。在这种情况下,研究人员提出了一种反击理论来防御51%攻击。注:原论文作者为DanielJ.Moroz*(哈佛大学)、DanielJ.Aronof(麻省理工学院)、NehaNarula(麻省理工学院媒体实验室)和DavidC.Parkes(哈佛大学)(图片来自tuchong.com)以下是翻译:比特币和其他工作量证明(PoW)加密货币的经济安全取决于重写区块链的成本。如果51%攻击在经济上可行,攻击者可以向受害者发送交易,发起攻击,然后对同一枚硬币进行双花。中本聪认为这不会发生,因为大多数矿工会发现诚实遵守协议比攻击区块链更有利可图。然而,最近的研究表明,攻击加密货币的成本可能会有很大差异,这取决于计算能力的流动性、对货币价格的影响以及重写区块链所需的时间等因素。在某些情况下,攻击甚至可能是免费的。截至2020年3月,对于比特币这样的区块链,矿工已经在挖矿设备上进行了大量的前期投资,他们不愿意将自己的大部分算力出租出去,所以今天要对币种发起攻击,成本可能很高。然而,对于其他一些币种情况就大不相同了,市场上有足够的可出租算力来发起具有成本效益的51%攻击,而在现实中,我们观察到攻击者对这些币种发起双花攻击。使用像NiceHash这样的算力市场,买卖双方可以轻松连接。现在普遍认为,低算力币(属于PoW算法类中算力较低的币)由于存在算力租赁市场,容易受到廉价的51%攻击,是不安全的。在最近发表的一篇名为《针对双花攻击的反击》的论文中,我们讨论了一种防止对弱PoW硬币进行51%攻击的策略:受害者可以反击。我们证明受害者有能力在原链上租用算力和挖矿,在发生攻击时超越攻击者的链,这在平衡中阻止了攻击的发生。调查结果基于以下假设:(1)受害者遭受中度声誉损害而攻击者没有(例如,如果受到攻击,交易所可能会遭受负面声誉影响,而匿名攻击者则不会),以及(2)攻击的净成本增加超过时间(如计算能力的提升等)。虽然在撰写本文时,没有证据可以最终确定针对双花攻击的真实反击,但我们最近确实观察到了这种可能性。(上图展示了逆袭博弈的三个阶段,绿色代表当前最重的公链(即规范链),白色代表较小的支链。最上面的阶段是51%攻击的开始,攻击者A向防御者D发送交易,但在备用链上,其目的是使原始交易无效。第二阶段显示双花交易的启示,攻击者链成为最重链(规范链)。第三阶段展示了防御者D反击的结果。在此过程中,D在原链上挖矿并超越了攻击者A的区块链。)2019年6月,我们实施并运行了一个重组跟踪器,监控了23个最流行的证明-今天的工作(PoW)区块链。对于每种货币,跟踪器检测并保存所有链尖上的数据。到目前为止,它已经在Vertcoin、LitecoinCash、BitcoinGold、Verge和Hanacoin上观察到至少六个区块深度的40次重组攻击。比特币黄金的重组攻击与反击比特币黄金(BTG)于2017年10月24日从比特币中分叉出来,截至2020年3月10日市值1.68亿美元。比特币黄金没有使用比特币的SHA256算法,而是使用了ZHash反-ASIC算法,这意味着矿工可以使用GPU进行挖矿。与BTC不同,BTG会调整每个区块的难度。然而,BTG曾多次遭受双花攻击,其中最大的一次是2018年5月的51%攻击,当时有388,000BTG(当时约合1800万美元)被盗。2020年1月和2月,BTG再次遭到双花攻击。通过重组跟踪器,我们可以观察到2020年1月23日-2020年2月5日期间发生了8次BTG重组,其中4次涉及双花,涉及12,858个BTG(约合15万美元)。2月份,我们注意到BTG链上似乎出现了逆袭。一开始只是典型的重组攻击,一笔交易在一次双花中被逆转,但随后又一次双花被逆转,使得原来的交易再次有效。2月8日,攻防双方在2.5小时内四次来回激战。最终,原来的区块链被修复了,所以双花没有解决。2月9日和2月11日,我们观察到我们所谓的“一击”反击:攻击者进行重组,防御者只用一次反击就恢复到原来的区块链。在2月8日发生的对抗游戏中,双方在争夺757和d5f(译者注:tx的缩写)两笔交易,攻击者将其替换为交易50d和f38。AbC和AYP(注:地址缩写)共计4390BTG(约合44000美元)被盗,这些币被发送到GVe和GYz。最终重组深度为23,这将为矿工带来约290BTG(3000美元)的区块奖励,约占双花总收入的7%。请注意,在每对交易中,第二笔交易花费了第一笔交易的输出,即如果第一笔交易因双花而无效,则第二笔交易也将无效。因此,我们可以将它们视为一个整体。两个单元具有相同的输入但不同的输出,我们将其解释为被盗地址。接下来,我们将解释发生在2月8日的countergame的挖矿动态。您可以在此处查看来自两个链的带有时间戳的区块列表。我们称这些地址为“捍卫者”,“捍卫者”在不是工作量最大的区块链时会在原链上获得挖矿奖励。而那些一直跟随链工作最多的矿工(即从不在少数支链上挖矿)被认为是“旁观者”。我们的节点观察到从06:56UTC开始的4次重组。第一次重组用9个新区块替换了原始区块链的最后9个区块。在新区块链中,每个区块都有两个攻击者地址:GKGUq2p和Gh46Jw1,并且在分叉区块(区块619935)之后的第一个新区块中存在双花交易。然后,在世界标准时间07:35,我们的节点观察到另一次重组,在原始链上挖了另外4个区块(难度更大)。防御者是GbWi6y7和GSsjeTZ。双方反复交战,之后攻击者放弃并在世界标准时间08:58挖出最后一个区块。根据区块中的时间戳和节点观察到的重组世界,我们对时间线的最佳猜测如下:4:04,攻击者从619934高度开始挖块,并在619935块高度挖出一个块,并执行双花;6点55分,攻击者挖出9个区块,其链条超过现有链条;6:56,我们的节点观察到并重新定位到攻击者的区块链。“旁观者”矿工切换到攻击者的区块链并将其扩展2个区块;7:20防守方开始挖矿,扩展原链上未被攻击的区块(区块高度619943);7:33防守方挖出4个新区块后追上攻击方的区块链;7:35我们的节点观察并重新定位到防御链。“旁观者”矿工切换到防御链;7:53攻击者再次开始挖矿,扩展了自己的攻击链,其中有两个额外的“旁观者”区块;然后停止挖矿;8:58攻击者在超过防御者11个区块后也停止挖矿;9:00我们节点观察并切换到攻击者更深层次的重组链;9:14防守方再次开始挖矿;9:27原链超过攻击者链后,防御者继续挖矿;9:28我们的节点迁移到防御者的重链;10:20防守方降低输入算力;12:15名防御者停止挖矿;哈希算力从何而来?我们没有确凿的证据证明观察到的任何BTG重组都是由Nicehash提供支持的。这种不确定性是由于在没有主动攻击的情况下BTG上的价格和可用计算能力的大幅波动。这与我们最近在使用Lyra2REv3(从Nicehash市场租用哈希率)的Vertcoin(VTC)双花攻击中观察到的情况形成对比,我们清楚地看到攻击期间哈希率的价格上涨。尖峰,并在攻击后返回基线。哈希率可用性和价格飙升的频率使得我们很难将我们看到的峰值归因于攻击。但是,市场上有足够的ZHash算力可以执行BTG攻击,并且出现了与检测到的重组事件一致的算力峰值。NicehashZHash检测重组过程中的行情总结,红线表示重组事件发生的时间攻击理论在实践中,攻击可以通过在比特币核心节点上调用单个命令来完成,因此攻击者可能不需要编写任何新代码。例如,攻击者可能执行了以下操作:invalidateblock,而防御者可以简单地在攻击者包含双花交易的区块上调用invalidateblock,这将导致其节点继续在原始链上挖掘,而不是重新定位到攻击者链。有可能在后两种情况下,攻击者看到受害者反击就停止了攻击。也许攻击者知道,如果受害者可以反击,那么与受害者战斗就不值得了。几乎在所有的blockbattle中,防御者的地址都是GSsjeTZ。2月1日之前,该地址从未被使用过,反击后,也不再用于挖矿。不过,这未必是一场有意为之的复仇游戏。在这里我们讨论其他可能性。可能性一:测试一种解释是,所谓的反击实际上并不是反击,而是由一个实体模拟出来的,试图测试反击软件。可以想象,一个交易所、商家或者核心开发者写了一个基础设施,当深度重组发生时自动反击,他们想测试他们的软件是否能正常工作。这可以解释为什么2月6日发生的反击没有任何双花。可能性2:矿工之战矿工之间的反击可能不是因为其中一方或双方有兴趣从双花中收回资金,而是为了窃取然后收回区块奖励。同样,2月6日的反击没有双花的事实也支持了这一理论。可能性3:网络分裂这可能是比特币黄金中存在的短暂、反复出现的网络分裂。有可能与此同时,一些客户端钱包向分裂链的另一端广播了一笔交易,使花费的输出翻倍。我们不知道有任何比特币黄金钱包软件可以做到这一点。区块时间戳与此不一致,说明矿工在积极挖矿,然后停了好几次。并且还存在可以伪造的时间戳。攻击前后攻击者和防御者的地址再也没有被使用过。可能性四:软件bug可能是参与挖矿的软件存在某种bug,导致无法在最长链上挖矿,或者不小心调用了invalidateblock。可能性五:机会另一种可能性是,两个大矿工恰好同时发现了这个区块,这种分裂的概率非常低。这似乎难以置信,因为时间戳没有反映这一点,最长的重组是23个区块;结论是,不断增长的计算能力市场可能会破坏工作量证明(PoW)加密货币的安全性。然而,虽然流动哈希率市场的存在表明弱链是脆弱的,但受害者在平衡状态下反击的可能性很可能会阻止攻击。如果这种力量平衡足以保护区块链,那么这就引出了一个问题,即需要多少工作才能防止攻击?在这项研究工作中,我们只考虑一个理性的攻击者,如果有非理性的攻击者,他们可能不关心在51%攻击中损失的钱,这使他们比潜在的反击者更有优势。对于此类破坏者,51%攻击的成本可能仍然是一个重要的威慑力量,就像今天的比特币一样。致谢:我们要感谢《针对双花攻击的反击》论文的共同作者DanAronoff和DavidParkes。还要感谢TadgeDryja、MadarsVirza和GertJaapGlasbergen对这项工作的有益反馈。