作者:歷史文章
白話區塊鏈,從入門到精通,看我就夠了!





相信我,任何粗口都無法表達我當時崩潰的內心,對自己,以及對被黑的DAO。
各大論壇上也是徹底炸了鍋。但同時一個非常具有魔幻現實主義的的場景出現了:所有人都在齊聲咒罵著攻擊DAO的黑客,但所有人都只能眼巴巴的看著!
眼巴巴的看著啊朋友們!
大家呆呆地站在原地,看著盜賊一卡車一卡車的把自己的錢燒成灰燼。因為智能合約一旦部署,無法修改,DAO is code, code is law。甚至從這個角度來說,盜賊“并沒有犯錯”,只是執行了智能合約中的某種隱藏的邏輯(漏洞)。

最為搞笑的是,這個賊偷到一半,居然特么停手了!留了一多半的錢在眾籌風投里面,讓眾多投資者在風中凌亂。
所有人都懵逼了,大家不約而同的都在想:這接下去怎么搞???難道就這么被搶了?
關鍵是,現在這劫匪是自己決定停下來搶劫的腳步啊,隨時都可以再次出發!而且因為所有的transaction都是公開的,任何對EVM工作機制有深度理解的人,都可以通過分析這次搶劫工作的方式,一秒變劫匪好么!整個Ethereum系統可以說是面領著前所未有的重大危機。
萬幸的一點是,盜賊利用的漏洞是在DAO分割(split)的代碼當中,而分割出去的子DAO需要等28天才能將里面的錢取出來,這給大家帶來了一點緩沖的時間和希望。
那么當務之急,就是止血:斷絕劫匪繼續取錢的能力,以及最終將錢取走的能力。為此大家提出了在ETH上進行“軟分叉”。
所謂軟分叉,是指不改變任何已經發生的轉賬和程序執行歷史,也不改變整個protocol,但對未來的交易和程序執行作出針對性限制。簡單來說就是,希望所有人都能共同抵制對DAO的任何改變(包括黑客的取錢行為)。將未來所有對DAO的操作,暫時放入黑名單,冰封整個DAO的智能合約。
“軟分叉”也是“分叉”,從嚴格意義上來講,也是對區塊鏈信任程度的一個損壞,因為你可以認為軟分叉在挽救DAO,但同樣可以認為,軟分叉是在“和諧”關于DAO的所有操作,這也是嚴重有悖于區塊鏈無人控制+無人和諧的核心價值的。
但兩害相權取其輕,大家普遍同意了進行軟分叉。然而天有不測之風云,在軟分叉就要開始的前幾個小時,有人發現了軟分叉本身是有重大漏洞的。一旦軟分叉發生,攻擊者可以利用這個漏洞使得整個區塊鏈充滿垃圾transaction,導致整個區塊鏈停擺。

唯一的希望之火破滅了,ETH價格再次大跌。
那么留給大家的只有一個選擇:硬分叉。
什么是硬分叉呢?簡單的來說就是“耍賴”。大家一起,暴力地將已經發生的搶劫有關的所有轉賬記錄全部抹掉,以及整個DAO的智能合約全部重寫成一個簡單的取款機,然后大家各自取款,回家找媽媽。
聽起來喜大普奔?
然而并沒有,非常沒有,特別沒有!
大家想想這什么意思:簡單來說,這就是意味著,區塊鏈上的信息是可以更改的;區塊鏈的共識其實是不穩定的,隨時可以被抹掉的。
因為這和區塊鏈所提供的核心價值是背道而馳的。
因為這和區塊鏈所提供的核心價值是背道而馳的。
因為這和區塊鏈所提供的核心價值是背道而馳的。
不帶這么玩兒的啊!當初不是這么保證我們的好么!
從價值觀上來講,這事兒確實是不能干的,因為對整個Ethereum的信用程度確實有很大損害。但是如果不硬分叉,強盜薅了那么多的羊毛,對整個Ethereum系統的信心(雖然這完全賴DAO自己)也會大打折扣。
前有餓狼,后有猛虎,怎么搞?
社區展開了長時間的辯論,期間各種drama不表。
最后ETH內部分裂,變成了兩種貨幣:一是堅持原教旨主義的ETC,以及進行了硬分叉重置了整個DAO attack的ETH。整個Ethereum市場和信心也陷入了漫長的寒冬。
老董是基本支持ETH的,不光是因為一己私利。我認為,任何早期技術,都應該給予犯錯和改正的機會。ETH當時還處在幼年,雖然硬分叉絕對不是一件好事,但兩害相權取其輕,還是可以干的。但老董也知道,only time and market will tell。
講了這樣一個小漏洞引發的巨大慘案,想必大家已經了解了在智能合約系統下,安全性的挑戰和其他鏈下系統的不同之處。而且也意識到了這個風險的系統性。
老董自己寫了非常多的程序,明白程序漏洞是永遠無法避免的。但大家想想,the DAO這么一個簡單的邏輯,都會出問題,那么之后更多花哨的,復雜的區塊鏈應用會不會出問題呢?老董覺得,這根本不是一個會不會的問題,問題100%會出。無非就是,什么時候出問題,以及出多大的問題而已。
那么這么巨大的系統性風險,如果沒有可能的解決方法,區塊鏈投資還搞什么?搞搞投機好了?
不不不,老董相信,沒有過不去的火焰山,尤其當ETH開著一輛用金子坐的車的時候。
本文轉載自公眾號“老董區塊鏈干貨鋪”
整編 | WangMe
作者簡介:
老董(BS'12, PhD' 17),UIUC計算機科學系博士,主要研究領域:高速低延遲廣域網數據傳輸系統,網絡安全與形式驗證,博弈論,企業軟件定義數據中心架構,分布式系統。
博士期間作為創始成員加入網絡安全初創公司Veriflow,現擔任核心算法與系統架構技術團隊負責人,同時兼任大客戶管理和一部分市場運營的工作。
在業余時間,老董是區塊鏈技術愛好者,區塊鏈技術全棧工程師。



點擊“閱讀原文”,查看公眾號所有歷史消息。
本文鏈接:/kp/bi/201712/447.html
來源:白話區塊鏈