這陣子大家對比特幣與以太坊兩大區塊鏈將要進入的分叉議題都非常關注,本文將簡單扼要說明需要了解的五大點。
第一件需要知道的事: 以太坊將於第 4,370,000 區塊 開始硬分叉,即以太坊在該區塊進行升級,另一新的以太坊區塊鏈將自該區塊起誕生。
第二件需要知道的事: 按照目前以太坊生成區塊的進度,第 4,370,000 區塊預計在台灣時間 10 月 16 日下午 1 點後到來。 準確時間可參考分叉倒計時:fork.codetract.io/
第三件需要知道的事:「硬分叉」– 相信對於幣圈和礦工來說不會陌生,過去就先後出現過「ETC 與 ETH」及「BTC 與 BCC/BCH」的硬分叉事件。而 以太坊這次硬分叉,會否產生新的幣呢?答案是:「不會!」
過去在硬分叉事件中出現分裂幣主要是提出的修改方案在區塊鏈社區中引發很大爭議,並非獲一致同意通過,所以在鏈分裂的同時出現分裂幣。但這次以太坊「大都會」升級已經獲社區一致同意,而這回硬分叉是基於升級所帶來的結果,這將不會引起以太坊社區的分裂,也就不會有新的以太幣出現。
第四件需要知道的事: 作為一名以太坊用戶,下載最新版本的以太坊 client
- Latest version of Ethereum Wallet/Mist
- Latest geth client (v 1.7.2)
- Latest Parity client (v 1.7.6)
- Latest Harmony client (v 2.1.0)
如果你正使用像 MyEtherWallet 或 Jaxx 這樣的線上或手機錢包怎麼辦?如果你使用第三方以太幣錢包,則需由該錢包供應商進行硬分叉更新。建議向供應商進行確認,以及過程中是否涉及要求用戶執行其他步驟。
第五件需要知道的事: 這次以太坊的升級是要進入「大都會(Metropolis)」階段,而「大都會」再細分為兩個階段(1)拜占庭(Byzantium)(2)君士坦丁堡(Constantinople)。(1)和(2)都會發生硬分叉,而今天將要進行的是「拜占庭」硬分叉 。
「大都會」升級
在以太坊的完整發展藍圖中,共分為四個階段:
- 前線(Frontier): 以太坊區塊鏈面世
- 家園(Homestead): 當前階段
- 大都會(Metropolis): 即將進入的階段
- 寧靜(Serenity): 最終階段
「大都會」升級為什麼要分兩階段進行呢?這裡就得簡短介紹一下以太坊想在「大都會」中發展,或可以說是想要提升的內容,當中具影響性的分別有四方面:
- 零知識扼要非交互知識論證 Zk-Snarks(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)
- 權益證明(Proof of Stake,簡稱 PoS)的早期實施
- 智能合約的靈活及穩定性
- 抽象帳戶
依上圖標示的內容,在這次「拜占庭」硬分叉中將會重點處理:
- 引入 zk-Snarks
- 加入 ‘REVERT’ 功能,有此功能後將不用消費 ‘ 全部’ gas 來使智能合約恢復到之前的狀態(EIP 140)
- 將以太坊冰河時期(ice age)或難度炸彈(difficulty bomb)延遲 1 年,並將區塊獎勵從 5ETH 降低至 3ETH(EIP 649)
由於「大都會」升級將帶來大量重點改變,因此不可能一次性引入,這就是為什麼要分兩階段進行。而「君士坦丁堡」將在什麼時候部署還不太清楚,但預料會在 2018 年發生。「君士坦丁堡」硬分叉主要是處理基於「拜占庭」硬分叉所引發的問題,更重要的是,引入「 PoW 和 PoS 混合鏈」。
在「大都會」升級中最重要就是執行 zk-Snarks– 基於零知識證明(zero knowledge proof)。「零知識證明」指的是證明者在不向驗證者提供任何相關的有用信息的情況下,令驗證者仍相信其論斷是正確的。
上圖是 imToken 的 文章 中引用的說明例子,非常清楚易懂。這是一個很經典的例子:「有一個缺口的環形長廊,出口與入口距離非常近(在目距之內),但走廊中間某處有一道只能用鑰匙打開的門,Alice 要向 Bob 證明自己擁有該門的鑰匙。採用『零知識證明』,則 Bob 看著 Alice 從入口進入走廊,然後又從出口走出走廊,這時 Bob 沒有得到任何關於這個鑰匙的信息,但是完全可以證明 Alice 擁有鑰匙。」
zk-Snarks 所做的是證明「驗證步驟」已經在智能合約中被採納,但不需透露這些步驟實際上是什麼,從而達到隱私的高度保護。 它可以只顯示部分過程,而不顯示整個過程本身,並證明「證明者是誠實的」。「零知識證明」是 ZCash 所應用的技術,這一技術可以令交易不容易被追蹤。
礦工的悲鳴?
目前的礦工已投資大量金錢購買設備用於挖礦,而隨著權益證明(PoS)的到來,該批設備將變得無用武之地,甚至一文不值。又如果以太坊不能阻止礦工停留在 PoW 協議上繼續挖礦,那問題就來了,將會出現分裂幣,這相信絕對不是以太坊團隊想見到的結果。所以為了確保以太坊礦工們能全數加入到新鏈中,以太坊開發團隊設置了「難度炸彈」機制。而在這次「拜占庭」硬分叉中,難度炸彈將被推遲 1 年。
冰河時期(ice age)或難度炸彈(difficulty bomb),講的就是「挖礦難度」的增加。這個「難度」是源自於比特幣,由於初期挖礦的人少,相對挖礦顯得比較輕鬆簡單;但隨著參與的礦工數量增加,甚至大幅激增,為防止比特幣被過早挖光,中本聰在比特幣區塊鏈早早埋下一個難度系統。簡單來說:比特幣每 2016 個區塊會調整一次難度,難度系數亦與區塊生成速度成正比。比特幣每 10 分鐘產生一個新區塊,若生成時間低於 10 分鐘,難度系數就會增加,反之則難度系數減少,以保證區塊生成時間始終保持在 10 分鐘左右,而以太坊區塊鏈亦採用相同的協議。
在以太坊區塊鏈中的難度系數是呈指數增加,因此稱它為「難度炸彈」。隨著區塊生成時間的顯著增加,最後幾乎是挖不出區塊,進入到這一狀態的話,就稱為「以太坊冰河時期」,在這時期下,礦工除了轉向 PoS 協議,將別無他選。
權益證明(PoS)協議所指的是:該系統中存在的是「驗證者」而非「礦工」。它的原理是,首先要持有一定量的以太幣來作為驗證節點,根據以太幣的數量和時間會產生用於下注驗證區塊的權益。只有擁有權益的節點才能有效驗證區塊,當區塊被驗證完成並打包進鏈,就能獲得和權益成正比的區塊獎勵。
為了落實執行 PoS,以太坊將先採用 Casper 的共識算法,初期,它將是一個 PoW 和 PoS 共同存在的系統,絕大多數交易仍採用 PoW 協議,每 100 個區塊才有一個是以 PoS 協議挖出。
為什麼用 Casper 的共識算法,主要是考慮到它能激勵誠實的驗證者/礦工並嚴懲不誠實的驗證者/礦工。什麼是誠實?什麼是不誠實?不誠實的礦工是指向鏈中添加任何惡意或錯誤的區塊。而基於 Casper ,如果驗證者試圖驗證惡意的區塊,他所有下注的權益將被扣除。
圖片:Shutterstock
來源:blockcast