雜湊派:伊斯坦布林硬分叉要來了,但以太坊2.0還要十萬八千里

買賣虛擬貨幣

作者 | 雜湊派 - Adeline

文章字數:3600字左右
閱讀時間:約6分鐘

據以太坊基金會訊息,伊斯坦布林(Istanbul)硬分叉升級預計將於2019年12月7日前後發生,和前幾次的君士坦丁堡、拜占庭等硬分叉升級一樣,這次的升級同樣以改變以太坊底層協議的方式來提升整體效能。然而,也和前幾次升級前屢次延遲的“尿性”一樣,伊斯坦布林硬分叉之路依舊波折不斷。

據以太坊官方訊息,伊斯坦布林硬分叉原定於8月14日啟用Ropsten和Görli等以太坊測試網,並預計於2019年10月16日在主網上進行升級。

然而在8月15的以太坊電話會議中,核心開發者Péter Szilágyi指出,需要將該目標推遲兩週,且不排除在9月4日有再次推遲的可能性。最具爭議的ProgPOW演算法將推遲到下一次升級中實施。[1]

隨後9月6日的以太坊電話會議中,基金會社羣經理Hudson Jameson表示,由於有大量以太坊改進建議(EIP)提交審查,Ropsten測試網路啟用被推遲到10月2日左右,主網的啟用將推遲到11月。[2]

9月30日,以太坊基金會社羣經理Hudson Jameson表示,由於異常快速的區塊確認時間,造成測試網路Ropsten已於UTC時間9月30日3:40提前到來。

10月25日,PegaSys Protocol Engineering產品經理Tim Beiko發推表示,目前團隊初步達成共識,以太坊伊斯坦布林硬分叉日期定為12月4日,為了以防萬一,1月8日為定為備用日期。

11月20日,以太坊官方部落格發文稱,以太坊網路將按計劃在區塊高度9,069,000處進行升級。時間預計在2019年12月7日星期六發生。具體升級日期和時間可能會因出塊速度有所變化。[3]

......

升級狀況頻發,加上備受關注的EIP-1884ProgPoW提案的延遲,讓許多人為以太坊後續生態發展感到擔憂。因為從一開始的設計層面來說,伊斯坦布林硬分叉是以太坊經過最初的邊境(Frontier)、家園(Homestead),到現在的大都會(Metropolis)階段走向寧靜(Serenity)階段(即以太坊2.0)前的最後一次硬分叉。

儘管近期以太坊基金會研究員Danny Ryan公開表示以太坊2.0零階段計劃將於2020年第一季度上線,但屢次升級上演的“狼來了”的故事,讓這個“計劃”看上去蒼白了不少。

同時,我們整理了近期各種開發者會議和部分研究員的公開言論後發現,且不論以太坊一貫的延遲尿性,單根據目前研發情況來看,要完全實現以太坊2.0仍然是很遙遠的事情。

“寧靜”將至?

首先,根據EthHub上的介紹,以太坊2.0是一系列可以顯著改善系統效能的研發規範(specifications),在2.0版本中暫定部署分片技術(Sharding)、Casper協議(POS共識機制)、狀態租賃(State Rent)和以太坊虛擬機器EVM的升級專案eWASM。[4]

這一版本將分階段交付,每個階段都將建立在前一個階段的基礎上:

階段0:信標鏈Beacon Chain|2020第一季度

以太坊2.0交付計劃中,首先需要實現的目標是信標鏈,信標鏈將採用權益證明機制Casper the Friendly Finality Gadget(Casper FFG)[5],實現從POW(工作量證明)到POS(股權證明)的過渡。這一階段讓驗證者能夠參與質押系統、代替礦工成為鏈的構建者,併為分片方案提供基礎。

階段0信標鏈介紹截圖  資訊來源:Github

到目前為止,Prysm、Nimbus、Lighthouse等以太坊2.0實現團隊建立了支援信標鏈階段的單一客戶端測試網。據V神透露,7個單一客戶端開發團隊在9月初已經實現了客戶端之間的互操作性(interoperability)

另外,在主網上線前,還需要一個支援多客戶端的測試網,使BETH(Beacon鏈ETH,即以太坊2.0代幣)能夠在不同賬戶間轉帳。11月9日,作為以太坊2.0的構建團隊Prysmatic Labs的成員,Danny Ryan表示,跨客戶端測試網至少還需要兩週的時間才能釋出,測試網釋出後也至少需要執行三個月。按這個時間來推算,跨客戶端測試網要在下個月能夠順利推出,才能在2020年2月、或者3月如期上線主網階段0,建立信標鏈創世區塊。

然而,由於階段0的實現與規範的制定是同時推進的[6],在互操作性實現以後,已經敲定凍結[7]的階段0規範進行了完全解凍,釋出最新的0.9.2版本[8]。規範在重新凍結前,需要在眾多的以太坊2.0客戶端中確定、實現並透過審計。而以太坊是一個龐大的開源專案,去中心化的特性讓研發規範顯得有些混亂、無組織,研究團隊間也缺乏協調。種種情況讓團隊在應對規範的變化時造成大量的時間的浪費,因此,上文中的“跨客戶端測試網如期推出”仍要打上一個問號。

階段1:分片鏈Shard Chains|時間待定

在階段1中將構建沒有虛擬機器EVM的分片,以分片鏈的方式為以太坊網路提供大規模的擴容性[9]

階段1分片鏈介紹截圖  資訊來源:EthHub

