以太坊柏林升級已於北京時間 4 月 15 日 18:07 ,在區塊高度 12244000 完成,作爲用戶,你需要知道哪些?

延期多時的以太坊柏林升級(Berlin Upgrade)正式上線,這是繼以太坊伊斯坦布爾和穆爾冰川升級之後的最新一次升級。因 Geth 客戶端的過於集中化的問題,本預期 2020 年 7 月上線的柏林硬分叉一路延期至今。

爲什麼是柏林?

柏林 (Berlin) 僅僅是針對此次以太坊網絡升級的一個命名。伊斯坦布爾升級之後,以太坊網絡升級均將採用舉辦 Devcon 的城市(柏林、倫敦、上海等)和順序命名。

柏林升級意味着什麼?

柏林升級意味着以太坊底層協議的一次變更。

以太坊的去中心化本質使得網絡升級成爲難題,需要社區和以太坊客戶端開發者就某些協議變更達成共識,達成共識的協議變更會被寫入各個以太坊客戶端,例如 Geth、Open Ethereum、Besu 和 Nethermind,在一個特定的區塊高度上啓動網絡升級。

此次柏林升級主要優化以太坊的主網性能,優化合約,涵蓋 Gas 效率、以太坊虛擬機 (EVM) 讀取代碼方式的更新,以及防止拒絕服務 (DDOS) 攻擊等。在部署到主網以前,此次升級會先在 Ropsten、Goerli 和 Rinkeby 測試網上運行。

關於以太坊柏林升級,你需要了解的一切

柏林升級包含哪些更新?

此次升級包括至少五個 EIP,分別是 EIP-2565 、EIP-2315 、EIP-2929 、EIP-2718 和 EIP-2930 。但在 3 月 5 日的第 107 次核心開發者會議上,全體通過把 EIP-2315 移出升級列表。

EIP-2565: 降低 ModExp 預編譯合約的成本

該提案是對此前的 EIP-198 的重定價,EIP-198 爲求模求冪運算引入了一個預編譯模塊,而 EIP-2565 降低了該模塊的 Gas 開銷,使之與執行其它操作的開銷相持平。

參考閱讀:
https://eips.ethereum.org/EIPS/eip-2565

EIP-2929: 增加狀態訪問操作碼的 GAS 消耗

該 EIP 將首次調用 SLOAD、*CALL、BALANCE、EXT* 以及 SELFDESTRUCT 時候的 Gas 消耗量(在一筆事物內)增加了約 3 倍,但這種高代價對任意地址或者存儲槽都只觸發一次。

提高這些操作的 Gas 消耗量是爲了緩解以太坊協議仍存留的 DoS 攻擊界面。此外,EIP-2929 也有助於在無狀態以太坊實現後的環境中限制見證數據的大小。

參考閱讀:
https://eips.ethereum.org/EIPS/eip-2929

EIP-2930: 可選的訪問列表

爲了緩解 EIP-2929 帶來的 Gas 消耗量增大問題,柏林升級配套引入了 EIP-2930。EIP-2930 准許用戶在提交交易時指定一個「訪問列表」讓事物指明自己計劃訪問的狀態,以使用低於 EIP- 2929 規定的 GAS 費。

參考閱讀:
https://eips.ethereum.org/EIPS/eip-2930

EIP-2718: 標準化的事務類型

該 EIP 引入了一種新的事務類型,在協議級別引進了對多種交易類型的支持,以更加便利地啓用對多種事務類型的支持。

以太坊主網上線初期,只有帶有字段 TO 和字段 Data 的一種事務類型。2016 年 11 月,以太坊網絡對事物類型的需要發生了變化,僞龍硬分叉爲了防止重放攻擊納入了 EIP-155。EIP-2718 雖然無法解決由 EIP-155 帶來的複雜性,但有效防止了引入更多的複雜性,並且也讓 EIP-1599 的實施變得更加容易。

參考閱讀:
https://eips.ethereum.org/EIPS/eip-2718
《The Berlin Upgrade Overiew》

作爲用戶,需要做什麼?

作爲以太坊用戶或 ETH 持有者,不需做任何事情,除非你的交易所或錢包服務商通知你需要額外步驟。

作爲節點運行者或礦工,需要下載以太坊客戶端的最新版本。柏林升級後,未升級的節點會留在不兼容新鏈的舊鏈上,將無法向升級後的以太坊網絡發送 ETH,並且無法操作升級後以太坊網絡中的智能合約。

下載地址:

參考閱讀:
《Ethereum Berlin Upgrade Announcement》

以太坊升級路線圖:EIP-1559 和 ETH2 合併

除了即將到來的柏林升級,以太坊 2021 還將迎來倫敦升級(預計 7 月)以及上海升級(預計 10 月)。

倫敦升級將會於主網部署社區爭議性較大的 EIP-1559。由於倫敦升級難度較大,而且實現和測試時間都比以往升級的時間短,因此核心開發者正試圖縮小倫敦升級的範圍,以便按時完成。

未進入倫敦升級的 EIP 將可能進入上海升級(可能包含 EIP-3298 或 EIP-3322)。以太坊開發者目前正就上海升級的優先級問題進行討論。其中一種選擇是,上海升級將作爲另一項功能分叉進行啓動,其中包括倫敦升級中未包含的 EIP。另一種選擇則是採用 Vitliak Buterin 的快速合併提案,將上海升級作爲 Eth1 <> Eth2 的合併。如果採用第一種,將上海升級作爲功能分叉啓動,那麼可能會在 2021 年 10 月啓動。如果是後者,則會推遲至更遠的時間啓動。

參考閱讀:
《For those who are unclear on big things happening soon in the Ethereum ecosystem》
《Proposal to prioritize The Merge after London》
《AllCoreDevs Update 001》

關於以太坊柏林升級,你需要了解的一切

參考資料:
《以太坊柏林升級有哪些變化?瞭解 4 項 EIP 提案》
《以太坊柏林升級要點速覽:首先部署到 Ropsten 測試網,主網計劃 4 月 14 日升級》