為什麼會有ETH和ETC?the DAO攻擊事件2周年祭

2020-12-17 騰訊網

前兩天,跟一位HiBlock區塊鏈社區的用戶私聊,他問我一個問題,同樣是智能合約,為什麼會有以太坊和以太經典,又為什麼會有相應的ETH和ETC,兩者價格還相差如此之大。

轉給他一篇the DAO事件的文章後突然發現,the DAO攻擊事件已經過去2年了,今年的6月17日大家都在關注父親節、端午節以及德國和墨西哥隊的比賽爆冷,無論幣圈還是鏈圈,沒有人提及the DAO。

也許今年的6月17日有人因重注墨西哥隊而大賺一筆,但無論如何也比不上2年前6月17日黑客攻擊the DAO轉走了300多萬以太幣資產,當時價值6千萬美元,而以今年6月18日的ETH價格計算,則價值15億美元。

1

the DAO攻擊事件回顧

DAO代表的是去中心化自治組織,是區塊鏈法則裡不可少的一環,而the DAO含義為「DAO之母」,是建立在以太坊上的一個應用,功能類似於投資機構。參與者可以使用以太幣來換取DAO,也就是the DAO的token,持有DAO可以對the DAO的投資決策提出自己的意見。

the DAO在2016年5月初成立,到2016年6月16日成功募集到在當時價值1.5億美元的以太幣,短期高速發展讓the DAO成為了一個明星項目,但6月17日發生了黑客攻擊事件,事件的根本原因在於一行早已被發現的代碼漏洞。

康奈爾大學計算機科學系副教授Emin Gün Sirer在給他的一位學生發郵件時提到他正在研究智能合約第666行代碼可能存在的問題,甚至在2016年5月份也呼籲過投資者停止對DAO的投資,因為存在這樣的安全漏洞。

但是,Gün教授對於代碼漏洞無能為力,因為代碼發布在以太坊區塊鏈上就無法修改。事實上,發現這行代碼漏洞的並不止Gün教授,2016年6月9日,在網際網路上出現了與這次黑客攻擊相同手法的預警,6月10日智能合約語言Solidity的作者 Christian在以太坊官方博客上發表文章說明這個問題,the DAO團隊也接到了安全報告,但做出了不會受到攻擊的結論。

2

the DAO被攻擊的手段

說起the DAO被攻擊的手段需要講一下the DAO的運行機制。the DAO社區的每一位成員都可以利用自己手中的DAO進行投票,那麼就會有一個問題,持有DAO數量越多,投票的佔比就越大,會讓投資決策出現偏頗,導致基金運行虧損。

所以the DAO就設計了一個「子DAO」的機制,你可以申請創建一個子DAO,審查通過後你的DAO就可以通過代碼自動打入子DAO,從總資金池中剝離出來,而攻擊漏洞也由此開始。

正常情況下你的DAO打入子DAO後就會從總的資金池中刪除掉,但是看下圖這行代碼,裡面的withdrawRewardFor是將錢從總dao打到你的子dao合約,注意前面提到的fallback函數,發送金額到你子dao合約時會觸發fallback函數,但是如果你特別寫了fallback是再調用總dao的withdrawRewardFor呢?代碼會重新運行withdrawRewardFor再給你打錢,而扣錢的代碼就永遠不會運行到,如果你想,可以將總資金池中的DAO全部轉空。

攻擊者組合了2個漏洞,第一個漏洞是遞歸調用splitDAO函數,在第一次被合法調用後,會再次非法調用自己的DAO;第二個漏洞是DAO資產分離後避免從總資金池中銷毀,攻擊者在遞歸調用結束前將自己的DAO資產轉移到了其他帳戶,就可以避免這部分DAO資產被銷毀。

3

the DAO被攻擊後的補救措施

那麼,the DAO被攻擊後,是如何應對解決的呢?在攻擊事件發生後,攻擊者並不能馬上轉走這些資產,而是有一個28天的等待期,在這28天裡白帽黑客登場,V神提出方案,目的是要阻止黑客轉出這些資產。

事件發生後,以太坊創始人Vitalik在以太坊官方博客發布文章,提出以軟分叉的方案解決這次事件,軟分叉將從高度1760000開始把任何與the DAO和child DAO相關的交易認做⽆效交易,以此來組織攻擊者提現,軟分叉之後會進行一次硬分叉找回被轉走的以太幣。

