以太坊分叉的緣由:The DAO事件究竟從何而來?
白話區塊鏈/張詠晴編譯
2018-12-11 17:40

 

2016年6月17日,以太坊創辦人V神心急如焚,急匆匆在Reddit上發了一篇貼文「DAO遭到攻擊,請交易平台暫停ETH/DAO的交易、充值以及提現,等待進一步的通知。新消息會盡快更新。」

 

此貼文一出,引起了巨大迴響。下面的回覆各式各樣,諷刺、謾罵、調侃。有人說「好耶!比特幣To Da Moon,以太坊藥丸」,還有人說「真諷刺,之前還說以太坊沒事,the DAO沒有被駭。」當然,少不了人關心自己的錢「我們的錢怎麼辦?要沒了?」他們有理由這麼做。

 

攻擊

 

6月17日,駭客利用The DAO代碼裡的一個「遞歸漏洞」,不停地從The DAO資金池裡分離資產;隨後,駭客利用了The DAO的第二個漏洞,避免分離後的資產被銷毀。

 

如果是正常情況,The DAO的資產被分離之後,就會被銷毀。但是,駭客在調用結束前,把盜來的The DAO資產轉移到了其他帳戶,避免了被銷毀。

 

如此熟悉The DAO代碼與機制的人,全世界或許不超過100個。駭客利用這兩個漏洞,進行了兩百多次攻擊,總共盜走了360萬的以太坊,超過了該項目籌集的以太坊總數目的三分之一。

 

沒多久,社群就發現了駭客的攻擊行為,整個社群都驚呆了。

 

隨後,The DAO監護人提議,社群發送垃圾交易阻塞以太坊網路,以減緩The DAO的資產被轉移的速度。

 

The DAO項目籌集的以太數目差不多佔到當時以太坊總量的14%,這個數量實在是太大了。如果The DAO出了什麼事,整個以太坊網路都會遭殃,更不要說以太坊基金會也參與了The DAO項目。

 

萬幸的是,也正是由於這些「不良」代碼,駭客無法將這些以太坊提走。因為代碼裡規定,要過28天之後才能提現,這給了社群足夠的時間研究對策。

 

經過緊急磋商,V神不久就在以太坊官方網站發布公告《緊急狀態更新:關於DAO的漏洞》。V神在公告中,解釋了這次攻擊的一些細節問題,同時提到已經提交了軟分叉的建議,不過不會回滾(Rollback),也不會撤銷交易和區塊。

 

分叉,對於以太坊來說,可是一個艱難的抉擇。

 

當時社群就有人反對分叉,因為「這會殺了以太坊。如果這次分叉通過了,那麼以後隨時都可以分叉......數位貨幣誕生的目的,就是為了解決『大而不能倒』(Too Big To Fail)的問題,現如今,大家竟然都同意『大而不能倒』起來了」。

 

2008年的金融危機,讓人們深刻地理解了什麼叫「大到不能倒」。

 

更有網友回憶起了歷史:「歷史只是在重複,即使是在加密貨幣領域。大家可能還記得未來幣發生過類似的事情。BTER交易平台被駭,5000萬未來幣被盜,佔了總量的5%。未來幣是PoS共識機制,所以這種情況的風險非常大。未來幣開發者發布了一個特殊的版本,把被盜的交易回滾。當時未來幣社群也需要決定怎麼做,經過多次辯論,最終的結果是不回滾。駭客拿到了幣,從此未來幣社群分裂了。希望大家能做出明智的選擇 」

 

受此事件影響,以太坊價格第二天暴跌約30%。

 

本文為巴比特資訊授權刊登,原文標題為「以太坊分叉的緣由:The DAO事件究竟是怎麼回事?