以太坊正在朝着更安全,更高效,更具擴展性的方向發展,而隨着各種新技術的落地,將使以太坊網絡大規模商用變爲可能。

12 月 7 日舉行的以太坊核心開發人員大會上,以太坊核心開發者最終決定將在以太坊主鏈 7,080,000 高度,約 2019 年 1 月中旬時激活硬分叉,於是近期許多媒體在說,期待已久的以太坊 2.0 終於要來了。

然而對不起,以太坊 2.0 我們還要再等等。

要說以太坊 2.0,就需要知道以太坊 2.0 到底是什麼。據瞭解,在以太坊社區開發文檔中,以太坊 2.0 被稱爲 A Sharded PoS Ethereum 2.0。這個名稱中包含兩項主要形容詞,分別是「Sharded」和「PoS」。Sharded 即以太坊分片技術,PoS 顯然是指 PoS 共識機制,也就是說以太坊 2.0 的定義是包含了這兩項更新後的以太坊網絡,遺憾的是,在主鏈 7,080,000 高度上激活的硬分叉並不包含這兩項升級。

「君士坦丁堡」硬分叉離以太坊 2.0 還有多遠?

被延後的硬分叉:君士坦丁堡

預期在 2019 年 1 月中旬激活的以太坊硬分叉,實際上是此前 10 月在以太坊測試網 Ropsten 上進行的君士坦丁堡升級,但當時因存在共識問題導致測試網 Ropsten 不可用。而根據測試網 Ropsten 的鏈上數據,自 10 月 13 日的 4,230,000 區塊高度,測試網已經實施了君士坦丁堡升級,或部分升級,據推測,據其區塊獎勵已經由 3 ETH 減少至 2 ETH。以太坊核心開發者決定在主網 7,080,000 高度激活硬分叉,說明君士坦丁堡硬分叉已經在測試網絡 Ropsten 部署成功,並測試完成。

君士坦丁堡硬分叉是以太坊「大都會」(Metropolis)階段預定三個硬分叉中的第二個,第一次硬分叉被稱爲拜占庭硬分叉,實施於 2017 年 10 月 16 日的 4,370,000 區塊。拜占庭硬分叉部署了 zk-Snarks,延期了難度炸彈,調整出塊獎勵由 5 ETH 降低至 3 ETH (EIP-649)等總共 8 項更新。「大都會」階段僅僅是以太坊發展路線四部曲中的第三階段,之後將會迎來以太坊最重要的里程碑:「寧靜」(Serenity)階段。

原定 10 月份啓動的君士坦丁堡硬分叉中,包含了 EIP-145、EIP-1052、EIP-1283、EIP-1014 和 EIP-1234 共 5 項更新方案,其目的是提高以太坊的運行效率,並移除 / 推遲難度炸彈。

「君士坦丁堡」硬分叉離以太坊 2.0 還有多遠?

其中 EIP-1234 提議將拜占庭硬分叉後的出塊獎勵 3 ETH 減少到 2 ETH,也本次升級是最受關注,最具爭議的君士坦丁堡更新項目。在 8 月 31 日,以太坊出塊獎勵調整投票結束,投票總數 170 票,投票 ETH 151170.1 個。但結果上,最終有 129 票(75.9%)投給「延遲難度炸彈,並將出塊獎勵降低至 1 ETH」,31 票(18.2%)投給「將出塊獎勵降低至 2 ETH」,而只有 7 票(4.1%)投給「保持 3 ETH 出塊獎勵不變」,3 票(1.8%)投給「提高出塊獎勵至 5 ETH」。最終以太坊開發者決定將出塊獎勵減產至 2 ETH,即提案 EIP-1234 將作爲君士坦丁堡的一部分。

以太坊並沒有像 Bitcoin 一樣限制 ETH 的最大供應量,這也導致 ETH 嚴重通脹,礦工、大戶所持 ETH 價值逐漸稀釋、貶值。自 2017 年的拜占庭硬分叉,以太坊開發者連續調低出塊獎勵,由 5 ETH 降低至 3 ETH,再由 3ETH 繼續降低。從上面提到的投票數據來看,其中不乏激進主義試圖將出塊獎勵降低至 1 ETH。

