信標鏈
上週我們發生了一個小事故,在大約一個小時的時間裡,信標鏈的參與度下降了8%左右,事件發生後,我們在Discord頻道展開了大量討論,開發者們查看了是誰丟失了區塊proposal,很快,我們就發現這次事故是因為Teku引起的。
圖:在一個小時左右的時間裡,信標鏈的網絡參與度下降了8%
你可以通過我們的事後回顧報告了解整件事的全貌。總結是,在故障發生之前的幾個小時內,存款合約中的ETH存款出現了大幅度的飆升。對ETH 1鏈狀態達成一致的機制意味著,每隔7小時左右,存款就會被分批處理至信標鏈上。而短時間內發生的大約4000筆存款,暴露了Teku客戶端在處理存款性能上的一些糟糕表現,並產生了一些令人討厭的級聯效應。
值得慶幸的是,這個問題只是暫時的,這批存款得到處理後,網絡參與就恢復了正常。此外,沒有實用的方法來重複DoS攻擊Teku客戶端:因為存入4000筆存款的代價是昂貴的!正如評論中所解釋的,我們已經修復了最初的性能問題,並深入研究了底層結構,以使Teku客戶端在未來更穩定。修復版客戶端代號為22.3.2,如果你還沒有更新,那請盡快進行更新。
由於Teku客戶端的市場份額較小(佔比不到33%),因此這次事故的影響是微乎其微的,信標鏈還是繼續前進而沒有停下腳步。倘若市場佔比最多的客戶端都受到影響,那麼後果將是一段相當長的非最終確定期。這對每個人都是不利的,尤其是那些運行主流客戶端的人,因為他們會因為inactivity leak機制(消極懲罰機制)而遭到額外的懲罰。
為了進一步強調客戶端多樣性的重要性,Dankrad 最近發表了一篇深入探討這些問題的文章。他寫道:
“如果你目前正在運行Prysm客戶端,則存在非常現實的問題,即你可能會損失所有資金,你應該考慮更換客戶端。”
更多關於客戶端多樣性的信息:
-
Freddy創建了一個財務模型,允許質押者量化與運行多數客戶端相關的風險;
-
rated.network 已經更新了他們的前端,以顯示每個質押運營商的客戶端分佈情況;
-
Vans 上週在ETH Austin討論了客戶端多樣性的問題。我試圖找到這次活動的錄音,但沒能成功,如果你有的話,請告訴我。
-
Dappnode 正在盡其所能!其現在支持了Prater 測試網上的三個客戶端,不久之後將添加Nimbus。這是早就預料到的,進行測試吧,我們很快會在主網上看到它;
其他關於信標鏈的新聞:我們即將迎來一個重大的技術里程碑。眾所周知,目前驗證器的激活和退出被限制為每個epoch 4次,即每天900次。一旦網絡擁有327680個活動驗證器,那麼這個限制將上升到每個epoch 5次,每天1125次。這聽起來可能沒什麼大不了的,但實際上它是信標鏈運營的一個重大變化。我們應該會在下週的某個時候達到這個里程碑。
合併
Kiln 測試網
以太坊基金會在3月14日發布了備受期待的Kiln 公共合併測試網公告,這是登錄頁面。
Kiln合併活動在3月15日格林威治標準時間下午3 點之後不久發生了,雖然有點不太理想,但它最終還是取得了成功。合併完成後,統一的鏈繼續運行了,交易也得到了處理。
然而,這個過程也出現了一些問題。在上一次核心開發者電話會議上,我們討論了它們,總結如下:
-
Prysm 自身與執行層之間存在一個字節序(endianness)分歧,這導致其無法生成有效區塊。由於Kiln測試網配置了相當均勻的共識客戶端,因此影響並不大。但如果客戶端分佈與今天的信標鏈情況相似,那麼這將是一個重大的問題。這裡是Prysm的事件審查。
-
Nethermind客戶端的一些節點崩潰了。
-
Erigon也出現了一些字節序問題。
通過這次測試,我們學到了一些經驗教訓。涉及的客戶端數量倍增,這使得我們比平時更難弄清楚到底發生了什麼。而且,我們現在已經習慣了區塊鏈瀏覽器不可用的情況。
現在的計劃是讓Kiln測試網繼續作為公開測試網使用,並鼓勵每個人都試一試。似乎Tenderly、Lido 和Uniswap 都已經加入了進來,如果你想確保你的東西在合併後能夠完美運行,那麼現在是時候在Kiln測試網上進行測試了。
以下是關於Kiln測試網的一些教程資源:
-
如何在Kiln測試網上運行一個節點;
-
用於Kiln測試網的Lodestar設置;
Devnet-6和影子分叉
隨著Kiln測試網的上線和運行,測試的工作只會加強。另一個短期的devnet測試網(Devnet-6)將於下週上線。
比Devnet測試網更有趣的是影子分叉(shadow forks)。這是我們獲取現有網絡的狀態並將其鏡像到合併的PoS網絡的地方。這意味著來自真實網絡的tx可以在合併發生時重放到影子網絡上。 Goerli網絡就是影子分叉網絡,並且計劃每兩週重複一次。 (由於交易順序問題,兩個網絡會逐漸失去同步,所以影子網絡需要不時地重新初始化,以達到最大的效果。)
如果devnet-6 和Goerli網絡影子分叉都進展順利,那麼我們打算在兩週內做一次以太坊主網的影子分叉。最終會有一個每天更新的影子分叉網絡,供客戶端放大任何潛在的問題。
之後,開發者們會考慮將現有測試網遷移到PoS,你可以在wenmerge.com這個網站跟踪進展(提醒一下,不要把倒計時看得太重,我們並不是由難度炸彈驅動的,也不會僅僅因為這個而匆忙行事。儘管如此,難度炸彈肯定是決策組合中的一個因素之一。)
Pandas
現在看來,為合併事件實現一個ASCII藝術banner(謝謝,Greg!)已經被很多人期待了。 Prysm和Lighthouse已經實現了,如果有任何ASCII 藝術天才想幫助Teku,我們有一個尚未解決的問題需要幫助。
合併之後的升級
合併後網絡升級的兩大主題(執行端暫定為Shanghai,共識端暫定為Capella)仍然是驗證器餘額取款,以及所謂的blob交易。
正如之前提到的,現有有了一個驗證器取款規範,它是執行更改和共識更改的保護傘。有3個EIP需要在共識方面進行討論:
-
PR-2836是推動取款的基礎,即從信標鏈提取到執行層。 (據我所知,這將要求我們這些擁有舊式BLS 提款憑證(0x00 前綴)的人在提款之前更新為0x01 憑證。我還沒有看到進行此更新的機制,儘管它存在一個未解決的問題。)
-
PR-2854 只是一個管理更新,以反映此機制不會觸發EVM 執行。它只會更新Eth1 賬戶的餘額。
-
PR-2862 提出了一種機制,用於部分提取超過32 ETH的餘額。 (這將以循環方式自動從驗證器中刮取多餘餘額,並以每個epoch 256個驗證器的速率將其轉移到相關的Eth1帳戶,根據當前數字,這相當於每個驗證器大約每6天經歷一次。關於這個頻率的基本原理你可以看這裡。)
這些更改的執行端對應的是EIP-4895,好消息是,無論是全部提款還是部分提款,從驗證器提取到你的Eth1 賬戶都不會產生gas 費用。
至於Blob 交易提案EIP-4844,它甚至已經有了屬於自己的網站(可見這個提案的重要性)。該網站列出了Vitalik撰寫的Proto-Danksharding常見問題解答,是的,proto-danksharding似乎成了這個升級的新名字。
研發和常規開發者電話會議
MEV 仍然是推動以太坊架構未來發展的重要因素。人們對當前的行駛方向存在著重大擔憂,我總是很高興看到有人提出替代方案。 Shutterized Beacon Chain就是這樣的一種替代方案,它描述了一種在以太坊區塊中處理加密交易的機制。
第84次實施者電話會議在3月24日順利舉行。
-
議程
-
視頻
-
我的速記內容
第134次核心開發者電話會議在3月18日順利舉行。
-
議程
-
視頻
-
來自Tim Beiko的筆記;
主題:Kiln測試網上線回顧;JSON RPC標記為“已完成”、“安全”以及“最新”;信標鏈提款;proto danksharding(EIP-4844);協調執行層和共識層的EIP流程。
注:原文作者是ConsenSys的開發者Ben Edgington。