但因為軟分叉的方案需要取得礦工們的同意,方案發布後黑客攻擊者暫停了攻擊,宣布對不支持軟分叉的礦工給與100萬以太幣獎勵。當然,軟分叉方案還是順利通過了,以太坊官方推出了針對TheDAO的軟分叉版本Gethv1.4.8,但這個軟分叉版本卻又一次出現了漏洞。

這個漏洞比較明顯,簡單地說,每個以太坊上的交易,驗證節點(礦工)都會檢查是否與TheDAO智能合約及其子DAO的地址相關。如果是則拒絕這個交易,從而鎖定TheDAO(包括黑客在內)的所有資金。這個邏輯實現本身並沒有問題,但是卻沒有收取執行交易的手續費,這就像節假日高速免費一樣,導致以太坊成為了DoS的攻擊目標,攻擊者可以零成本發起大量交易,導致以太坊網絡癱瘓,由此各個節點回滾了軟體版本,軟分叉方案宣告失敗。

之所以提出軟分叉,是為了避免回滾,軟分叉失敗後只能進行硬分叉,而距離黑客可以轉出提現的時間只有2周,同時還要進行所有礦工的投票來通過這次硬分叉方案。最終有大約450萬以太幣參與了投票,近90%表示同意硬分叉。程序預設在1920000個區塊時進行切換,2016年7月20日晚,第1920000個區塊在中國產生,TheDAO合約裡的所有資金,包括被黑客控制的資金,約1200萬以太幣,全部轉移到了一個新的智能合約中,該合約只有一個功能:退回TheDAO眾籌參與人的以太幣,眾籌參與人只要調用withDraw方法,就可用DAO幣換回以太幣。

4

the DAO事件的影響

硬分叉之後,被盜的幣找回來了,同時以太坊分為了兩個鏈,一條為原鏈(ETC),一條為新的分叉鏈(ETH),也就有了現在的ETC(以太經典)和ETH(以太幣)兩種TOKEN,分別代表新舊社區的共識和價值觀。

對於the DAO來說,這次事件無疑意味著項目的終結,甚至直接關聯到2017年7月,美國證券交易委員會發布報告時提出,DAO提供和出售的代幣是證券,因此受聯邦證券法的約束,DAO違反了聯邦證券法,所有的投資者也違法了。

5

為什麼ETH和ETC會同時存在

兩年過去了,當初硬分叉產生的ETH和ETC仍然同時存在,雖然ETH在2018年6月18日的價格不到100人民幣,遠不及ETC3200人民幣,但ETH仍然代表了一部分人對區塊鏈的共識和價值觀。

在當初硬分叉投票時,有大約10%的投票參與者反對硬分叉,這部分礦工仍然維持著舊鏈的算力,他們認為不能為了一己私利就隨意篡改代碼,代碼就是法律,這才是去中心化不可篡改的真諦,而硬分叉代表著代碼可以隨意修改,決策仍然是中心化的。

而隨後,P網宣布支持舊版以太幣的交易,代號為ETC,由於價格低,有願意冒風險的投資人買入,但由於支持人數少,並且依託於舊鏈的項目少,更新少等問題,價格一直不能和ETH相比。但ETC和ETH代表了區塊鏈世界裡的兩種價值觀。

6

兩年過去了,the DAO帶給我們什麼思考

距離the DAO攻擊事件已經過去了2年,這次事件讓我們認識到區塊鏈應用安全的重要性。the DAO被攻擊的漏洞是項目本身產生的,與智能合約無關,就像某一個網站出現了bug,不能說是網際網路技術的問題一樣。

2年裡,類似這樣的安全事故還有很多,2017年Parity錢包漏洞導致15萬個ETH被盜,導致幾家公司的ICO受阻,當時價值約三千萬美元。此外還有類似於CoinDash ICO攻擊、Enigma項目欺詐、Tether代幣攻擊、比特幣黃金欺詐以及EOS上線前被發現的安全漏洞。

關於區塊鏈安全,一直是一個繞不開的話題,傳統網際網路上是信息的存儲和傳遞,而區塊鏈的信息中,包含了大量與金融相關的數據,我們可以不在乎個人信息被各種「販子」們倒來倒去,但我們不可能不在乎自己銀行帳戶裡的錢被隨意轉來轉去。

區塊鏈的去中心化特點帶給我們很多未來應用的場景和創意,但去中心化組織在管理邏輯和生態上更加複雜,也就意味著更加容易出現漏洞。