「君士坦丁堡」硬分叉離以太坊 2.0 還有多遠?

雖然在以太坊白皮書中已經對其貨幣經濟體系的通脹率做出瞭解釋,表示隨着時間推移,以太坊的通脹率將趨近於 0,但顯然 ETH 產出之快有些超出開發者的預期,以至於不得不加速人爲干預,以達到快速降低通脹的目的。所以從經濟學角度來說,ETH 的減產對其持有者無疑是一種利好。

然而社羣中同樣有不少反對的聲音,認爲現在數字貨幣市場雪崩,ETH 大幅折價(自最高點 1400 美元至今已經跌超 90%),大熊市中減產並不會帶來 ETH 價值的穩定提升,反而會使 ETH 提升的價值無法彌補損失的 1 ETH,以太坊挖礦將無利可圖,加速礦工出走。

在當前市場環境下,減產確實會有極大可能帶來負面效果。以 ETH 現在的市價,在上個月關機潮後剩下的以太坊礦工,可以說是勉強收支平衡,若這個時候直接降低其 33% 的產量,排除君士坦丁堡硬分叉帶來的效率提升,ETH 需要上漲 50% 才能彌補礦工減產的損失。如果減產後的 ETH 不能在當前熊市環境中大漲,大批礦工將不得不關機賣鐵。

其實以太坊既定的減產目的是爲了促進 PoW 向 PoS 的轉化,所以其減產帶來的收益更大程度上是 ETH 遠期的升值,而現在這個時間點部署確實不是好時候。

以太坊分片技術:Casper &Sharding

2014 年,以太坊基金會的 Vlad Zamfirt 開始主導開發 Casper 擴容方案;2017 年 10 月 25 日,V 神發表論文介紹了 PoW/PoS 混合機制的 Casper the Friendly Finality Gadget (Casper FFG);11 月 1 日,Vlad Zamfir 發佈完全 PoS 機制的 Casper CBC 草案;2018 年 6 月 16 日,因長 Casper 和 Sharding 項目間存在較多重複工作,以及以太坊開發團隊爲了專注於開發純 PoS 的 Casper 機制,決定融合 Casper 和 Sharding 分片技術,Capser FFG 項目被終止。

據瞭解,Sharding 分片技術由 V 神於 2018 年 4 月發佈公開,並作爲與 Casper 共識同等重要的項目來推進。分片技術簡單來說就是將現有的以太坊網絡節點劃分成多個組,每個組可以獨立於其他組進行鏈上交易的打包和確認,類似於中央處理器的多線程能力,增加了以太坊網絡同時處理多個交易的可能,以達到鏈上擴容的目的。

分片技術聽起來在原理上很簡單,但實際上這項技術非常複雜,且要在以太坊上實現還需要解決很多問題。因爲分片實際上犧牲了部分以太坊網絡的去中心化程度,開發者不得不考慮如何完善分片的隨機節點分佈,如何防止單個分片內部遭到諸如雙花攻擊等的威脅,以及防止多個分片間產生交易衝突等大量問題。

「君士坦丁堡」硬分叉離以太坊 2.0 還有多遠?信標鏈與分片數據鏈(資料來源:DarrenLangley)

根據高級區塊鏈工程師 Darren Langley 更詳細的解釋,每個分片都是一條獨立的 PoS 區塊鏈,具有獨立的交易記錄、賬戶餘額、智能合約等,作爲區塊鏈額外增加的交易通道,使交易可以並行處理,這些 PoS 鏈被稱爲「Shard Chains」分片鏈或「Shard Data Chains」分片數據鏈。而每條分片數據鏈都與其上一層作爲協調者角色的「Beacon Chain」信標鏈相連,並在信標鏈的協同下運行。這就牽扯到了一項以太坊的新設計 Beacon Chain。

以太坊 PoS:Beacon Chain

