當前位置:
首頁 > 最新 > 以太坊新舊鏈之爭的起源:黑客攻擊事件

以太坊新舊鏈之爭的起源:黑客攻擊事件

以太坊黑客攻擊事件是一起典型的黑客組織利用以太坊網路漏洞盜取以太幣的攻擊事件,直接導致以太幣被盜取和以太幣價格大跌近腰斬。這一事件警示著所有區塊鏈項目及相關產業網路安全問題一直是一個永久性問題。

以太坊黑客攻擊事件也稱「The DAO」事件,DAO是去中心化自治組織,其目的是為組織規則以及決策機構編寫代碼,從而消除書面文件的需要,以及減少管理人員,進而創建出一個去中心化管理架構.

這個組織的運作方式是這樣的:

一組人來編寫運行組織的智能合約(程序);

有初始融資階段,在這一階段人們添加資金來購買代幣,來代表其所有權——這個過程叫眾銷,或者首次代幣發行行——為其提供所需資源;

當融資階段結束後,DAO就開始運行;

之後人們就開始向DAO建言獻策該如何使用這筆錢,購買DAO的成員就有資格對這些提案進行投票。

有一點我們需要知道。很多人在關注「不將這些代幣變成股票形式」這一問題——這種形式更像是人們為獲得投票權而做出的貢獻,而非所有權。在大多數案例中,DAO不是由某人所有的,它只是一個在以太坊網路運行的軟體。最初的DAO就是比特幣,它由核心團隊及礦工網路的共識進行控制,其他DAO都發布在以太坊平台。

「The DAO」是一個特定DAO組織的名字,由德國初創公司Slock.it背後的團隊構想創建而成——Slock.it是一家專註「智能鎖」的公司,能夠讓人們在去中心化版本的空中食宿中交換事物(如契約、船隻和公寓等)。

「The DAO」項目子2016年4月30日開始,融資窗口開放了28天。截至5月15日這個項目籌得了超過1億美元,而到整個融資期結束,共有超過11000位熱情的成員參與進來,籌得1.5億美元,成為歷史上最大的眾籌項目。「The DAO」所籌集的資金遠遠超過其創建者的預期。

在眾籌期間,就有人擔心「The DAO」項目的代碼會受到攻擊。眾籌階段結束後,在開始資助提案項目前,大多數討論都是圍繞解決系統缺陷進行的。尤其是DAO項目創始人之-——Stephan Tual(史蒂芬-圖阿爾)於6月12日宣布,他們發現了軟體中存在的「遞歸調用漏洞」問題,不過對DAO資金來說則不會產生影響。

其實所有網路系統都有可能會遭到各種各樣的攻擊。而支撐價值超過10億美元(根據市值計算)的以太幣的以太坊網路還沒有遇到過黑客攻擊,而且它同時還在運行很多其他智能合約。但是如果某系統可以轉移大現金,那麼它就有可能遭到攻擊。

黑客攻擊

不幸的是,在程序員修復這一漏洞及其他問題期間,一個不知名的黑客開始利用這一途徑收集「The DAO」項目在銷售中所得的以太幣。

6月18日也就是星期六,黑客成功盜取了超過360萬個以太幣,並投人一個DAO子組織(以下簡稱「子DAO」)中,這個組織和「The DAO」有同樣的結構。當日以太幣的價格從20多美元直接跌破13美元。很多人都在嘗試從「The DAO」項目中脫離出來,以防止以太幣被盜,但是他們無法在短期內就獲得所需票數。因為設計人員從來沒想過被盜金額會這麼大,所有以太幣都存放在一個單一地址中,這一點太糟糕了。實際上,這種或者其他相似的攻擊,隨時都有可能繼續。

因為「子DAO」和其母體有同樣的結構、限制以及缺陷,所以這個新生組織中的以太幣在28天內是取不出來的,因為28天是其初始融資期。

