下一次升級(柏林升級)在望,為此我們要安排一個網路升級流程。在經過幾次頭腦風暴后,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
翻譯&校對: 閔敏 & 阿劍