以太坊“君士坦丁堡”硬分叉重啟臨近,開發者準備同時啟用Petersberg
“如果第一次沒有成功,就再試一次。”
自從以太坊核心開發人員在程式碼部署前48小時發現網路程式碼中存在漏洞以來,他們就一直銘記著這句智慧箴言。
圖片來源: pixabay
被稱為“君士坦丁堡”(Constantinople)的網路升級將為全球市值第二大的加密貨幣引入一系列向後不相容(backward-incompatible)的更改,這一更改也被稱為硬分叉。然而,這一漏洞的發現導致了升級推遲,開發者計劃隨後在2月底再試一次。
程式碼預計在2月最後一週的某個時候啟用,具體是在7280000區塊。以太坊的核心開發人員相信“君士坦丁堡升級”這次不會失敗。以太坊基金會開發者關係處理人員Hudson Jameson向CoinDesk表示:
“我認為它會按計劃進行。區塊號已經設定好,升級已經在客戶端進行了硬編碼,所以一切進展順利。”
Jameson補充說,每一個硬分叉都會讓開發人員學到“寶貴的經驗”,他表示去年1月的硬分叉嘗試中獲得的重要經驗之一是“更好地與礦工溝通,讓他們瞭解升級情況”。
雖然程式碼中的問題不會直接影響到礦工,但是礦工和執行以太坊區塊鏈完整副本節點的其他使用者需要迅速獲得關於“君士坦丁堡”被取消的通知,以防止它們實際部署並造成可能的中斷。
智慧合約安全審計公司ChainSecurity在這方面發現了漏洞,該公司告訴CoinDesk,以太坊開發人員的部署已經相當出色。首席技術官Hubert Ritzdorf說道:
“每個人的反應速度和組織能力都給我留下了深刻的印象。很多人不得不更新,所以他們必須知道要更新什麼。在許多不同的層面上,儘管沒有中央指揮部,但很明顯,以太坊社群的合作還是非常有效。”
EIP全稱為以太坊改進提案名為(Ethereum Improvement proposal),實際上五分之四的EIP將在主網路上啟用。出於所有的技術目的,升級將分成兩部分並同時部署。
“Petersberg”誕生
在1月下旬的一次會議上,開發人員提議暫時擱置EIP,並按計劃繼續開發“君士坦丁堡”的其他方面,他們認為修復錯誤的EIP (EIP 1283)將使以啟用太坊計劃中的硬分叉延遲太長時間。
然而,考慮到包括Ropsten在內的幾個以太坊上的測試網路在發現安全漏洞之前就已經充分激活了“君士坦丁堡”,以太坊核心開發人員也同意需要第二個硬分叉安全地移除EIP。
於是,“Petersberg”誕生了。
已經在Ropsten上釋出的“Petersberg”是硬分叉的非正式名稱,它專門用於從類似以太坊的實時網路中刪除EIP 1283。本月晚些時候,原有的“君士坦丁堡”程式碼將與“Petersberg”一起在主網上啟用。ChainSecurity的營運長Matthias Egli解釋說:
“對於所有在主網上的開發人員來說,沒有真正意義上的‘君士坦丁堡’,只有‘Petersberg’……從技術上講,程式碼中有兩個條件。一種說法是,‘君士坦丁堡’在7280000區塊被啟用,‘Petersberg’也在同樣的區塊啟用,它將優先於‘君士坦丁堡’,並立即取代它。”
至於Petersberg’在主網上的釋出還需要做些什麼,Jameson表示,針對該版本的所有測試已經完成,包括Geth和Parity在內的主要軟體客戶端已經做好了在商定的區塊上進行部署的準備。
現在,正如以太坊安全人員Martin Holst Swende所強調的,以太坊的使用者應該意識到“君士坦丁堡“和“Petersberg”對以太記網路的重要影響。
新的“臨界情況”
上週四,Swende在推特上釋出了一份使用者調查問卷。他指出,在“君士坦丁堡”升級之後,以太坊上被認為幾乎不可變的智慧合約將能夠在多個交易過程中的特定條件下更改程式碼。
EIP 1014引入的新功能被稱為“Skinny CREATE2”,其旨在通過允許Ritzdorf所描述的“確定性部署”,更好地促進以太坊上的鏈下交易。Ritzdorf告訴CoinDesk:
“當你在以太坊上部署一個新的智慧合約時,它會計算該合約將被部署的地址。你事先知道這一點,但這取決於很多變數,CREATE2讓我們更容易做到在未來將一份合約部署到這個特定的地址。”
因此,Ritzdorf解釋說,智慧合約開發者可以在技術上“第二次”將合約部署到相同的地址,他同時指出:
“在‘君士坦丁堡’之後,你可以修改程式碼,因為你可以先部署到那個地址,銷燬程式碼,然後重新部署。”
Egli強調,這“不是一個安全漏洞”,而是以太坊上的開發人員在進行更改時應該警惕的“一個小問題”。他補充說,在2月份的“硬分叉計劃”之前,審計人員需要繼續對原本計劃納入EIP 1283以外的“君士坦丁堡”的其他4個EIP進行培訓。
期待“君士坦丁堡”啟動的使用者可以訪問forkmon.ethdevops.io或Ethernodes.org實時檢視啟動情況。包括挖礦雜湊率和市場價格在內的許多其他站點也可以用於實時參考。
據以太坊客戶端Parity的發行經理Afri Schoedon建立的一個硬分叉倒計時計時器顯示,“君士坦丁堡”和“Petersberg ”預計將於2月28日星期四被啟用。