Eth2 Staking指南:分片化的共識
編者按:本文來自以太坊愛好者(ID:ethfans)編者按:本文來自
以太坊愛好者(ID:ethfans)
以太坊愛好者(ID:ethfans)
編者按:本文來自
以太坊愛好者(ID:ethfans)
編者按:本文來自
分析
以太坊愛好者(ID:ethfans)
,作者:Carl Beekhuizen,翻譯:阿劍,Odaily經授權轉載。
分析
特別感謝Sacha Yves -Leger 和Joseph Schweitzer 的指正。
不過,在Eth2 中還有一種不那麼為人所知的分片類型,而且從協議設計的角度來看,這個類型可能更為激動人心:分片化的共識(sharded consensus)。
分析
分片化的共識
就像網絡中最慢節點的處理能力限制了網絡的吞吐量,單個驗證者的計算資源也決定了能夠參與共識的驗證者總數量。因為每新增一個驗證者,都會給系統中的所有其他驗證者帶來額外的工作量,那麼隨著驗證者數量的增加,最終會達到一個狀態:資源最少的那個驗證者將不再能夠參與共識(因為它不再能夠全程追踪所有其他驗證者的投票)。那麼Eth2 處理這個問題的方案就是分片化的共識。
分析
Eth2 的系統中有兩種基本的時間單位,時隙(slot)和時段(epoch)。
一個時段由32 個時隙組成(因此是6.4 分鐘),在一個時段中,信標鏈要執行所有跟鏈的維護相關的計算,包括:合理化及敲定新區塊、給驗證者發放獎勵和懲罰。
我們在本系列的第一篇文章中提到,驗證者會被分配到不同的委員會中執行工作。那麼在任一時刻,都有驗證者同時既是信標鏈委員會成員、也是某一個分片鏈委員會的成員;每個驗證者在一個時段中都要發出見證消息一次—— 為已經提出的信標鏈區塊投票。
舉例而言,如果整個驗證者集合中有33% 的驗證者是惡意的,那麼他們可能就會進入到同一個委員會中。那就完蛋了。
二級標題
所以,我們需要確保事情不至於如此。換句話來說,我們需要保證的是,如果33% 的驗證者是惡意的,那麼在一個委員會中只有約33% 的驗證者是惡意的。
保證驗證者的委員會分配是隨機的
二級標題
組成委員會有數量下限要求
舉個例子,如果單個委員會由128 個隨機選出的驗證者組成,那麼一個控制了全網1/3 驗證者的攻擊者能夠控制單個委員會的2/3 驗證力量的概率是非常非常小的(概率低於2^-40)。
二級標題
綜合
驗證者提交的投票叫做“見證消息”。見證消息由幾個部分組成:
對信標鏈頂端區塊的投票
對合理化信標區塊/確定化信標鏈區塊的投票
把盡可能多的部分都組合到一條見證消息中,系統的整體效率便得以提升,因為,在檢查驗證者的簽名時,不再需要分別驗證對信標鏈區塊的投票和對分片鏈區塊的投票,節點只需基於見證消息做運算,即可得知信標鏈區塊的狀態和每一條分片鏈的狀態。
總結
把驗證者分配到不同委員會中的設計,讓驗證Eth2 所需付出的工作量降低了幾個數量級。
委員會的投票在根本上來說也是易於聚合的,因為這些驗證者都被分配到了同一個分片上,因此分片狀態的投票和對信標鏈區塊的投票很可能是相同的。這就是Eth2 能隨著驗證者數量的增加而擴展吞吐量的機制。通過把驗證者打散到委員會內,驗證者將只需關心自己所在委員會的成員,也只需檢查極少數從其它委員會處傳來的、已經聚合過的見證消息。
總結
把驗證者分配到不同委員會中的設計,讓驗證Eth2 所需付出的工作量降低了幾個數量級。


