回顧幣圈“史詩級”慘案:以太坊超級烏龍事件,如何引發(fā)史上最瘋狂的硬分叉?
在區(qū)塊鏈的世界里,代碼即法律,當“法律”本身出現(xiàn)漏洞時,會發(fā)生什么?
如果你是加密貨幣的老玩家,你一定聽說過“The DAO”事件;如果你是新韭菜,你可能只知道以太坊(ETH)和以太坊經(jīng)典(ETC)是兩個不同的幣種,卻不知道它們原本同根同源。
今天我們要聊的,就是被稱為“以太坊超級烏龍事件”的歷史性時刻——一次由于代碼疏忽引發(fā)的盜幣風波,以及它如何永久性地改變了以太坊的命運。
禍起蕭墻:史上最大的眾籌項目
時間回到2016年4月,當時的以太坊正處于早期的高速發(fā)展期,社區(qū)充滿理想主義色彩,一個名為The DAO(去中心化自治組織)的項目橫空出世。
The DAO 的概念非常前衛(wèi):它沒有領導,完全由代碼管理,是一個去中心化的風投基金,投資者存入以太坊(ETH)換取DAO代幣,然后通過投票決定資金投向哪個項目,這在當時引起了巨大的轟動,短短一個月內(nèi),The DAO 通過眾籌募集了約1.5億美元的以太坊,打破了當時的世界眾籌記錄。
巨大的資金池也引來了黑客貪婪的目光。
超級烏龍:并非“漏洞”,而是“特性”
2016年6月17日,災難降臨。
黑客利用了The DAO智能合約中的一個代碼邏輯缺陷發(fā)動了攻擊,這個缺陷在技術上被稱為“遞歸調(diào)用漏洞”。
這就好比你去銀行取錢:
- 你告訴柜員:“我要取100塊?!?/li>
- 柜員給你100塊,并在賬本上劃掉你的100塊余額。
- 但是,在柜員還沒來得及劃掉余額之前,你又插嘴說:“等等,我還要再取一次!”
- 因為系統(tǒng)邏輯的“烏龍”,柜員又給了你100塊,而且還沒扣錢。
- 如此循環(huán)往復,直到把金庫搬空。
黑客利用這個邏輯漏洞,在交易結(jié)束前不斷重復請求提款,在短短幾小時內(nèi),約360萬個以太坊(當時價值約5000萬美元)被黑客轉(zhuǎn)入了其控制的一個“子DAO”賬戶中。
這一事件瞬間引爆了整個幣圈,這就是著名的“超級烏龍”——不是黑客攻破了加密算法,而是項目方自己在寫代碼時犯下了低級的邏輯錯誤,把金庫的大門鑰匙留在了門鎖上。
信仰崩塌:代碼即法律
事件發(fā)生后,以太坊社區(qū)陷入了巨大的恐慌和分裂。
按照區(qū)塊鏈“代碼即法律”的原始教義,黑客的行為雖然不道德,但卻是符合當時智能合約代碼邏輯的“合法”操作,既然代碼允許他這么做,那這筆錢就是他的。
但另一方(以以太坊創(chuàng)始人Vitalik Buterin為首)認為,這顯然是盜竊,必須追回資金,否則以太坊的信譽將蕩然無存。
為了挽回損失,以太坊團隊做出了一個極其大膽的決定:進行硬分叉。
這意味著要回滾整個區(qū)塊鏈的歷史記錄,在黑客轉(zhuǎn)移資金之前切斷那條鏈,重新生成一條新的鏈,把被盜的錢“強行”退還給投資者。