每個人都可以看到「子DAO」中的以太幣——任何試圖將其提現的行為都會引發警報及調查。也就是說,黑客也將永遠無法取現或使用任何一個以太幣。但是攻擊者在發動攻擊時,很可能擁有大量以太坊空頭,在以幣數量減半後用來套現了。也就是說,黑客已經從「The DAO」項目之外賺到了錢,所以也就無所謂「The DAO」里的以太幣了。

軟分叉提議

「The DAO」項目持有近15%的以太幣,因此「The DAO」項目的問題對以太坊網路及其加密幣都產生了負面影響。

需要注意的是,有數十家初創公司在研究DAO及其管理產品,而許多智能合約都有相似的缺陷,而利用智能合約來構建複雜的軟體還處於初步階段。對於接下來會發生的事情,每個人都會遇到風險。

現在所有人都在關注「The DAO」項目和以太坊基金會,希望找到一個決方案,能夠讓這個生態系統步入之前的發展道路上。

為了了解上面提到的問題,需要先了解區塊鏈的基礎知識:節點網路將交易輸入區塊上,然後各區塊連接成一個單一的鏈,來代表所發生事件的「真相」。如果有兩筆競爭中的交易同時開始,那麼網路就會選擇一筆,拒絕另一筆,從而化解衝突,因此所有節點都有整個分散式賬本的相同副本。

唯一「重寫歷史」的方法就是讓超過51%的節點同意這個決定,但是比特幣或以太坊都還沒有這種先例。去中心化網路的目標就是沒有人有權做這件事情,不然網路本身就會變得不可信。

6月17日,以太坊基金會的Vitalik Buterin更新了一項重要報告,他表示,「The DAO」項目正在遭受攻擊,不過他已經研究出了解決方案:軟體分叉解決方案,通過這種軟體分叉,任何調用代碼或委託調用的交易,也就是藉助代碼(「The DAO」和「子DAO」)來減少賬戶餘額的交易都會被視為無效。

以太坊代碼會創建一份黑名單,來防止不法分子藉此獲利。在這種「凍結資產」的場景中,Buterin呼籲一起探討,如何幫助「The DAO」代幣持有者恢復他們最初的投資。這個看似無害,且頗有「解圍」意義的提議也需要以太坊網路節點大部分人都接受才能奏效,但是它已經引起了巨大的非議。

黑客也對這個計劃(軟分叉)做出了回應,他在給「The DAO」項目和以太坊社區的一封公開信中聲稱他的「獎勵」是合法的,並且如果有任何人想要無視他的工作的話,他都會採取法律手段來維護。他表達得很明確,而且從某個角度來看,也引起了共鳴:智能合約的前挺是,他們是自已的仲裁人,任何其他外部節點都不能「改變這一交易的規則」。

之後,黑客通過一個中介表示,他會暫停這個有組織地對他財產的「盜竊」,他會獎勵不支持這項軟分叉提議的礦工(節點)他說:「很快我們就會有一個智能合約來獎勵礦工,獎勵那些反對軟分叉並進行挖礦的人。共計100萬個以太幣,以及100個比特幣會分享給礦工。」這樣,想通過投票的辦法來達成一致變得十分困難。

硬分叉提議

還有一項提議也引起了爭論,即要求礦工徹底解除盜竊並且歸還「The DAO」項目所有的以太幣,這樣就能自動歸還給代幣持有人,從而結束「The DAO」項目

正如Stephan Tual在他的博客中寫的:當地時間下午4點,達成的共識是,如果27天都使用軟分叉,那麼攻擊者就不能索回他塞到「子DAO」中的資金了。而之後硬分叉甚至可以追回所有以太幣,包括「The DAO」的「額外餘額」以及被盜資金,都將歸還到智能合約上,這個智能合約將包含一個簡單函數: withdraw.

這樣每個人都有可能參與「The DAO」項目,以提取他們的資金:「多虧有礦工的支持,因為目前還沒有花掉一個幣,也不會出現任何損失。」

結局

