ConsenSys開發者:以太坊合併的Plan A和Plan B

鏈新聞圖片
鏈新聞圖片

「圖:鏈新聞提供」

本週你絕對應該閱讀一下這個,Tim Beiko 帶來了 AllCoreDevs 更新011,這篇文章全面地告訴了我們以太坊在通往合併的道路上還剩下些什麼。

本文經授權轉載自元宇宙之道,原文請見。

那問題來了,什麼時候合併?

這是很多人現在唯一感興趣的問題,而官方的回答是「當它準備好時」,這是事實,但這種回答沒有什麼幫助。所以,讓我們把它拆解開來。

這涉及到兩個有些獨立的部分,而它們使得預測不那麼直接。第一個部分是簡單的,即客戶端對合併的準備情況,而第二個部分是以太坊的難度炸彈。

什麼是以太坊的難度炸彈?

難度炸彈(有時被稱為冰川期)是以太坊早期就存在的一種機制,它的功能是在達到一定的區塊高度之後,開始以指數方式增加工作量證明(PoW)區塊挖礦的難度,這反過來會增加區塊之間的間隔時間。目前有一個 Dune 儀表板‌顯示出塊生產率如何隨著難度炸彈生效而迅速下降,然後我們可通過硬分叉重置它進行恢復。

難度炸彈的想法是雙重的,首先它為開發者提供了一個強制功能,拆除或延遲難度炸彈需要通過硬分叉,我們的想法是,如果我們要通過硬分叉做到這一點,那麼我們將利用這個機會進行協議升級。

特別是在早期,難度炸彈的目的是鼓勵迅速轉向權益證明(PoS)共識機制。在我看來,它在這方面幾乎是失敗了,證據是(a)我們仍然沒有成功轉向PoS,並且至少已經推遲了5 次難度炸彈,以及(b)Arrow Glacier 和 Muir Glacier 這兩次硬分叉都只推遲了難度炸彈,而沒有做任何其他事情,它的主要影響只是使計劃變得複雜化。

而難度炸彈的第二個更現實的目的,是阻止礦工在PoS 激活後繼續參與PoW 挖礦。礦工需要自己拆除難度炸彈,這並不難(只需要一行代碼),但難度炸彈的存在有效地迫使礦工們在合併後維護自己的ETH1 客戶端分支。

不管怎麼說,重點是,難度炸彈的當前迭代將很快變得引人注目。

計劃A 和計劃 B

理想的路徑(計劃A),是在難度炸彈成為大問題之前進行合併。而備用選項(計劃B)是進行另一次僅延遲炸彈的硬分叉,以再獲得幾個月的時間來為合併做好準備。

所以,這是一場比賽,計劃A 是最優的,但這取決於在難度炸彈破壞以太坊之前,所有東西都已完全準備就緒。但我們不知道具體時間,因為時間會受到整體算力的影響,而且我們還不確切知道客戶端的合併準備狀態。

最重要的是,我們希望在5 月底之前對這兩件事有更清晰的認識。到那時(或在那之後的幾週內),我們將不得不決定是去爭取它,還是用硬分叉這種Plan B 推遲難度炸彈。我們不能讓決策制定太久,因為如果需要,組織一次拆除難度炸彈的硬分叉也會需要幾週的時間。

截至目前,測試合併的進展似乎是順利的(見下文),最新的分析表明‌,到8 月中/下旬,難度炸彈才會成為以太坊的一個嚴重問題,屆時平均出塊時間可能會上升到20 秒。

如果我是一個賭徒,我會下註一些USDC 賭8 月份合併,而不會推遲難度炸彈。但這絕不是財務建議,如果你丟了襯衫,也不要向我哭訴。

Tim Beiko 給出了他自己對合併時間線‌的看法(我認為這與上述討論的,沒有實質性的不同)。

你可以加入 EF 郵件列表‌以獲取更新。

測試合併

請參閱Tim 的 ACD 更新‌,以獲得對 #TestingTheMerge 的概述。你可以在此處‌找到每週合併測試電話會議的筆記。

在我們了解開發人員正在做什麼來測試合併之前,我想強調一點,如果你在以太坊上運行任何基礎設施,你也需要參與到合併到測試中。這是確保我們做這件事時,你的項目不會壞的唯一真正方法。為此,我的同事Sajida 整理了一份合併測試排行榜‌,來跟踪哪些人在進行測試。

主網影子分叉

自從我上次撰寫合併測試的話題以來,我們已經完成了3 次主網影子分叉,其中有一次是在阿姆斯特丹進行的。

主網影子分叉是對合併機制以及客戶端準備情況的一種出色測試。它們或多或少等同於主網進行合併(儘管目前以太坊基金會和開發團隊控制著所有驗證器,這使得影子分叉要稍微容易一些)。影子分叉太酷了,我不會詳細介紹所有的細節,但總的來說,截至目前,這些測試都取得了巨大的成功。

1、第一次主網影子分叉發生在4 月11 日,以下是來自Pari 的總結:

