以太坊核心開發者會議精華 01

買賣虛擬貨幣

來源 | AllCoreDevs Update

作者 | Tim Beiko

歡迎👋🏻

歡迎閱讀 AllCoreDevs 系列第一期總結文章。

本系列文章旨在總結核心協議開發的進展,以便以太坊社羣更好地理解與消化。“AllCoreDevs 更新” 系列可以說是“核心開發者會議影片&文字記錄” 以及我的推特總結的姐妹篇。

希望我的總結可以將核心開發者們正在討論的問題分享給以太坊社羣更廣泛的人群中,因此更多人可以瞭解以太坊社羣正在發生什麼;並對其進行反饋;甚至貢獻自己的解決方案。

感謝閱讀 😁

摘要👀

➤ 柏林硬分叉已在測試網中上線:是時候在測試網上開始應用和錢包的開發了!

➤ 倫敦硬分叉在準備階段:EIP-1559 實現正在進行中,並且為了趕在 7 月或 8 月的最後期限前完成升級,升級的範圍很窄。

➤ 上海硬分叉的升級重點仍在討論中:要麼就是核心開發者們將他們的精力都集中到 eth2->eth2 合併的工作中,要麼就是當合並原型製作之後,部署那些呼聲比較高的 EIP

柏林升級

柏林升級內容已經在所有主要測試網部署,並且將在 4 月 14 日,區塊高度 12,244,000 上線主網。此次升級將提高以太坊的安全性,併為倫敦升級中的 EIP-1559 部署做好準備。如果讀者正在執行一個節點並且還沒更新客戶端版本,儘快去更新!至於客戶端更新的版本,《以太坊柏林升級公告》內有公佈。

在安全方面,訪問以太坊狀態的操作碼的 gas 費與其計算成本相比價格過低了,而 EIP-2929 可以解決該問題。利用操作碼 gas 費過低這一點,惡意參與者可以建立重複呼叫這些操作碼的區塊,而這些區塊的處理速度比普通區塊慢幾個數量級。EIP-2929 透過提供 gas 成本約 3 倍來緩解這一問題。還有客戶端方面,改進了資料庫管理。比如 Geth 客戶端的快照資料庫格式也有助於更有效地處理狀態訪問較多的區塊。

然而為了減輕 EIP-2929 對使用者的負面影響,柏林升級引進了與其配套的 EIP-2930。它允許使用者在提交交易時指定一個“訪問列表”,以使用低於 2929 規定的 gas 費。這其中 gas 費的計算方法有些複雜,但是,從高層次來看,如果客戶端提前知道交易將涉及狀態的哪一部分,他們就可以預載入,對這些訪問收取更少的 gas 費。我鼓勵大家參考這個 EIP 進行精確的計算。

對於想要體驗生成“訪問清單”功能的應用和錢包開發者,Geth 客戶端很快就會上線相關的工具了🔜 可以點選這裡檢視開發程序:

https://github.com/ethereum/go-ethereum/pull/22550 。更廣泛地說,如果你是一名應用或錢包開發者,現在是時候在測試網上測試柏林升級的內容了!

關於 EIP-1559,柏林在兩個方面提供幫助。首先,EIP-2929 解決了 EIP-1559 的最大風險:DoS 攻擊會在比現在大兩倍的區塊上進行。這是客戶端開發者們反對 EIP-1559 的首個原因,並且每次在核心開發者會議中討論 1559 時都會討論到這個問題。換句話說,如果沒有 2929,我們就不能穩妥地上線 1559。

第二,柏林透過 EIP-2718 在協議級別引進了對多種交易型別的支援。EIP-2930 引進的“訪問清單”建立功能需要一種新的交易型別,因此 EIP-2718 提供了一個全面的框架以支援多種交易型別。這意味著,在柏林中實現 2718 和 2930 允許客戶端團隊提前做架構基礎工作,為支援 1559 型別的交易做好準備。

