原文標題:《倫敦主網升級公告及相關代碼變更》
原文作者:Tim Beiko,Ethereum Blog
原文編譯:ETH中文站,以太坊愛好者
編者注:感謝 ETH 中文站翻譯了以太坊基金會發出的 「倫敦」 升級公告以及 Geth 客戶端團隊的版本更新聲明。需要補充的是:
1 . 原公告發佈於 7 月 15 日,而 7 月 21 日 Ropsten 測試網上出現了共識事故,因此,本文內建議的客戶端版本已經過時,運行節點的朋友應該獲得自己所用客戶端的最新版本。
2 . 以 13.5 的平均出塊時間計算,「倫敦」升級將在北京時間 8 月 5 日晚上 7 時許激活。
3 . 以太坊區塊的 Gas Limit 是出塊節點在本地設置參數博弈出來的,設置低於/高於 當前大小的值即表示支持 減小/增大 區塊,並會在自己所出的區塊中反映出來。在 EIP-1559 通過之後,Base Fee 的調整將總是以 50% 的區塊利用率爲目標,因此,如果你作爲出塊節點,你認爲合適的單塊 Gas 消耗量是 100,就應該在本地把 gas limit 設爲 200,以此類推。公告和 Geth 團隊建議的數值僅有說明意義。不論節點具體設置了什麼值,都不會因此進入另一個分叉。
譯者按:除了倫敦主網升級的公告外,ECN 還翻譯了 Geth 客戶端 v1.10.5 裏關於此次倫敦升級,不同相關行動者需要注意的代碼變更。
爲了與倫敦升級兼容,節點運營者將需要升級其運行的客戶端版本。下面列出的每個客戶端版本支持以太坊主網的倫敦升級。注意:下列版本不同於《倫敦測試網公告》中所列出的客戶端版本,測試網的客戶端版本並不支持主網倫敦升級的客戶端版本。

注意:OpenEthereum 客戶端將倫敦升級後棄用。OE 團隊正在與 Erigon 合作,爲用戶提供一個平穩的過渡路徑。更多信息點擊這裏查看。
礦工請注意:倫敦升級將改變在網絡如何處理 gas limit 目標的方式。請參閱下文中「作爲一名礦工,我需要做什麼?」的部分了解詳情。
下列 EIPs 是倫敦升級的內容:
. EIP-1559:ETH 1.0 費用市場變更
. EIP-3198:BASEFEE 操作碼
. EIP-3529:減少 gas 返還
. EIP-3541:拒絕以 0xEF 字節開頭的新地址
. EIP-3554:難度炸彈延遲至 2021 年 12 月
Ethereum Cat Herders 發佈了一篇博客文章,討論了這些 EIPs 的細節。
值得注意的是,雖然 EIP-1559 可以與當前的交易格式向後兼容,但是它引入了對區塊頭的更改,添加了新的交易類型,提供了新的 JSON RPC 端點,並在幾個方面改變了客戶端的行爲 (挖礦、交易池等等)。強烈建議各個項目熟悉這個 EIP。與 EIP-1559 相關的更廣泛的資料列表可以點擊此處查閱。
爲了讓更多人關注即將到來的倫敦升級,所有與倫敦升級相關的 bug 的獎金都會翻倍,直到升級開始。可以領取雙倍賞金的例子有以下這些客戶端之間的跨客戶端共識問題:Geth、Besu、Nethermind、OpenEthereum 和 Erigon。有關 bug 賞金範圍和限制完整詳細信息,請參閱:https://bounty.ethereum.org/#rules。
Q: 作爲以太坊的用戶或 ETH 持有者,我有什麼可以做的嗎?
如果你使用交易所 (比如 Coinbase、Kraken 或 Binance)、網頁錢包服務 (比如 Metamask、MyCrypto、或 MyEtherWallet),移動端的錢包服務 (比如 Coinbase Wallet、Status.im、或 Trust Wallet)、或硬件錢包 (比如 Ledger, Trezor, or KeepKey),你不需做任何事情,除非你的交易所或錢包服務商通知你採取額外步驟。如果你運行自己的以太坊節點,你需要升級你的節點。請看下文「作爲一個非挖礦節點,我需要做什麼?」部分。
Q: 作爲一個非挖礦節點,我需要做什麼?
下載以太坊客戶端的最新版本,已在上文表格中列出。
Q: 作爲一個礦工,我應該做什麼?
首先,下載你的以太坊客戶端最新版本。然後,你需要手動把 gas limit 目標設爲現在的兩倍。這是因爲一旦倫敦升級部署了,區塊大小會變成現在的兩倍,而 EIP-1559 會保持區塊容量大約 50% 滿。這可以在所有提供與主網兼容挖礦的客戶端上通過 JSON-RPC 來實現,無須重啓你的節點。
例如,如果倫敦升級以前你把區塊大小設爲 15m gas,你將需要把 gas limit 設爲 30m,以維持平均每個區塊的交易數量一致。如果你不在區塊 12 965 000 修改 gas limit 目標,你便會開始在網絡裏降低你的區塊大小。下表提供了每個客戶端的特定 API,你需要用它們來更新你的 gas limit 目標。

注意:Nethermind、Erigon 和 EthereumJS 目前還不支持在以太坊主網上挖礦。
Q: 如果我是一個礦工或節點運行者且不參與升級,會怎麼樣?
如果你正在使用以太坊客戶端但不升級到(上文所列的)最新版本,升級後你的客戶端同步的是分叉前的區塊鏈數據。你會停滯在一條遵循舊規則的、不兼容的鏈上,且將無法發送 ETH 或在升級後的以太坊網絡上操作。
Q: 在以太坊上網絡升級意味着什麼?
網絡升級意味着以太坊底層協議的一次變更,創建新規則來完善系統。區塊鏈系統的去中心化本質使得網絡升級變得更難。區塊鏈網絡升級的順利進行需要與社區以及各個以太坊客戶端開發者進行協作和溝通,以使過渡順利進行。
Q: 網絡升級過程會發生什麼?
當社區就哪些變更需要被納入到升級上達成共識時,這些對協議的變更會被寫入各個以太坊客戶端,例如 geth、Erigon、Besu 和 Nethermind。協議變更會在一個特定的區塊高度上啓動。任何沒有升級到新規則的節點將在舊鏈上被遺棄,而舊鏈繼續保有之前的規則。
Q: 爲什麼是「倫敦」?
在伊斯坦布爾升級後,我們定下來的網絡升級名字都用完了。有人建議我們用舉辦 Devcon 的城市命名,於是我們就用了。柏林是舉辦 Devcon 0 的城市,下一次升級的名字是舉辦 Devcon 1 的城市——倫敦。
致謝
特別感謝參與到倫敦升級的研究、計劃、實現、測試、修復、再測試、部署、壓力測試,以及以其他任何形式幫助倫敦部署的每個人
歡迎加入律動 BlockBeats 官方社群:
Telegram 訂閱群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方帳號:https://twitter.com/BlockBeatsAsia