區塊鏈的基礎架構由數據層、網絡層、共識層、激勵層、合約層、應用層六部分組成,技術本身的安全需要做好這六個方面的防護體系,而除了技術本身,還有類似於the DAO事件這樣由於代碼漏洞產生的安全問題,需要每一個區塊鏈開發者來維護安全,這該如何做到?是否又能有一個公鏈或組織來保護區塊鏈應用的安全呢?這個問題,歡迎加入HiBlock區塊鏈社區用戶群進行討論。

相關焦點

  • etc與eos,起跑線的差距有多大?
    首先我需要來講一下,自己為什麼會關注etc。必然是以太坊生態的衰敗,第一是以太坊先有鏈運行速度過慢,第二是後期隨時可能出現的分差以及生態圈裡存在過多的山寨幣!   etc是以太坊原鏈,目前etc的亮點一個是支持挖礦,另一個亮點就是比以太坊更加安全,以太坊經常遭受攻擊,且每一次都想用硬分叉的方式來追回被盜幣,這一點etc做的更好。
  • web3.eth
    .givenProvider || 'ws://some.local-or-remote.node:8546');關於校驗和地址的注意事項此包的函數返回的所有以太坊地址都作為校驗和地址返回。基於此,它將計算地址的校驗和並證明其正確性。傳遞給函數時,錯誤的校驗和地址將引發錯誤。如果要繞過校驗和檢查,可以將地址設置為小寫或大寫。
  • 《忍者必須死3》周年祭慶典娃娃機活動怎麼玩 周年祭慶典娃娃機...
    對於即將到來的周年慶,很多小夥伴都在關注本次周年慶有哪些活動和玩法,其中周年祭慶典娃娃機活動就是其中之一,很多小夥伴表示不知道怎麼玩,那麼接下來小編為... 《忍者必須死3》遊戲中周年祭慶典娃娃機活動怎麼玩?
  • web3.eth.subscribe
    web3.eth.subscribe該web3.eth.subscribe功能允許您訂閱區塊鏈中的特定事件。
  • ETC如初做客虎符AMA 「礦工候鳥計劃」啟動
    我們的礦工社區也會更好的為礦工朋友們服務;最後下個月月初會有我們和以太坊生態的黑客馬拉松活動,後面也還有更多活動正在策劃中,歡迎大家關注微信公眾號「以太經典亞太」   2.之前也有看到介紹說:ETC安全方案MESS可有效抵抗51%的攻擊,這具體是怎麼做到的?
  • 5·12汶川地震12周年祭 | 緬懷逝者 致敬重生
    5·12汶川地震12周年祭 | 緬懷逝者 致敬重生 2020-05-14 02:38 來源:澎湃新聞·澎湃號·政務
  • 學園偶像祭》四周年紀念
    「終有一天,我們會讓這裡座無虛席」、「我們想要閃閃發光」,她們都做到了,通過不懈努力創造了屬於彼此的奇蹟。
  • 世越號4周年祭」黑色歷史唯有SM公司敢正面對抗!
    今日(16日)是韓國世越號沉船事件4周年祭的日子,明星們也紛紛發聲,再次表達了對事故遇難者的悼念。演員尹賢敏通過個人ins寫道「銘記,春,remember0416,世越號4周年祭」,並上傳了代表悼念世越號的黃絲帶圖片,演員孔升妍也表示「世越號4周年祭不會忘記.幾天前在電臺聽到這首歌突然怔住了」,並分享了由林亨主(音譯)演唱的世越號悼念曲<成為千縷清風>,AOA成員權珉阿也寫道「世越號4周年祭,不會忘記,那天的海。」
  • 伺服器多IP有什麼用?伺服器多IP配置方法分享
    伺服器多IP有什麼用?如一個IP上僅放置一個網站(獨立IP),遠比一個IP上放置幾十上百個網站在搜尋引擎面前「更有面子」;搜尋引擎便會認為您的網站「比較重要」,便會擁有較高的權重 2、避免被封受影響。比如,當您的伺服器受攻擊時,如果一個IP上放置了多個網站,則您很難排除會是哪個網站引起,反之,如果每個IP上僅放置少量幾個網站甚至每個網站使用一個獨立IP,則會很容易找出問題既然給大家講到了伺服器多IP作用,今天也給大家分享一下伺服器多IP的配置方法Windows 伺服器:
  • 棕熊為什麼會在這2種情況下攻擊人呢?安全第一
    棕熊為什麼會在這2種情況下攻擊人呢?安全第一棕熊長得樣子沒有老虎和獅子兇,反倒有點憨態的樣子,各種動漫,影視,玩具,動物表演都有它的身影,可以看出我們人類是喜歡它的憨態可愛,卻不知道每年地球上都會有幾萬起的棕熊攻擊人的事件,傷亡上萬人。
  • ETH2GO攻略:DAppNode分步自學指南
    用戶可以利用其去中心化的存儲和GUI來部署節點並安裝DApp,只需單擊幾下,即可完成,不會像直接通過命令行運行它們那樣複雜。同樣,DAppNode為用戶提供了方便地運行以太坊2驗證器的方式,並不斷更新客戶端。 然而,有一個關鍵的步驟留給了用戶自己操作:生成助記詞和驗證器私鑰。
  • 通過Bitcoin Suisse以1ETH參與ETH2質押,並實現利潤復投
    從第一天開始在以太坊2上質押從第0階段的第一天開始,Bitcoin Suisse抵押服務就準備就緒了,具有必要的基礎設施和技術專長,以允許其用戶以最少1 ETH的數量進行質押。用戶必須在11月22日23:59(CET) 之前,在Bitcoin Suisse Online上提交抵押以能夠從發行的第一天起就可以投資ETH2。
  • btc和eth的利好會推動市場進一步增長還是重演畫門?
    市值的增長都已經超過了囤幣投入的了,你說他們會有多在乎大餅的漲跌呢,而這樣的曲線救國故事也不是第一個了,所以也有一類言論認為,其實這樣的買入消息更多的會是為了蹭個熱度,挽救下股票市值
  • 基於IP,port和域名三種虛擬主機配置方法
    1.基於相同IP不同Port的虛擬主機1)vi/etc/http/conf/httpd.conf2)將Listen欄位改為Listen80
  • 奇聞異事:揭秘活人祭橋真實事件,江陰大橋女工程師祭橋死亡(打生樁)
    其實我們這一代的人應該大部分都沒有聽過活人祭橋真實事件,什麼活人祭劍倒是在電視中見過不少。你知道為什麼要用活人祭橋嗎?傳說中在建築橋梁時,有時候會遇見打樁打不下去,這個時候就需要打生樁,用活人為這座橋舉行祭奠儀式,這樣大橋才能修建完工。
  • BT5 + wireshark玩wifi捕獲和中間人攻擊
    ,整個過程其實很簡單,但是老外分了好多步驟來講解,每個步驟都有配圖和說明,甚至命令的參數都要解釋一下。不得不佩服老外分享和奉獻的精神,所以我也學著奉獻一下,把它翻譯成中文給大家看看吧,我儘量保持原汁原味,有不恰當的地方要原諒我,畢竟我不是專業翻譯。
  • 2017的ETH和2021的ETH
    此外,費用靠前的協議和項目基本上都是DeFi領域的。隨著DeFi的發展,這個趨勢只會增強。而隨著EIP-1559提案的實施,這意味著ETH將有機會捕獲以太坊的費用收益。它會減少ETH的通脹率,甚至在一定臨界點帶來通縮的可能性。
  • 如何用DappNode或Avado在家運行ETH2質押挖礦節點?
    雖然POS降低了POW挖礦的準入門檻,但要在家裡安全的抵押ETH(並能夠在晚上入睡)需要一定的技術專長,這可能會使很多潛在的參與者望而卻步。在出現真正的即插即用解決方案之前的最早啟動階段尤其如此。好消息是我們中間有一些技術性較低的選項。
  • 「櫻桃小丸子學園祭-25周年特展」將在高雄開幕
    「櫻桃小丸子學園祭-25周年特展」高雄站將於12月26圖片來源:臺灣《中時電子報》華夏經緯網11月10日訊:據臺灣媒體報導,「櫻桃小丸子學園祭-25周年特展」將於2015年據報導,今年適逢動畫25周年特別舉辦,此特展以小丸子學校內一年一度的盛典──學園祭為展覽主軸,現場將會擬真學園祭運動會時的盛況,還將重現動畫內其他經典場景,如:小丸子的家、學校教室及夏日祭典,讓民眾們親身體驗其劇中生活,同時和小丸子、小丸子家人、三年四班同學們近距離拍照,喚起民眾一起度過的快樂童年時光。