下一次升級(柏林昇級)在望,為此我們要安排一個網絡升級流程。在經過幾次頭腦風暴後,EIPIP 團隊就如何改進網絡升級流程提出了幾點建議。我希望這篇文章所分享的信息能夠對EIP 作者乃至整個社區都有用。讓我們來了解一下新流程是怎麼樣的,以及為什麼要調整自以太坊區塊鏈誕生以來就沿用至今的網絡升級流程。
什麼是網絡升級?
網絡升級是將新功能添加到以太坊協議上的方式。通常來說,這些升級功能旨在為網絡帶來可擴展性、更好的用戶體驗和更高的安全性。每個新功能在EIP(以太坊改進提議)中都有詳細描述。當網絡中的所有節點都同意激活新功能時,就會在特定區塊高度發生網絡升級。由於以太坊是去中心化的,而且沒人可以強迫其他人升級節點,如果網絡中的部分參與者決定不激活升級程序,就會停止與已激活升級程序的節點通信,導致網絡中出現分叉。
為什麼要改變網絡升級流程?
過去,網絡升級流程都與EIP 標準化流程相互關聯。核心EIP 要與標準化流程一起部署在主網上。
-舊版網絡升級流程-
共識衝突
以太坊是一個開源社區項目。若想將核心提議部署到主網上,必須先獲得社區和核心客戶端(以太坊節點)的同意。一旦以太坊核心客戶端開發者和社區都接受了某個EIP,這個EIP 將包括到下一次網絡升級中。
當以太坊開發者在準備伊斯坦布爾升級時,社區在EIP 1057(可編程工作量證明ProgPow)上沒有達成共識。這個提議得到了部分人的支持,但是也遭到了很多人的強烈反對。最終,以太坊客戶端之間未能達成共識。
雖然這個提議沒有納入網絡升級,但它確實通過了EIP 標準化流程。這就凸顯了將EIP 標準化和網絡升級流程分離的重要性。
核心EIP數量劇增
早期,網絡升級流程運行良好,總的EIP 數量也相對較少。過去幾年來,由於以太坊區塊鏈的貢獻者人數劇增,關於如何改進網絡的EIP 數量也成倍增長。這就增加了複雜性,也在如何針對網絡升級EIP 設計一個正式流程的問題上引發了討論。
透明度
隨著以太坊區塊鏈的採用率提高,很多貢獻者聯合起來提交關於網絡升級的EIP 來強化以太坊網絡。每個客戶端都要付出極大的努力來實現EIP 中所提議的改進。考慮到實現每個EIP 需要耗費的工時,並非所有EIP 都可以納入下一次升級。不了解流程可能會引起混亂。因此,我們必須更新文檔來增加升級流程的透明度。
新版網絡升級流程
-新版網絡升級流程-
現行網絡升級流程是EIPIP 團隊 經過多次頭腦風暴並與以太坊開發者和整個社區不斷交流後得出的結果。
現行網絡升級流程已經正式與EIP 標準化流程分離。但是,上圖也包括了不同階段的EIP 推薦狀態。 EIP 流程大致分為三個階段,以顯示EIP 在下一次升級前的狀態。
考慮納入
考慮納入(Consider for Inclusion,CFI)指的是一個提議有望納入下一次網絡升級的第一階段。有人建議讓提議的作者或支持者在Eth1.0 規範庫中創建一個議題,以便進行官宣。
Devnet 階段
在這一階段,客戶端開發者會對提議進行討論,並達成共識來推進Devnet(開發者測試網)的實現。這是專為客戶端開發者而設計的,其它社區成員也可以使用。但是,該測試網有可能沒有預先通知就會關閉,因此不建議用來測試dApp。當前的Devnet 是YOLO 測試網。現行版本是YOLO 2.0,包含了有望引入下一次網絡升級的提議。
獲得CFI 批准:這個bucket 中包含了獲得客戶端大致共識的EIP。在符合規則的PR 提交後,核心開發者會予以考慮。客戶端可能會在方便的時候開始獨立實現這些提議。 CI devnet 等候室:獲得部分(並非全部)客戶端明確批准的EIP,或者等待集成的某些工作會暫時放在CI devent 等候室內。這部分還有可能包括其它類型的提議,但是因為某些原因,暫不考慮放到下一個CI devnet 版本中。在CI devnet 上部署:這裡列出了目前部署在devnet 上的EIP。最新版本的devnet(所包含的內容)或將通過下一次升級實現。
主網階段
測試綠燈:這裡列出了適合在公共測試網上的部署的EIP,截至最新的以太坊核心開發者會議。公共測試網:與早期網絡升級流程類似。所有獲得核心客戶端開發者同意並在devnet 上實現和測試的EIP 現在都部署在公共(PoW)測試網上。如果在測試網上運行的幾週內,沒有發現任何重大問題,就可以部署到主網上。主網:以太坊核心開發者會設定一個區塊號,並預估這些提議最終在以太坊主網上激活的日期。
在主網激活後,則表示整個網絡升級流程完成。雖然網絡升級促進團隊正在準備下一次升級。
網絡升級流程追踪器
在缺乏良好溝通的情況下,在大型去中心化網絡上管理升級會是一項巨大挑戰。我們可以通過網絡升級流程追踪器來快速查閱正在考慮中的EIP,並通過Eth1.0 規範庫來追踪客戶端的進程。
關於網絡升級流程的討論從一年前就開始了。第一版關於硬分叉的EIP 流程獲得了EIP 作者以及社區的好評。這個流程也在核心開發者會議上討論過,但是因為迫切的需求而擱置。儘管如此,經過改進,我們現在有了一版更好的網絡升級流程。
歡迎來Fellowship of Ethereum Magician 分享你關於當前以太坊網絡升級流程的意見和建議。
感謝James Hancock、Hudson Jameson、Micah Zoltu 和Tim Beiko 的改進建議。
(完)
原文鏈接:
https://medium.com/ethereum-cat-herders/shedding-light-on-the-ethereum-network-upgrade-process-4c6186ed442c
作者: Pooja Ranjan 翻譯&校對: 閔敏 & 阿劍