最終,以太坊團隊還是採用硬分叉技術來解決問題。他們通過修改以太坊軟體的代碼,在第1920000區塊強行把「The DAO』項目及其「子DAO」的所有資金(包括黑客控制的部分)全部轉到一個特定的退款合約地址。這個合約唯一的功能就是把眾籌人手上的DAO幣按照100:1換回原來的以太幣。「The DAO」項目將會死去,而DAO代幣持有者將會得到他們所投入的部分以太幣。這樣一來,硬分叉產生了以太坊ETH(新版以太坊)和ETC(經典以太坊)兩個平行世界。那麼就有人疑問,這種硬分叉是否是一幣雙賣?是否在新鏈上發送交易同樣會被廣播到舊鏈上重放?

硬分叉後新舊鏈上以太幣的區分

ETH和ETC同源的兩條區塊鏈並存,交易互相交錯, 必然會帶來使用上的混亂,在任何一條鏈上做交易,都要考慮在另一條鏈上是否有重放影響。最好的辦法還是把ETH和ETC存放在不同的地址上,從而互不影響。以太坊官方推薦了第三方的智能合約,可以把原來同地址的ETH和ETC發向不同的新地址,即本來在雙鏈上都存放在地址x的以太幣,分別轉到ETH的地址Y和ETC的地址Z。接下來是安全分拆合約代碼,在split方法(java中split() 方法用於把一個字元串分割成字元串數組。)中判斷合約運行在哪條鏈上,然後把ETH/ETC轉到不同的目標地址上。這個代碼有點像操作系統進程fork(程序設計中的分叉函數)調用之後,判斷代碼到底在子進程還是父進程運行。代碼中用到了另一個稱為oracle(預言家)的合約AmIOnTheFork, 地址是Ox2bd2326c993dfaefB4f696526064ff22ebaSb362。這個合約在硬分叉前發布到區塊鏈上,並且在硬分叉後,根據「TheDAO」黑客合約的餘額,立刻記錄下合約到底是處於新鏈還是舊鏈,從而給其他合約提供判斷依據。

ETC與ETH之爭

儘管長期趨勢不明朗,但至少ETC短期已經存活下來。ETC的幣值也逐漸上漲,並伴隨著巨大的換手量,甚至有人還估計ETC,將來價格會比ETH更高。那麼誰是ETC 的幕後推手呢?一種猜測是比特』幣的圈裡人。比特幣在加密貨幣里是當之無愧的老大,當然不希望有個小弟變得越來越強大,以致最終成為自己的對手。現在,以太坊這個小弟的快速成長,已經有超越比特幣的苗頭,比特幣怎能坐視不理?比特幣社區對以太坊的硬分叉基本都是譴責的,現在又出現了ETC這個難得的機會,比特幣的大佬們忍不住狂吃廉價ETC籌碼(大量的ETC被用人BTC買走),用很少的成本就能夠控制一條和ETH對抗的鏈,這可能是非常好的上車機會。

另外,比特幣社區里一直就有大區塊和小區塊兩派之爭,大區塊可解決比特幣網路吞吐量低的問題,但是要靠硬分叉來實現,這點遭到小區塊派的強烈反對。此次以太坊硬分叉的成敗,對比特幣以至整個區塊鏈社區都有極重要的參考意義,小區塊派當然希望ETC能夠活下來,從而證明硬分叉具有很大風險,小區塊派應該是ETC最忠實的支持者。各大交易所基本都是從事比特幣起家,深受各種比特幣勢力的影響,支持ETC的交易也不足為奇了。

以太坊無疑是區塊鏈技術發展之路你上的偉大之作,但同樣遭受黑客的威脅,這也給以後的區塊鏈技術發展敲響了警鐘,安全,是所有技術發展路上的重中之重。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 指染流年 的精彩文章:

和中本聰論文一樣牛!工程師提出「閃電網路」,區塊鏈潛力爆發

TAG:指染流年 |