作者:Tim Beiko
編譯 :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 事件引發的爭議,社區強烈反對。
評論:現階段可能還是能夠進行社會硬分叉的?將 Lazarus 資金歸零(因為它們易於追蹤),並進行非正常狀態更改,將資金髮送回 Bybit 地址?
回覆:技術上不可能。如果我們宣佈硬分叉,而在它生效前一個區塊,他們將資金轉移到另一個地址怎麼辦?如果黑客在分叉前移動資金,分叉將無濟於事。另外,黑客可以通過惡意交互(例如向所有地址發送少量資金)導致整個網絡凍結,類似於拒絕服務(DoS)攻擊。
評論:如果 TheDAO 黑客事件現在發生(資金凍結一個月,社區協調可能),你認為以太坊治理會再次接受非正常狀態更改嗎? 還是協議文化已經完全轉向嚴格的不變性,即使在極端情況下?
回覆:很難說!TheDAO 擁有所有 ETH 的約 15%(是當前 Bybit 黑客事件的 30 倍),但結果比預期更具爭議性。我認為這是 Parity 黑客事件(約 500,000 ETH,資金凍結,所以可恢復)從未通過硬分叉修復的一個大原因。 為了提供一些視角,TheDAO 大約擁有相當於今天所有 WETH 加上所有 L2 保障的價值(不僅是 L2 上的 ETH,而是所有 L2 代幣)的質押 ETH。 那是一個干預所需的規模,當時生態系統遠沒有現在成熟。
評論:同樣的邏輯也可以應用於更中心化的鏈,比如 Solana,對嗎?所以,對黑客來說,Solana 和以太坊都足夠去中心化?
回覆:沒錯。Solana 可能比以太坊更快地實施硬分叉,但你仍然會有許多次級效應,以及攻擊者在硬分叉生效前移動資金的風險。
評論:如果 wETH 被攻擊,你會回滾嗎?
回覆:我沒有選擇權,但我認為這可能是至少提出這個話題的最小規模?我的觀點更多的是,關於 DAO 的評論常常使它看起來像是「只是一個應用程序」,而不是 WETH 和所有 L2 層的資金以一種易於恢復的方式被凍結的情況。(即關鍵點在於資金規模以及是否易於恢復)