硬分叉
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
硬分叉指的是區塊鏈發生永久性分歧,在新共識規則發佈後,部分沒有升級的節點無法驗證已經升級的節點生產的區塊,通常硬分叉就會發生。代碼出現一個硬分叉,會改變挖礦演算法的難度級別。[1]
任何系統都存在“升級”,區塊鏈也一樣。在中心化系統中升級軟體十分簡單,你只需要在應用商店點擊“升級”即可。但是在區塊鏈這樣的去中心化系統中,“升級”並不是那麼簡單。
因為沒有中心化機構,比特幣等數字資產的每次代碼升級都需要獲得社區的一致認可,如果社區無法達成一致,區塊鏈就很可能形成“分叉”。
比如2013年3月,比特幣客戶端版本號為0.8的新版本和舊版本之間的衝突就引起了比特幣網路的分叉,使用0.7等舊版本的礦工和比特幣商家拒絕接受新計算出來的塊鏈。在強迫大型礦池返回0.7舊版本後,分叉重新合併,問題才得到解決。
以太坊的硬分叉案例[2]
在區塊鏈領域中,以太坊是一個知名的底層應用公鏈項目。它能夠支持DApp在其上面進行創建和運行,就如同手機上的安卓或iOS系統能夠支持APP運行一樣。在2016年,以太坊曾因為the DAO事件而進行了硬分叉。
The DAO就是以太坊上的一個DApp,是Decentralized Autonomous Organization(分散式自治組織)的簡稱。那時這個項目在以太坊上進行中眾籌時,在短短的28天內就籌集了1150萬以太幣,在當時價值1.49億美元,成為有史以來最大的眾籌項目。
這個獲得眾多人看好的自治組織,由德國的以太坊創業公司Slock.it編寫源代碼,其職能被設計成為一個類似於投資基金的組織,可以由社區成員投票,授權給社區為以太坊項目提供資金。
整個社區正如其名,完全由社區成員自治,並且通過代碼編寫出的智能合約來進行。社區通過代幣DAO Token來進行投票和投資,並且可以創建child DAO(子DAO,即通過調用DAO智能合約中的split函數,創建出來的小型DAO智能合約。創建成功後,原來DAO智能合約中的代幣被銷毀,以太幣將被轉移到新建的小型DAO智能合約上),DAO Token則可以用以太幣兌換來得到。
眾籌結束後,the DAO項目團隊正在討論資助提案項目前的系統缺陷。在6月12日,創始人之一的Stephan Tual宣佈,他們發現了軟體中的一個“遞歸調用splitDAO函數”漏洞,正著手解決,但the DAO中的資金並不會有風險。
6月15日,the DAO上的漏洞尚未修複完成,發起攻擊的合約就被創立了,令所有人都措手不及。17日,攻擊正式開始。以太坊創始人Vitalik Buterin立刻通知了中國社區,DAO遭到黑客的攻擊,通過DAO上“遞歸調用”的漏洞,不斷從the DAO 中分離出資產並建立自己的child DAO,將這些以太幣轉移到裡面。根據當時以太幣的價格,可以得出被黑客轉移的以太幣價值近6千萬美元。
為了輓回這一局勢,Buterine當機立斷,發佈了《緊急狀態更新:關於the DAO的漏洞》的文章,解釋了當時the DAO被攻擊的細節,以及一個關於分叉解決方案提議。首先進行軟分叉,就是修改以太坊區塊鏈上的共識協議,使得新生成的區塊獲得所有節點的認同。
這是一個有效的提議,一經軟分叉,所有被盜的幣都將“凍結”在那個地址上。從區塊高度1760000開始,所有關於the DAO以及child DAO的交易都將無效,以此來阻止黑客將以太幣提出。然後,再進行一次硬分叉將這些以太幣找回。
軟分叉的提案一齣,攻擊暫時停止。但在19日,黑客卻宣稱若有反對這個軟分叉提案的礦工,將獲得100萬以太幣以及100個比特幣獎勵。在當天,攻擊又起,不過被分離出去的DAO非常少。
6月22日,黑客又開始了行動。有白帽黑客將the DAO的資產轉移到了一個安全的子DAO中,但其後就有黑帽黑客,也就是這次攻擊的發起者,對這一子DAO的智能合約進行了攻擊。
為了拿回被盜的幣,以太坊最終還是進行了分叉。7月20日,備受矚目的以太坊硬分叉完成,中國的一個礦池成功地從這條新主鏈上挖到了第一個區塊。而由黑客轉移的,其中有價值4千萬美元的以太幣被成功地轉移到了新的地址,也就是說,經過分叉回滾,黑客盜走的the DAO以太幣,被成功“召喚”回來。
這一次分叉,無疑是力輓狂瀾的壯舉。然而,以太坊的分叉並沒有得到所有礦工的同意,所有以太坊最終形成了兩條鏈,一條是原來的鏈ETC(以太經典),一條為新分叉出的鏈ETH,即現在的以太坊。這兩條鏈分別代表了不同的社區共識和價值觀。
同時,這一次分叉也引發了區塊鏈業內對以太坊的一系列爭議和思考。雖然硬分叉奪回了被盜走的幣,但也暴露出了這樣一個問題:區塊鏈的分叉,以及將被盜的幣回滾的措施,違背了區塊鏈不可篡改的特性。
而這一點,也正是ETC和ETH社區的矛盾之處,支持ETC的人認為,不能因為一個應用就這樣改變以太坊。
很多人認為,這一次分叉永久地改變了以太坊的價值方向,甚至還影響到了整個區塊鏈行業:區塊鏈的不可篡改和可延續性,究竟孰輕孰重?同時,這次分叉也帶來了其他負面影響——很多項目後來也通過硬分叉對區塊鏈進行升級和優化,甚至分裂出新幣。
此外,以太坊硬分叉是以多數人的投票而通過的,其中Vitalik Buterin作為核心人物起到了一定的導向作用,而反對的少數人的投票顯得很無力,這很微妙地顯露出了此次分叉中的一種中心化意識。
總是,the DAO的一個漏洞,導致了歷史上的第一次也是最具影響力的分叉。The DAO從成功到失敗的歷程,也啟發了很多人對於智能合約的思考。
- ↑ (美)梅蘭妮·斯萬.《區塊鏈:新經濟藍圖及導讀》:新星出版社,2016.01:64-65
- ↑ The DAO:導致以太坊硬分叉的罪魁禍首.BB財經.2018.11.04
最好用客件發佈出來,對初學者能學習掌握更快些。