ETH beacon chain finality

Beacon chain使用 Casper FFG 機制,獲得確定性。
簡單說,每個validator在每個 Epoch中,對特定的checkpoint,進行Casper FFG投票。如果某個checkpoint獲得了大多數(2/3)的投票,則該checkpoint之前的block,獲得確定性。

  1. Slot 和Epoch

Slot:鏈上的時間按照 slot 來劃分,每個 slot 期間可以提議一個新的區(qū)塊,也可能為空。目前,一個slot 的時長是 12 秒。系統(tǒng)會為每一個 slot 分配一名proposer驗證者來創(chuàng)建新的區(qū)塊。
Epoch: Casper FFG 機制并不應用在完整的區(qū)塊樹上,而是只考慮某些 slot 處的區(qū)塊的得票情況。規(guī)定每32個slot 組成一個 Epoch, 即 32 slots = 32 *12秒 = 6.4分鐘。

  1. 檢查點checkpoint
    每個Epoch的第一個block定為checkpoint,不一定是第一個slot。

  2. 合理化(justification) 和 確定性達成( Finalization)
    合理化與確定性達 成是 Casper FFG 共識過程的兩個階段,可以和傳統(tǒng)拜占庭容錯(BFT)共識的 “prepare” 和 “commit” 階段做橫向對比。

合理化達成條件:
某個checkpoint獲得了超過2/3的投票,則之前的block獲得合理化

確定性達成條件:
a. 某個checkpoint (A)已經合理化
b. 并且 他的下一個checkpoint(B) 獲得2/3的投票,則 A 之前的block獲得確定性。

  1. 確定性達成( Finalization) 的時間計算
    Vitalik在 https://notes.ethereum.org/@vbuterin/single_slot_finality 提到,
    需要 64~ 95 slots(~15 minutes)
  2. 最佳情況,一個block在epoch的末尾,那么需要2輪epoch, 即64個slots。
  3. 最差情況,一個block在epoch的開頭, 那么需要3輪epoch,即95個slots。

另外考慮一般情況

  1. 一個交易出現在epoch的中間,則需要 16 + 32 +32 = 80 slots
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容