最後,大家對柏林升級還有一個憂慮,擔心 EIP-2929 將提高 DeFi 交易的成本。然而 EIP-2930 的引進會抵消掉一部分 (並不會抵消全部)。防止這型別交易 gas 費提高的明顯解決方案就是提高區塊 gas limit。

不過,這樣做總是有好有壞:提高區塊容量會加速狀態增長,這導致節點與網路同步更加困難。另一方面,不提高區塊 gas limit 就會提高網路使用者的交易成本 (支付昂貴的 gas 費)。或許這樣是一個比較公正的折中方案:引入 2929 降低 DoS 的風險,然後緩慢地提高區塊容量,直到 2929 所提高的 gas 費被逐漸抵消。

倫敦升級

隨著柏林硬分叉即將上線主網,核心開發者現正專注於下一個網路升級:倫敦。此次升級有點特殊,由於難度炸彈將發生在 8 月份,因此倫敦升級必須在這之前部署。也就是說,在前一個升級部署之前就要開始下一個升級 (倫敦) 的開發與更新,核心開發者們還是首次遇到這樣的情況。

倫敦升級會於主網部署大家翹盼已久的 EIP-1559。如果讀者對該 EIP 比較陌生,我整理了一個資源列表,並且將過去一年的開發過程文件化。

(譯者注:ECN 歸檔了 1559 更新 的譯文)

光是這個 EIP 對以太坊帶來的改變就比柏林升級所有 EIP 加起來要大。而且實現和測試時間都比以往升級的時間短,因此核心開發者正試圖縮小倫敦升級的範圍,以便按時完成。到目前為止,倫敦升級僅包括 EIP-1559 和 EIP-3238 (提議推遲難度炸彈至 2022 年第二季度)。等到 1559 的實現與測試結束之後,核心開發者們將處於一個更主動的位置,到那時再決定還要加哪些 EIP。

上海升級

由於倫敦的升級範圍被刻意縮小了,核心開發者們已經開始對上海升級進行高層次的規劃。我們有以下兩種主要的可能性:

首先,我們可以實現那些不可能在倫敦部署的 EIP,如:

➤ EIP-3074:允許“資助交易”等

➤ EIP-2537:增加對 BLS-12381 曲線 (被信標鏈使用) 的支援

➤ EIP-2327:對 Solidity 和 Optimism 團隊有益

➤ EIP-2935:對輕客戶端和無狀態客戶端有幫助

或者,社羣越來越關注共識 (eth2) 與應用 (eth2) 層之間的合併,簡單來說就是合併™️。Eth2 規範庫裡已經收錄了“簡化合並規範”提案的 PR,並且非常接近於客戶端團隊應該能夠製作的原型。

儘管合併規範可能比較簡單,但為了能夠讓應用層的客戶端能夠將信標鏈作為它們的共識引擎,仍然有幾個工程問題需要解決。讓兩邊的客戶端開發者關注這些問題是我們發現和解決問題的方式。

客戶端團隊仍需要更好地消化這些規範,並開始構建原型,然後他們才能決定我們是否已經準備好將所有的精力都轉向合併工作上,或者在所有人參與之前是否需要一個小的工作小組來完成更多的工作。為了加速這一程序,來自應用和共識層的客戶端將在 Scaling Ethereum 駭客松期間開發最新規範的原型。

擴容以太坊駭客松活動的結束時間剛好與倫敦和 Altair 升級 (將在 6 月進行) 大部分工作完成的時間相吻合。這意味著原型應及時準備好,以便於我們做出關於上海升級的決定。🎉

以上是本期更新內容!下一期 AllCoreDevs 會議將在北京時間 4 月 2 日,星期五, 22:00 進行。下次見!

點選“閱讀原文”獲取文章內部連結!

原文連結:https://hackmd.io/@timbeiko/acd/https://hackmd.io/@timbeiko/h2US36qzO

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读