原文標(biāo)題:Ethereum All Core Developers Consensus Call #138 Writeup作者:Christine Kim編譯:Ladyfinger,BlockBeats編者按:以太坊所有核心開發(fā)者共識電話(ACDC)每兩周舉行一次,主要討論和協(xié)調(diào)對以太坊共識層(CL)的更改。本次為 ACDC 第 138 次電話會議,本次會議涵蓋了 Pectra Devnet 1 的啟動、信標(biāo)區(qū)塊體和引擎 API 結(jié)構(gòu)的變更、將穩(wěn)定容器以太坊改進(jìn)提案(EIPs)納入 Pectra,即 EIP 7688 和 EIP 7495 以及 PeerDAS 的更新等多個議題。會議期間,開發(fā)者們審議了 Pectra 升級的準(zhǔn)備情況,并探討了關(guān)于 PeerDAS 實現(xiàn)的一些未解問題和提案。此外,Nimbus 開發(fā)者 Etan Kissling 還分享了 EIP 7688 和 EIP 7495 的實施工作進(jìn)展,強(qiáng)調(diào)了這些提案對以太坊數(shù)據(jù)序列化方法升級的重要性。Galaxy Digital 研究副總裁 Christine Kim 對本次會議要點做了詳細(xì)記錄,BlockBeats 將原文編譯如下:
2024 年 7 月 25 日,以太坊開發(fā)者通過 Zoom 舉行了第 138 次全核心開發(fā)者共識( ACDC )會議。 ACDC 會議是每兩周舉行一次的會議系列,開發(fā)者們在這些會議上討論并協(xié)調(diào)對以太坊共識層( CL ),也稱為信標(biāo)鏈的變更。本周的會議由以太坊基金會( EF )研究員 Alex Stokes 主持。開發(fā)者們討論了以下內(nèi)容:
· Pectra Devnet 1 的啟動
· 信標(biāo)區(qū)塊體和引擎 API 結(jié)構(gòu)的變更
· 將穩(wěn)定容器以太坊改進(jìn)提案( EIP s )納入 Pectra ,即 EIP 7688 和 EIP 7495
· PeerDAS 的更新及其在主網(wǎng)上的實施時間表
Pectra Devnet 1 Pectra
Devnet 1 于 7 月 23 日星期二上線。然而,網(wǎng)絡(luò)并不穩(wěn)定。以太坊基金會開發(fā)運維工程師 Parithosh Jayanthi 表示, Erigon 客戶端在 devnet 啟動后不久遇到了問題。接著,一個在 devnet 上廣播的 EIP 7702 交易導(dǎo)致網(wǎng)絡(luò)分裂成三個狀態(tài)。開發(fā)者們正在調(diào)試客戶端并解決鏈分裂問題。
引入 ExecutionPayloadEnvelope
Prysm 開發(fā)者 Potuz 提出了對信標(biāo)鏈區(qū)塊執(zhí)行負(fù)載結(jié)構(gòu)的重大改進(jìn),以及對引擎 API 的相應(yīng)調(diào)整。這一提議旨在簡化共識層( CL )客戶端存儲和處理狀態(tài)轉(zhuǎn)換數(shù)據(jù)的過程。隨著 Pectra 升級的實施, CL 客戶端需要訪問執(zhí)行負(fù)載的特定部分來正確執(zhí)行狀態(tài)轉(zhuǎn)換。然而,現(xiàn)有設(shè)計導(dǎo)致這些客戶端忽略了執(zhí)行負(fù)載中的一些非必要信息。
Pectra 升級將要求 CL 客戶端要么從執(zhí)行層( EL )請求必要的狀態(tài)轉(zhuǎn)換數(shù)據(jù),要么在本地存儲區(qū)塊的關(guān)鍵部分。為了提高 Pectra 升級后 CL 客戶端的效率, Potuz 建議引入名為「 binded _ execution _ payload _ envelope 」的新結(jié)構(gòu),集中存儲執(zhí)行狀態(tài)轉(zhuǎn)換所需的關(guān)鍵信息。這樣的改進(jìn)將顯著提升 CL 客戶端在計算狀態(tài)轉(zhuǎn)換時的速度和效率。他還強(qiáng)調(diào),這些調(diào)整將確保與未來的網(wǎng)絡(luò)升級,如簡單序列化( SSZ )格式的兼容性。
Lighthouse 項目的開發(fā)者 Mark Mackey 提出警告,如果不實施這些變更, CL 客戶端在 Pectra 測試網(wǎng)的性能可能會受到影響。 Teku 項目的開發(fā)者 Mikhail Kalinin 對此表示謹(jǐn)慎,他質(zhì)疑是否真有必要通過改變協(xié)議來解決 Pectra 中 EIPs 實現(xiàn)的復(fù)雜性。 Potuz 則堅持認(rèn)為,現(xiàn)有的協(xié)議設(shè)計存在根本性問題,需要修正。他指出:「目前的設(shè)計在理念上就存在缺陷,它將對 CL 狀態(tài)轉(zhuǎn)換至關(guān)重要的數(shù)據(jù)與完全無關(guān)的數(shù)據(jù)混合在同一級別、同一消息中。因此,我認(rèn)為當(dāng)前的設(shè)計是錯誤的,我們正在努力糾正這一錯誤?!?/p>
Stokes 鼓勵開發(fā)者在GitHub上繼續(xù)討論這個提議。
Devnet 2 的引擎 API 更新
與上述討論相關(guān), Geth 開發(fā)者「 Lightclient 」提出了對引擎 API 的另一個變更。這個變更旨在使 EL 客戶端更容易進(jìn)行區(qū)塊轉(zhuǎn)換。 EL 客戶端通過解釋區(qū)塊中的空字段和空字段來確定區(qū)塊版本。然而,由于 Prague 的 EIP 7685,如果沒有分叉時間表, EL 客戶端將無法根據(jù)這些字段區(qū)分區(qū)塊版本。為了避免引用過去升級的時間表的開銷, Lightclient 提議將所有請求統(tǒng)一為引擎 API 中的單一類型, EL 可以將其傳遞給 CL 進(jìn)行解釋。
Lightclient 指出,區(qū)塊的解釋在 EL 和 CL 之間有所不同,而在這種情況下, CL 更適合表示請求數(shù)據(jù)?!府?dāng)我們處理區(qū)塊本身時,區(qū)塊沒有概念,『這是 Bellatrix 區(qū)塊?!?,就像在 CL 上一樣。我認(rèn)為你們在區(qū)分不同類型的分叉區(qū)塊方面做得很好。但在 EL 上,我認(rèn)為這就是幾乎所有客戶端實現(xiàn)的方式,我們有一個區(qū)塊代表所有區(qū)塊類型,我們使用存在的,比如一個值的空值,來確定那個 [分叉] 是否活躍。」
Nimbus 開發(fā)者「 Dustin 」反對這個提議,說 Lightclient 的提議并沒有充分解決 EL 和 CL 上區(qū)塊解釋的復(fù)雜性。「這只是將復(fù)雜性和混亂從 EL 轉(zhuǎn)移到 CL ,而且兩個地方都是可行的。將其移到 CL 并沒有解決問題?!皇且苿恿藛栴},」 Dustin 說。
Stokes 斷言,CL 更適合處理請求的解釋,并建議開發(fā)者更仔細(xì)地查看 Potuz 和 Lightclient 在GitHub上提出的引擎 API 變更。
Pectra 中的 EIP 7688 和 7495
Nimbus 開發(fā)者 Etan Kissling 一直在推動以太坊序列化方法更新為 SSZ 。為了 Pectra 的目的,他確定了兩個中間 EIPs ,7688 和 7495,以引入智能合約開發(fā)者可以依賴的數(shù)據(jù)結(jié)構(gòu),以與未來的 SSZ 相關(guān)變更兼容。 Kissling 指出,他已經(jīng)得到了像 Rocketpool 這樣的流動質(zhì)押池的支持,以及 Teku 和 Lodestar 等其他客戶端團(tuán)隊的支持。
Stokes 警告 CL 客戶端團(tuán)隊不要在 Pectra 中添加新的 EIPs ?!?Pectra 已經(jīng)非常大了,特別是如果我們最終在分叉中有了 PeerDAS 。在某個時候,我們需要非?,F(xiàn)實地看待分叉的大小以及它所帶來的風(fēng)險。再說一次,我同意 Etan 給出的這個功能在真空中是有價值的理由,但我認(rèn)為這是我們做過的最大的硬分叉之一,或者就是最大的,這不應(yīng)該被輕視,」他說。
開發(fā)者們對這些 EIP 何時可以實際添加到 Pectra devnet 提出了一些擔(dān)憂,因為 Pectra devnet s 尚未納入許多 EIP ,如 PeerDAS 和 EOF 。對此, Jayanthi 建議首先明確決定開發(fā)者是否應(yīng)該在升級中包括這些 EIP 。 Jayanthi 還警告說,在測試 CL 和 EL EIP 一起在一個 devnet 上時存在瓶頸。他在 Zoom 聊天中寫道:「10 個直接的 EIP 一起發(fā)貨,會使得分叉在組合中測試變得非常復(fù)雜。而我們不僅有直接的 EIP ?!?/p>
Mackey 分享說,像 EigenLayer 團(tuán)隊這樣的應(yīng)用開發(fā)者正在試圖弄清楚 Pectra 中計劃激活的內(nèi)容,以及這些兩個 EIP 的持續(xù)缺乏清晰度是他們工作的障礙。 Lighthouse 開發(fā)者 Sean Anderson 建議從以太坊上的應(yīng)用開發(fā)者那里獲取更多關(guān)于這些 EIP 的意見,以確定它們對應(yīng)用程序有多關(guān)鍵。
Stokes 建議稍后再重訪這個討論,以便開發(fā)者集中精力解決 Pectra Devnet 1 的問題。
PeerDAS 更新
開發(fā)者們就 PeerDAS 的最新進(jìn)展進(jìn)行了深入討論。 Anderson 報告稱,共識層( CL )客戶端團(tuán)隊正在積極修復(fù)在上一輪 PeerDAS 的 devne 中發(fā)現(xiàn)的問題,并在啟動新的 devne t 之前確保實現(xiàn)的穩(wěn)定性。 Lodestar 和 EthereumJS 的開發(fā)者 Gajinder Singh 表示,根據(jù)最近一次 PeerDAS 實現(xiàn)者會議的反饋,社區(qū)有意向在下一個 Pectra devne t 中集成 PeerDAS 。
Stokes 提出,根據(jù)與以太坊基金會( EF )研究團(tuán)隊及其他開發(fā)者的討論,初步在主網(wǎng)上激活 PeerDAS 時可能需要省略抽樣功能,以降低實現(xiàn)的復(fù)雜性。他闡釋說, PeerDAS 的完整實現(xiàn)涉及分發(fā)、抽樣和重建三個關(guān)鍵功能?!改壳埃?PeerDAS 在 Pectra 中的規(guī)范涵蓋了這三個任務(wù)。我的直覺告訴我,抽樣功能可能是實現(xiàn)過程中最大的復(fù)雜點。如果抽樣確實帶來了難以克服的挑戰(zhàn),我們可以考慮在 Pectra 中增加 blob 的數(shù)量,同時減少或調(diào)整 PeerDAS 的范圍,」 Stokes 解釋道。
Stokes 承諾,他將就此想法制定一個正式的提議,并與開發(fā)者社區(qū)進(jìn)一步探討。 Singh 對此表示支持。 Stokes 還建議在 Pectra 升級中正式納入 PeerDAS 。對此, Jayanthi 詢問這是否意味著要在 Pectra 規(guī)范的基礎(chǔ)上重新定義 PeerDAS 規(guī)范,并指出合并 PeerDAS 和 Pectra devnets 可能會因兩者都不穩(wěn)定而使調(diào)試工作復(fù)雜化。他建議在規(guī)范穩(wěn)定之前,應(yīng)保持兩個工作流程的獨立性。 Teku 的開發(fā)者 Enrico Del Fante 也贊同 Jayanthi 的看法。
Stokes 注意到,許多專注于 PeerDAS 實現(xiàn)的開發(fā)者未能參加此次會議。他提議在下一次 PeerDAS 實現(xiàn)者會議上繼續(xù)探討 PeerDAS 的未來步驟。
添加 BeaconBlocksByRange V3
Lighthouse 項目的開發(fā)者「 Dapplion 」提出了一項改進(jìn)方案,旨在幫助客戶端在發(fā)生長時間鏈分裂的情況下,能夠更有效地同步至主鏈。他指出,現(xiàn)有的 [ BeaconBlocksByRange V2 ] RPC 協(xié)議存在一定的局限性:「當(dāng)你需要同步一個長分叉的區(qū)塊,而不確定哪個分支是主鏈時,按照當(dāng)前的協(xié)議,你只需提交一個插槽范圍,節(jié)點便會返回它認(rèn)為正確的區(qū)塊。盡管你可以通過狀態(tài)消息查詢這些信息,但這一過程存在異步性,可能會引發(fā)一些問題。雖然目前主網(wǎng)上尚未出現(xiàn)嚴(yán)重的分叉情況,但如果未來發(fā)生類似事件,這將是一個需要解決的問題。」
Dapplion 進(jìn)一步說明,他提出的解決方案相對簡單,甚至有可能被納入即將到來的 Pectra 升級中。盡管這些改進(jìn)并非迫在眉睫,Stokes 還是鼓勵與會的開發(fā)者們仔細(xì)審查這一提議,并在GitHub上分享他們的看法和建議。