Marius 宣布這次影子分叉取得了巨大的成功,測試過程中在Geth 客戶端中發現了一個與gas 限制有關的配置問題,但問題不是很嚴重,不同的客戶端存在著各種各樣的問題,但這些問題都被發現,並解決掉了。

2、第二次主網影子分叉發生在4 月23 日的Devconnect 大會期間,以下是來自Pari 的總結:

這是首次每個客戶端都在合併過程中倖存下來,並在之後設法保持同步的影子分叉,我們在這裡取得了真正的進展!

3、第三次主網影子分叉發生在5 月5 日,這次測試也非常順利地通過了。

更多的信息,你可以在開發者電話會議記錄中找到。

其中包括一些關於合併同步的新測試,這些測試發現了一些問題,但它們絕對是可以修復的。

此外,Goerli 測試網也進行了4 次影子分叉。

最重要的是,我們計劃在6 月份合併三個現有的以太坊測試網:Ropsten、Sepolia 和Goerli。

信標鏈里程碑

截至目前,有超過10% 的ETH 被質押在Eth2 存款合約當中。hildobby.eth 組裝了一個很好的存款儀表板‌,它可以顯示質押存款的狀態和歷史。活躍驗證器的數量目前接近了37 萬,並且增長速度比以往任何時候都要更快。

此外,客戶端多樣性方面,我們也有了一些好消息,Prysm 的市場佔有率現在不到50%,這對於整個信標鏈來說是一個更健康的狀態。在前幾個月,Prysm 的市場佔有率超過了68%,這是非常不穩定的情況。似乎寫一些警告文章真的有用,但說真的,要對那些不顧一切、投入時間和精力做出改變的個人和機構致以敬意,因為有你們,以太坊才變得更強大、更安全。

當然,這場戰鬥還沒有結束。下一個要改進的是執行客戶端的多樣性,這甚至要比之前的共識客戶端的多樣性還要糟糕。

質押

ethereum.org 的質押頁面已經完全改版了,非常漂亮。

而Lido 最近受到了一些審查,Lido 作為一個在質押市場佔有率達到30% 以上的工具,這種做法是完全正確的。這似乎引發了一連串的透明度。Lido 的下一章是我在3 月初要求的更新的去中心化路線圖。除此之外,他們還分享了Lido 的運營商策略。Superphiz 對這一切都有一些想法。

同樣來自Lido,他們發表了一篇題為《Modeling The Entry Queue Post-Merge‌》的文章,分析了在驗證者激活隊列非常長的情況下,合併可能如何影響Lido 的社會化獎勵模型。

至於Rocket Pool,Bits Be Trippin 在接受Darren Langley 的採訪時,對Rocket Pool 進行了概述。Rocket Pool 宣佈在其最新測試版中支持Besu 和Nethermind 作為Eth1 客戶端。耶,客戶端多樣性!

推薦科普文章

1、開發者一直在做的影子分叉是什麼?Yash Kamal Chaturvedi 的文章‌解釋了一些。

2、ConsenSys 已經建立了一個不錯的合併知識庫,最近有幾篇文章是值得你花時間閱讀的:

(1)合併的四大支柱‌;

(2)關於PoS,Tim Beiko、Matt Nelson 和Chris Anatalio 的採訪摘錄視頻播放列表‌,請留意週一對Justin Drake 的後續採訪。

3、這是給API 書呆子的一篇文章:Teku 團隊的Adrian Sutton 撰寫了團隊圍繞 JSON 類型定義‌所做的工作。客戶端開發的很大一部分工作量就是這樣的幕後繁重工作。都是好東西。

4、來自Adrian 的文章,主題是從公共信標鏈節點竊取納入費用‌,對於那些運行驗證器的人來說,這是一個警示故事,他們可能希望在執行客戶端合併後依賴第三方服務。是時候啟動並運行自己的執行客戶端了。

5、這是Alex Stokes 在PEEPanEIP 會議上談論的提款話題‌,Alex 是一個很棒的解釋者。

6、bartek.eth 有一個關於 KZG 承諾‌的非常好的帖子,我在Devconnect 上就KZG 承諾話題做了一個簡短的演講(僅有幻燈片,尚未找到視頻)。由於各種原因,多項式似乎將成為未來首選的數據結構,所以現在是掌握所有這些東西的好時機。

7、今天的熱門新聞是Joanne Fuller 關於以太坊2 協議的形式驗證的文章《Fixing the Array-Out-of-Bound Runtime Error‌》,我有時覺得我的同事在協議上所做的形式驗證工作被低估了,正如Joanne 解釋的那樣,FV 是一個非常強大的工具,像這樣驗證協議是非常令人欣慰的。

8、我終於完成了關於Eth2 協議中的隨機性的章節,結果要比我預期的要有趣得多,但最終花費的時間比我計劃的要長得多。概率太難了!不知道我接下來會去挑戰什麼,也許會是委員會。在我開始向上移動之前,我還想完成一些低level 的主題。

原文連結