合併的最新重點工作在測試,上海昇級計劃包括 EVM 升級、信標鏈提款、L2 費用減少等

原文:AllCoreDevs Update 010(AllCoreDevs Updates)

作者: Tim Beiko

編譯: EthereumCN

原用標題:以太坊核心开发者会议更新 010⛓

摘要👀

自一月份以來,發生了很多事情,以至於我一直在努力找時間把它們寫下來。以下是本次更新的重點:

  • 最新的合併測試網 Kiln 已經啟動。在上面進行的 PoS 過渡揭示了一些實現上的問題,現在所有人都把工作重心放在合併測試上🛠
  • 下一次的以太坊升級上海昇級在擬定中,計劃中有 EVM 升級、信標鏈提款、L2 費用減少等🌃
  • 以太坊執行層的可執行規范正在順利進行。下一步:協調 EL+CL 的升級過程📜
  • 協議公會,一個為客戶端開發者和研究員提供基於通證的補償倡議,現在有超過 100 個成員,並很快推出試點💰

Kiln 測試網🔥🧱

繼 Kintsugi 後,Kiln 測試網最近也啟動了了。根據在 Kintsugi 測試網上發現的臨界情況,Kiln 加入了一些變更和重命名到合併規範。儘管合併的規範現在看上去幾乎接近最終版了,在 Kiln 上運行的過渡在各個客戶端中浮現了實現上的問題。團隊現在正加倍努力進行測試,以確保所有實現都是安全和穩定的。Danny 在最新的 Finalized 更新裡談到了這點。

假設沒有發現重要的問題,Kiln 將是最後一個發布的新公共測試網。下一步,一旦我們對客戶端的實現和基礎設施/工具的準備情況感到滿意,我們將在現有的測試網 (像 Ropsten、Goerli、Sepolia 等) 進行合併。

與每次升級一樣,我們將在升級後監測測試網,以確保它們是穩定的。一旦我們確信測試網按預期運行,我們將為以太坊主網計劃過渡!

雖然我們已經很接近合併了,而且這對整個社區來說是一個非常令人興奮的時刻,但過渡能安全進行比任何目標日期更重要,是合併的頭等大事。這是迄今為止以太坊進行的最複雜的升級。我們不想出錯😁.

