ETH2 Staking 指南 :客戶端多樣性為何如此重要

買賣虛擬貨幣

作者 |Carl Beekhuizen

翻譯&校對 | 閔敏&阿劍

來源 | 以太坊愛好者

免責宣告:本文沒有貶低任何一個客戶端。每個客戶端,甚至是規範,可能都存在不足和漏洞。ETH 2.0 是一個複雜的協議,實現這個協議的人也都是肉體凡胎。本文旨在強調如何以及為何要降低風險。

隨著 Medalla 測試網上線,官方團隊鼓勵人們對不同的客戶端進行實驗。從創世的那一刻起,這麼做的重要性便凸顯出來:Nimbus 和 Lodestar 節點因無法處理測試網的負載量而卡住[0][1]。結果,Medalla 在上線半個小時內無法敲定區塊。

在北京時間 8 月 15 日,由於 Prysm 客戶端用來作為參照的時鐘伺服器突然出現偏差,Prysm 節點的時鐘提前了 4 小時。因此,這些節點一直在為超前的 slot 建立區塊和見證訊息。等這些節點的時鐘恢復正常後,那些禁用了預設罰沒保護機制的驗證者發現自己遭到了罰沒。

若想了解更詳細的情況,我強烈推薦你閱讀 Raul Jordan 的《ETH2 Medalla 測試網事故》一文(編者注:見文末超連結)。

時鐘故障——情況惡化

出現時鐘偏差時,Prysm 節點佔全網節點的 62% 左右。這就意味著,網路無法達到敲定區塊所需的最低參與率(> 2/3)。更糟糕的是,這些節點找不到它們所預期的區塊鏈頂端(歷史記錄中有長達 4 小時的 “空白”,而且所有 Prysm 節點的時鐘之間都存在細微偏差),因此這些節點都在猜測 “缺失” 資料,建立了很多短的分叉鏈,造成網路擁堵。

-目前,在 Medalla 測試網的所有節點中,Prysm 節點佔比高達 82% 😳!(ethernodes.org)-

這時,網路上充斥著成千上萬個關於區塊鏈頂端的猜測,而且還在不斷增加之中,為了辨別哪個分叉是正確的,所有客戶端都開始不堪重負。這就導致節點出現停滯不前、無法同步和記憶體不足等問題,以至於情況進一步惡化。

塞翁失馬,焉知非福。經過這次事故,我們不僅可以修復時鐘的根本問題,還能在大規模節點故障和網路負載過重的情況下對客戶端進行壓力測試。儘管如此,這次事故本來不會造成這麼極端的後果,根本原因在於 Prysm 節點佔比過大。

去中心化有利於 ETH 2.0

正如我此前所討論的那樣,就非同步拜占庭容錯演算法而言,1/3 是安全閾值。如果超過 1/3 的驗證者離線,網路就無法實現終局性。雖然 ETH 2.0 區塊鏈在不斷增長,但是驗證者卻不敢保證哪個區塊、哪個狀態一定不會被顛覆。

去中心化有利於驗證者

從根本上來說,我們希望經濟激勵機制足以讓驗證者做對整個網路都好的事,而不用我們相信他們是好人。

如果有超過 1/3 的驗證者節點離線,離線節點所遭受的懲罰就會加重。這就是所謂的不作為懲罰(inactivity penalty)。

也就是說,作為一名驗證者,你會希望自己在因為某種原因被迫離線的同時,不會有很多其它節點因為同樣的原因離線。

罰沒也是如此。雖然你的驗證者節點有可能因為規範或軟體故障/漏洞而遭到罰沒,但是個體罰沒只會損失 1 ETH 。

然而,如果有許多驗證者和你同時遭到罰沒(達到 1/3 的安全閾值),罰金就會高達 32 ETH 。(預知詳情,可參見這篇文章。)

上述兩種情況分別稱為活性反相關機制 (liveness anti-correlation)和安全性反相關機制(safety anti-correlation),是 ETH 2.0 中精心設計的部分。反相關機制將個體懲罰與每個驗證者對網路的影響聯絡在一起,以此激勵驗證者做出對網路最有利的決策。

一些資料

ETH 2.0 由多個獨立團隊實現。每個團隊都根據 ETH 2.0 研究團隊編寫的規範開發獨立的客戶端。這樣可以確保有多個信標鏈節點和驗證者客戶端實現。在構建 ETH 2.0 客戶端時,每個客戶端團隊在技術、語言、最佳化和權衡關係方面會做出不同的決定。這樣一來,即使 ETH 2.0 系統的任意一層出現漏洞,只會影響執行特定客戶端的節點,不會波及全網節點。

以 Medalla 測試網上 Prysm 節點的時鐘偏移為例。如果只有 20% 的 ETH 2.0 節點執行 Prysm 客戶端,且 85% 的驗證者線上,則 Prysm 節點就不會遭受不作為懲罰。開發團隊只需熬幾個通宵就可以解決這個問題,懲罰力度也能控制在最小範圍內。

事實上,由於太多驗證者都集中在同一個客戶端上(而且很多驗證者都禁用了罰沒保護機制),短時間內遭到罰沒的驗證者人數在 3500 至 5000 之間。* 如此高的相關性意味著,這些驗證者的損失約為 16 ETH ,就因為他們執行的是熱門客戶端。

至本文截稿時,罰沒金額還在大幅增加,尚未得到最終資料。

不妨來試試其它客戶端

現在正是嘗試不同客戶端的時候。不妨來體驗一下小眾客戶端。(點選此處,檢視驗證者的分佈情況。)目前,Lighthouse、Teku、Nimbus 和 Prysm 都比較穩定,Lodestar 正在迎頭趕上。

最重要的是,一定要嘗試新的客戶端!我們可以在 Medalla 上讓不同客戶端的驗證者分佈合理化,以便迎接 ETH 2.0 主網上線。

(完)

原文連結:

https://blog.ethereum.org/2020/08/21/validated-why-client-diversity-matters/

免責聲明:

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

推荐阅读

;