階段1的推進之路也正經歷一些推倒和重來。6月份時,階段1大部分的規範已接近完成[10]。但在10月份,V神釋出了Eth2分片鏈簡化提議[11],提議減少分片數量,以加速分片專案落地。根據這一提議,以太坊開發人員在最後一刻將分片從1024個減少到64個。目前,階段1正在做將V神提出的分片鏈簡化方案轉化為規範形式的工作[12]

此外,根據11月24日以太坊開發團隊Quilt的開發人員Will Villanueva在一個播客節目中的公開言論,階段1的規範可能會在階段0的規範完成後再敲定,但具體時間尚無法確定

階段2:狀態執行State Execution|時間待定

從本質上來說,階段2是整個系統的“執行層”,它使分片鏈從簡單的資料容器過渡到結構化狀態,並引入智慧合約,每個分片將管理一個基於eWASM虛擬機器。這一階段的重點是執行引擎(execution engine)、賬戶模型(account model)等,將開啟狀態執行(state execution)和計算(computation)。

階段2介紹截圖  資訊來源:EthHub

目前這一階段仍處於積極研發狀態,還沒有任何正式的規範[13],也沒有哪個團隊能預計何時可以促成主網釋出。不過根據unitimes的訊息,在4月7日,以太坊核心開發人員Casey Detrio在ethresear.ch上釋出了階段2的一些新的想法[14],讓千頭萬緒的階段2有了一個可能的落腳點,隨後V神釋出了階段2的首個提案[15]簡化提案[16],希望構建一個輕量級Layer1協議,然後重點關注分片鏈中的Layer2。

11月20日,Will Villanueva發表了一篇關於Eth2.0階段2進展的長文[17],詳盡闡述了執行環境(EEs)的概念及如何實現Eth2到Eth2的過渡。隨後,Will Villanueva在11月24日公開表示,目前包括其所在的Quilt團隊在內有三個團隊正在研究以太坊2.0階段2。

然而,階段2的實現並不簡單。根據Will Villanueva的文章,目前為止,雖然階段2已經有了初步的想法,近期無狀態客戶端(stateless clients)的拓展方面也有較大進展,但對於如何制定分片的基準和技術雛形以及如何在eth2的執行環境中構建智慧合約(smart contracts)等難題,目前還沒有給出明確的答案。

除外,以太坊2.0的程序中還存在許多不確定因素

首先,我們上文中提到過實現團隊之間的協作問題,以問題#358為例,35個欄位被重新命名,但Github的討論區裡並沒有收到實現者的任何反饋。這些情況導致了混亂的發生,直接導致了許多時間被白白浪費掉。

同時,開發團隊的資金問題令人擔憂根據區塊鏈軟體諮詢公司Kyokan的Matthew Slipper&Dan Tsui的報告[18],9個以太坊2.0研究團隊都表現出對開發的無限熱忱,但這份熱忱放在市場的現實上不堪一擊。由於團隊運轉資金的來源單一,一旦以太坊基金會出現資金枯竭的情況,或者主要支援這些團隊的實體(如ConsenSys或者Status)取消對他們資金的支援,那這些團隊就可能不得不暫停開發

加之最近以太坊的“後院起火”,以太坊基金會的Virgil Griffith因前往朝鮮參加了“平壤區塊鏈和加密貨幣會議”,在11月30日,被美當局指控違反美製裁法並逮捕。隨後V神澄清Virgil Griffith訪問朝鮮是個人行為,以太坊基金會未提供任何形式的支援,並準備請願書要求釋放 Virgil Griffith。這無疑將以太坊基金會與這件事進行切割,以免受到牽連。但Virgil Griffith本身是以太坊 2.0的共識機制Casper FFG的共同開發者,作為以太坊專案的重要開發人員,其對以太坊後續發展造成的影響也令人擔憂。

因此,儘管以太坊初創企業ConsenSys的創始人Joseph Lubin在開發者大會Devcon V上表示,以太坊2.0階段0將於2020年第一季度啟動,階段1和階段2將於2020年底同時推出。但實現團隊之間的協作、開發團隊的資金問題等問題,讓以太坊後續發展愈發撲朔迷離,加之階段2尚無正式規範,參照階段0規範的屢次修正調整,預計在階段0進入測試之後,階段1、階段2可能還需要至少一年多的開發時間,這也讓以太坊2.0的問世遙遙無期。

文中涉及的連結:

[1]https://github.com/ethereum/pm/issues/119

[2]https://github.com/ethereum/pm/issues/123

[3]https://blog.ethereum.org/2019/11/20/ethereum-istanbul-upgrade-announcement/

[4]https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-phases/#introduction

[5]https://vitalik.ca/files/casper_note.html

[6]https://hackernoon.com/what-to-expect-when-eths-expecting-80cb4951afcd

[7]https://github.com/ethereum/eth2.0-specs/releases/tag/v0.8.0[8]https://github.com/ethereum/eth2.0-specs/releases/tag/v0.9.2

[9]https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-phases/#what-is-included_1

[10]https://github.com/ethereum/eth2.0-specs#phase-1

[11]https://notes.ethereum.org/KbEyHiaSRQW_KS7dDK0OFw

[12]https://github.com/ethereum/eth2.0-specs/pull/1483

[13]https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-phases/#phase-2-state-execution

[14]https://github.com/ethereum/eth2.0-specs#phase-2

[15]https://ethresear.ch/t/phase-one-and-done-eth2-as-a-data-availability-engine/5269

[16]https://ethresear.ch/t/a-layer-1-minimizing-phase-2-state-execution-proposal/5397

[17]https://ethresear.ch/t/proposed-further-simplifications-abstraction-for-phase-2/5445

[18]https://docs.google.com/document/d/1PS0k9MaKPdPwEw3Uh9rq7USjq7LcSpT6ICQUXRij4YE/edit#

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;