一旦決定了,測試網和主網升級的時間線將會在各社區宣傳渠道公佈,例如每週以太坊進展 ( This Week in Ethereum )、Eth2 進展更新 ( What's New in Eth2 )、以太坊基金會博客 ( the EF blog ) 等。目前任何聲稱是目標日期的都是錯的,因為我們還沒定這個日期。在接下來的幾個月裡,要對潛在的詐騙/虛假公告保持額外的警惕!

關於難度炸彈💣

在去年的 Arrow Glacier 升級中,難度炸彈被推遲了,預計今年六月在網絡上能感受到難度炸彈的影響。這篇貼文在追踪它的進展情況。雖然在我們需要推遲難度炸彈前實現 PoS 過渡是最好的,但有三點值得注意:

  1. 炸彈對出塊時間的影響是漸進的。這意味著一旦開始感到到它了,就將有 4 — 8 週的時間出塊會變慢,但不是急劇變慢 (大概 14 - 17 秒)。
  2. 在過去,當要推遲難度炸彈,我們會選擇推遲 6 個月左右,因為我們通常計劃在那時進行下一次的網絡升級。也就是說,關於難度炸彈要推遲多久是沒有硬性規定的。如果推遲一、兩個月比推遲 6 個月更合適,這也是完全可以的。
  3. 同樣,安全的合併>>> 快速的合併。我們希望過渡能順利進行,以太坊的穩定和安全是我們最關心的。

上海昇級🌃

如上一次更新所說的,隨著合併的規範基本接近凍結,我們已經開始了上海昇級的計劃工作。這裡是升級的規範。這次升級暫定有三項重大變更,以及一些小項。下面逐一深入說明!

EVM 對象格式⚙️

研究員和客戶端開發者多年來一直努力在不破壞現有合約的情況下改進 EVM。去年,Ipsilon 團隊想到了一個聰明的解決方案:給有特定標識符的合約提供新功能,而現有的合約按原樣執行。這現在以 EVM 對象格式 (EVM Object Format) 為人所知,簡稱 EOF。

倫敦升級裡,我們通過拒絕以 0xEF 字節開頭的新合約的部署來保留這個標識符的部分。在倫敦升級被激活前,有些以這個字節開頭的合約被部署了,但現在已經不能這樣做了,我們可以給前綴 0xEF  添加第二個字節 (被稱為 Magic Byte),得到一個我們可以保證不被任何合約使用的序列。

EIP-3540 對這個內容進行了詳細描述,並強調了該方法的第一個實際好處:代碼與數據的分離,這有利於鏈上代碼驗證。這還為引入新合約代碼部分類型鋪平道路,這有助於實現現在看來很複雜的功能,例如賬戶抽象EVM 裡的控制流以及 EIP-3074

EIP-3670 是 3540 的配套 EIP,它引入部署時 EOF 合約的代碼驗證。

信標鏈提款🏧

上海昇級的另一個主要功能是激活信標鏈提款。經過幾份提案後,我們得出了一個客戶端團隊都滿意的設計:EIP-4895: Beacon chain push withdrawals as operations (信標鏈作為系統操作的推式提款)

這個元規範概述了整個運作流程。從高層次來說,在每個 slot 裡,信標鏈都會處理一定數量的全額或部分提款。這些提款會在收據裡被追踪,這些收據包含每筆提款的數額、目標地址和唯一的索引。作為區塊創建和驗證過程的一部分,這些提款隨後會在執行層上分發出去,與今天工作量證明分發給礦工一樣。

對於在共識層上需要做出的多個變更有一個追踪問題,這個內容現在已經在 consensus-specs(共識層規範) 的倉庫裡了。部分提款的選項將允許驗證者提出他們獲得的獎勵,同時保持在鏈上有做驗證者所需的 32 個 ETH,繼續賺取獎勵。

L2 費用減少📉

我們希望納入上海昇級的最後一個大事項是減少在二層的費用。因為二層會在一層發布交易數據 (和/或證明),終端用戶的交易費用有很大一部分來自一層的數據存儲。分片為二層發布數據提供一個更便宜的替代方案,然而儘管這個提案似乎已經定下來了,完整的分片實現還沒有準備好。

同時,現在有兩個可用選項可以減少這些開銷:在主網上降低 CALLDATA  的開銷,或 “proto-sharding” 實現,這個方案會在以太坊上引入一種新的交易類型,被稱為分片 blob 交易 (Shard Blob Transactions)。

降低 CALLDATA 開銷

降低在 L2 上的交易費用的最簡單方式就是降低在 L1 上存儲數據的開銷。EIP-4488 提議這樣做,把 CALLDATA  的開銷從每字節 16 gas 下調到 3 gas。存儲開銷的減少會轉化為更低的二層費用 [1]。

儘管降低 gas 開銷本身是個簡單的變更,但它會帶來一些次級效應。首先,增加區塊裡的 CALLDATA  會導致更大的區塊容量。為了平衡這點,這個 EIP 提出在一個區塊裡需要有一個 CALLDATA  最大數量的上限。第二,即使有了這個上限,這個 EIP 也會加快執行層上歷史鏈數據的增長速率。為了解決這個問題,我們需要開發頻帶以外的數據檢索,並像 EIP-4444 提議般,在以太坊 P2P 網絡裡對歷史數據存儲的保證需要改變 [1]。

雖然歷史鏈數據的增加本來就會逐漸發生,納入這份 EIP 意味著它部署後我們需要更加迫切地處理這個問題。另外,這個 EIP 基本沒什麼內容可以在完整分片中得到重複使用。它主要是一個臨時的解決方案。也就是說,這個 EIP 是一個相對簡單的實現變更,並確實能明顯地降低 L2 的費用。

分片 blob 交易

另一個提案是 EIP-4844 [2],它使我們更靠近完整的分片部署。與信標鏈提款一樣,這個提案也有一個元規範,鏈接到共識層規範和其他資源。

從高層次來說,這個新交易類型會包含對數據 blob 的承諾,該承諾會在信標鏈廣播。這個提案可以被認為是要給 “小型分片” 提案,它不依賴於數據可用性採用,網絡的每個節點都需要驗證 blob 裡的數據。就像在完整分片裡,這些數據 blob 只保證在網絡的一定時間內可用,而不是永遠存儲。為了使節點要求還是可管理的,blob 數據被限制在 1MB/slot 而不是在完整分片裡的 16mb/slot。

EIP-4844 將為完整的分片實現奠定必要的基礎。值得注意的是,所有未來的變更都只會發生在共識層。從執行層的角度來看,分片只是啟動和運行!

一直在這個 EIP 上努力的 Optimism 團隊推出一個提供這個 EIP 概覽的網站,它匯總了各種規範鏈接,並放了社區對這個 EIP 的積極反應。


[1] 由於 L2 交易定價還涉及其他構成,這個減少不會是完整的 5 倍。Optimisim 的這篇文章對 L2 費用的構成有很好的解釋。而且,ZK rollup 不會像 Optimistic rollup 般從這個 EIP 獲益。

[2] EIP-4488 (降低 CALLDATA  開銷) 和 EIP-4844 (分片 blob 交易) 作為競爭提案,它們的 EIP 號也太相似了吧😅


小型改進✨

除了這三個大型變更,上海昇級還在考慮進行一些小型改進,即

  • EIP-3651 提議降低訪問 COINBASE  地址的 gas 開銷,修正 EIP-2929 的疏忽
  • EIP-3860 提議給 initcode  的大小設限,並引入給這個字段的 gas 計量。
  • EIP-3855 提議新增操作碼 PUSH0,把 0 推入 EVM 堆棧。

此外,還有其他幾個 EIP 被提議進行升級 (參閱這個粗略列表)。EOF、提款和減低二層費用已經使得上海成為迄今為止最大的升級之一,所以我們需要非常認真得斟酌納入內容的優先次序。

一旦我們開始實現和測試各種 EIP,我們將更加清楚我們是否有額外的能力去實現其他提案。當然,在此之前,我們仍然需要先完成合併!

以太坊執行層規範 (EELS)📜

正如你可能已經註意到了,上海的幾個提案現在同時跨執行層和共識層。在過去,在不同的層上我們使用不同程序來引入變更。

在執行層上,核心 EIP 包含變更的規範。《以太坊黃皮書》是網絡的參考規範,但往往在升級被部署了後才會更新黃皮書,有時會有更大的延遲。這意味著執行層的有效規範往往是 “黃皮書+ EIP X、Y、Z”。

在共識層上,用作參考的是一個可執行的規範,變更會直接在上面詳細說明。然後,該規範就可以用於為變更生成測試。

因此,雖然社區能很好地理解執行層的流程 (並提供一個易於參考的變更描述),從技術角度來說,這並不理想。相反,儘管共識層的流程在技術上更簡潔,但對於更廣泛的社區來說更難理解。幸運的是,在 EELS 上的工作已經開啟了:以太坊執行層的可執行規範!

在執行層和共識層上都有可執行的規範,這將使我們能夠協調兩層的變化流程。仍然有許多問題需要解決,但關於如何能最好地遷移的對話已經開始了。在 Ethereum Magicians 論壇這裡的討論是專屬這個話題的。儘管 EELS 仍然在開發中,我們可能可以在上海昇級裡用上它,與目前的流程並行。

希望執行層和共識層流程的合併會比實際的執行層和共識層合併更簡單😅。

協議公會💰

最後但並非最不重要的,我想談談協議公會 (Protocol Guild, PG),它現在已經有一個完整的解釋網站。對協議維護者的補償是最近一個熱門話題,PG 希望參與解決這個問題。充分披露:我是 PG 成員並將從中獲得資金。

你可以把補償想成有三類:基本工資、激勵和潛在的上升空間。目前,客戶端開發者和研究員的基本工資是他們各自的雇主解決的。儘管他們有些會以股權形式提供激勵,但以太坊基金會去年公佈了其 39,000 個 ETH 的客戶端激勵計劃,以確保所有客戶端團隊在以太坊上都有重大利益。

PG 與基本工資和激勵計劃不同,因為它旨在使其成員可以出現在基於 ETH 的各種項目通證上,而不是 ETH 本身。公會由協議工程師、研究員和很多協調協議工作的人組成,例如我自己。現在大概有 100 名成員。

簡單來說,公會允許贊助者捐贈代幣,然後隨著時間推移,代幣會給到接受者。接收者集是可以更新的,這使得新的貢獻者可以定期被加進來,而已經覺得厭倦的人也可以定期被移除。

這個公會是一個早期實驗,但如果成功了,可以成為對像 Gitcoin 和追溯性公共產品資助這種專注於底層的倡議的補充。

Gitcoin grant 的成功後,PG 的下一步是測試智能合約架構。與此同時,將開始尋找初始捐贈者。我們的計劃是用有限的捐款運行 PG 一年,以確保技術和治理部分都順利進行。希望這個試點都能證明我們可以在以太坊上創建新的機制來協調公共產品和資金!

後續工作✅

我們的首要任務還是合併,並重新把重點放在測試上。在接下來的一個月裡,我們希望能最終敲定實行,運行多個短期的開發者測試網,並從應用、基礎設施和工具提供商收集反饋。其他事情 (上海昇級、執行層規範、協議公會) 也應該在同時繼續推進。

請期待一兩個月後的更新,同時,我們也將有機會在 Devconnect 上面對面討論所有這些問題——阿姆斯特丹見👋🏻!

ECN 的翻譯工作旨在為中國以太坊社區傳遞優質資訊和學習資源,文章版權歸原作者所有,轉載須註明原文出處以及 ethereum.cn,若需長期轉載,請聯繫 eth@ecn.co 進行授權。

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。