编译
|
GaryMa 吴说区块链
以太坊核心开发者Tim Beiko 在 2025 年 2 月 22 日发布了一篇长文,解释为什么以太坊无法“回滚”以逆转黑客攻击,如最近的 Bybit 黑客事件。他提供了比特币和 TheDAO 历史事件的背景,并讨论了为何在当今以太坊生态系统中回滚不可行。吴说对原文以及对应的评论回复进行编译整理如下:
昨天 Bybit 被黑客攻击后,部分人员再次询问为什么以太坊不能“回滚”区块链以逆转黑客攻击。
虽然生态系统中的经验丰富人士几乎一致认为这是不可行的,但值得解释为什么这个看似合理的提议在技术上不可行,尤其是对不太了解的人。如果你是其中之一,这是一个简单解释,说明为什么这是不可能的。
首先,了解一下回滚的背景:
区块链“回滚”的概念源于比特币区块链早期的一个事件。2010 年,也就是比特币推出不到两年的时间,客户端软件中的一个漏洞导致在区块 74638 中产生了 1840 亿(是的,亿)比特币。
为了修复这个问题,Satoshi 发布了比特币客户端的软件补丁,使这些交易无效。这实际上“回滚”了在此期间继续出块的链到区块 74637。在不到一天的时间里,新链积累了足够的算力证明,成为了主链,所有被回滚的用户交易都被包含在新链中。请注意,当时比特币的挖矿难度比现在低 100 亿倍,BTCUSD 价格大约为 0.07 美元。
简而言之,这种情况是独特的,因为有一个明确的协议漏洞导致了问题交易,这些交易由于数量巨大而易于识别。此外,比特币当时的采用有限,使得分发新客户端版本并快速挖掘新链段变得容易。
以太坊和 TheDAO:
以太坊的早期历史有一个表面上类似的危机,这常常导致人们对回滚的实用性产生困惑。2016 年,一个流行的以太坊应用 TheDAO 控制了当时所有 ETH 的约 15%。不幸的是,黑客发现该应用代码中的一个漏洞,允许他们窃取所有这些资金。这与比特币的情况明显不同,因为以太坊协议本身运行正常,是构建在以太坊上的应用出了问题。
幸运的是,TheDAO 的开发者实施了一个安全措施,即从应用中提款前需冻结一个月才能完成。这提供了一个独特的机会来解决漏洞:可以更改应用代码,防止资金最终流向黑客。
由于应用本身无法做到这一点,以太坊协议开发者必须直接在区块链历史中进行更改。这被称为“非正常状态更改”,因为应用的“状态”是通过手动更新数据库更改的,而不是通过有效的以太坊交易。
与上述比特币漏洞粗略比较,相当于将接收 1840 亿 BTC 的地址余额设置为 0,而不是重新挖掘排除这些交易的链。
这次升级引起了争议,以太坊社区实际上因此分裂。一部分矿工拒绝运行软件补丁,继续在黑客事件发生的链上挖矿,这个链现在被称为以太坊经典。我们今天称为以太坊的链是实施了这次软件升级的链。
同样,这种情况是独特的。TheDAO 被黑的资金实际上被冻结了一个月,给社区时间协调软件升级。资金被冻结还有另一个主要优势:此次黑客攻击没有“蔓延”。如果黑客可以随意移动资金,“冻结”资金将是一场无休止的猫捉老鼠游戏,因为协议是开源的,任何可能冻结资金的潜在更改都必须公开给黑客,给予他们足够的时间将资金转移到其他地方。
这就引出了 Bybit 事件。
为什么我们不能回滚以太坊
本周早些时候,Bybit 交易所被盗了 401,346 ETH(约 14 亿美元)。盗窃是由资金的托管人通过受损的多签接口签署误导性交易造成的。
这次黑客攻击的根本原因比 TheDAO 和比特币溢出漏洞更高一层。无论是以太坊协议,还是 Bybit 使用的底层多签应用,都没有问题。而是一个受损的接口使得交易看似在做一件事,实际上在做另一件事。
从以太坊协议的角度来看,没有什么能将该交易与网络上的其他合法交易区分开来。没有违反协议规则的地方,可以像比特币漏洞那样通过修补问题来隔离被黑资金。
此外,资金立即可供黑客使用。与 TheDAO 情况不同,那里社区有一个月的时间部署干预,这里黑客立即开始在链上移动资金。
即使我们能解决上述猫捉老鼠游戏,以太坊生态系统今天与 2016 年大不相同。DeFi 和与其他链的跨链桥意味着任何被盗资金都可以轻松地在应用网络中混合。例如,被盗资金可以在去中心化交易所上交换,所得代币可作为 DeFi 协议中的抵押品,借来的资产再桥接到完全不同的链。
这种高度的相互连接意味着任何非正常状态更改,即使在社会上可以接受,也将产生几乎无法管理的连锁反应。完全“回滚”,即使最近的链历史部分无效,会更糟。任何已结算的交易,许多都有以太坊之外的影响(例如交易所销售、RWA 赎回等),都会被撤销,但无法撤销其链下部分。
因此,结论是,虽然比特币 15 年前能够“回滚”其区块链,但今天,以太坊的相互连接性质和链上与链下经济交易的结算使得这在今天不可行。
从技术上讲,在资金被冻结和隔离的情况下,以太坊上仍然可能进行非正常状态更改。最后一次提出这种更改是在 2018 年,针对 Parity 多签钱包中的一个漏洞,约 500,000 ETH 被冻结(见 EIP-999),但由于 TheDAO 事件引发的争议,社区强烈反对。