在 Casper 和 Sharding 技術開始融合之後,以太坊代碼庫出現了一項新的設計,即信標鏈 Beacon Chain。信標鏈是一條獨立於當前主網的純 PoS 共識區塊鏈,作爲分片技術以及分片數據鏈的基礎構架,信標鏈將成爲以太坊 2.0 中第一個落地的主要功能。

根據 Github 文檔,Beacon Chain 的主要功能是存儲和維護驗證者的註冊信息;執行交聯的處理;管理自身及各個分片鏈的 PoS 共識協議;管理驗證者和她們的權益;在各時段,爲每個分片指定所選的區塊提議者;組織驗證者形成委員會來對被提議的區塊進行投票;對驗證者進行獎懲處理等等。

「君士坦丁堡」硬分叉離以太坊 2.0 還有多遠?

Beacon Chain 目前還處於開發階段,根據 V 神的演講,PoS 信標鏈將會是一個區塊鏈倉庫,承載着所有的信息,和運行 PoS 機制的驗證者,其作爲分片技術與現有 PoW 主鏈間的協調者,撐起了整個以太坊網絡。而只有 Beacon Chain 最終實現運行的時候,以太坊 2.0 纔會真正開始部署。

以太坊 2.0

根據 Github 描述文檔,以太坊 2.0 的設計目標是:

「君士坦丁堡」硬分叉離以太坊 2.0 還有多遠?

  • 儘量降低複雜性,即使以效率損失爲代價;
  • 通過主要網絡分區,在大部分節點脫機時保持活動狀態;
  • 所選擇的組件,需要它們要麼是量子安全的,要麼可以在可用時輕鬆換出量子安全副本;
  • 利用加密和設計技術,允許驗證者在單位時間內大量參與;
  • 允許具有 O(C) 資源的典型消費者筆記本電腦處理和驗證 O(1) 分片。

「君士坦丁堡」硬分叉離以太坊 2.0 還有多遠?以太坊 2.0 整體架構(資料來源:以太坊核心開發者 Hsiao-Wei Wang)

根據以太坊核心開發者 Hsiao-Wei Wang 對以太坊 2.0 最新構架的描述,以太坊 2.0 主要分爲四層:

  • 主鏈:主要提供權益管理,包括類 Casper 的 PoS 機制,共享驗證者池,分片鏈提議者,分片鏈公證人;
  • 信標鏈:主要作爲隨機數生成器,包括選擇區塊提議者,選擇公正委員會等;
  • 分片鏈:作爲數據層,只包含數據共識;
  • 虛擬機:提供狀態執行結果,以及以太坊風格的虛擬機 eWASM。

對比 Hsiao-Wei Wang 之前的 ppt 文檔,以太坊 2.0 構架的第一層主鏈由「PoW Main Chain」(PoW 主鏈)變成了「Main Chain」,且描述修訂爲「provides staking」。

「君士坦丁堡」硬分叉離以太坊 2.0 還有多遠?

這或許說明以太坊 2.0 原本設計的 PoW 與 PoS 共存架構最終在開發者的調整中轉變爲純 PoS 構架,即主鏈、信標鏈、分片鏈均使用 PoS 共識機制。

而根據以太坊的發展路線,及 V 神在 Devcon4 的演講內容,我們恐怕無法在「大都會」(Metropolis)階段見到以太坊 2.0 的真面目了。但是隨着 Beacon Chain 的逐步完成和部署,下一個被交付的功能將是分片技術,而後是 eWASM 以太坊虛擬機的狀態轉換,再之後還有更多更多可以實現的功能與新技術。可以說以太坊正在朝着更安全,更高效,更具擴展性的方向發展,而隨着各種新技術的落地,將使以太坊網絡大規模商用變爲可能。

雖然此次的君士坦丁堡硬分叉還無法實現以上這些功能,但此次硬分叉之後,以太坊「大都會」階段就接近尾聲了,大都會的喧鬧之後,「寧靜」(Serenity)還會遠嗎?