科普:信標鏈的創世流程
編者按:本文來自以太坊愛好者(ID:ethfans)編者按:本文來自
以太坊愛好者(ID:ethfans)
以太坊愛好者(ID:ethfans)
編者按:本文來自
以太坊愛好者(ID:ethfans)
編者按:本文來自
以太坊愛好者(ID:ethfans)
以太坊愛好者(ID:ethfans)
大型的分佈式多客戶端區塊鏈啟動事件並不常見。昨天(7 月30 日)是ETH 1.0 誕生5 週年:由此可見,如此重大的誕辰盛事更是少之又少。
ETH 2.0 創世機制有一點(也就是我們所說的區塊鏈自引導流程)複雜。我打算詳細解釋一下。對於實際的技術規範,你可以參見我在“ETH 2.0 規範註解” 中的評論。
在下文中,“創世” 指的是信標鏈上線並開始處理見證消息(attestation)和區塊的起始時刻,也就是epoch 0 的slot 0 的開始。
一級標題
驗證者保證金
一級標題
保證金合約只會對有效保證金作出反應,即金額達32 ETH 及以上的單筆保證金、總計金額達32 ETH 及以上的多筆保證金(需要檢查額外的數據,例如,密碼學簽名)。任何無效或不足的保證金都會忽略不計。
一級標題
一級標題
在預創世階段,只有信標鏈節點會參與ETH 2.0 網絡;一旦創世之後,驗證者就可以立即參與共識機制。信標鏈節點維護系統狀態,並在點對點網絡上互相通信。
一級標題
因此,在創世之前,會有一些信標鏈節點監聽ETH 1.0 ,並監控保證金合約中的有效保證金。實際上,信標鏈節點不需要一直監控ETH 1.0 :ETH 1.0 上的區塊是有時間戳的,因此在創世之前,節點隨時都能趕上進程。
眾所周知,ETH 1.0 鍊是可以回滾的,原本已經在鏈上的交易也可能因為區塊鏈改變而失效。這就是為什麼你將ETH 轉入交易所時,需要等待30 個區塊才能確保交易確認。回滾的範圍通常很小——只有1 至2 個區塊—— 但是當網絡遭受攻擊時,回滾的範圍會大得多。為了避免ETH 2.0 發生回滾,我們在同步ETH 1.0 時非常謹慎地保持14*1024 秒(約合4 個小時)的延遲。我稱之為對ETH 1.0 的“跟隨距離(follow distance)”。
一級標題
何時?何人?
對於創世來說,最重要的兩個問題是“何時” 與“何人” ?具體來說,就是“創世會在何時發生?”以及“誰會成為創世驗證者?” 這兩個問題決定了信標鏈的創世狀態,其它狀態都源自創世狀態。
監控ETH 1.0 上的保證金流入情況。
等過了足夠長的時間,有了足夠的保證金,創建創世狀態。
具體來說,在步驟2 ,我們要找到第一個滿足以下兩個條件的ETH 1.0 區塊:(a)鎖定了足夠多的保證金;(b)區塊中的時間戳沒有過早。創世狀態由這個區塊決定。
一級標題
影響“何時” 和“何人” 的三大主要參數設置如下:
一級標題
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT 指的是在創建創世狀態之前,我們需要在ETH 1.0 保證金合約中鎖定的有效保證金的最低筆數。就Medalla(以及主網)而言,最少需要16384 名驗證者。
一級標題
二級標題
場景
這個區塊創建時,驗證者人數不得低於16384 (MIN_GENESIS_ACTIVE_VALIDATOR_COUNT)。
時間戳沒有過早(不早於MIN_GENESIS_TIME - GENESIS_DELAY)。
1. 先達到最低保證金要求
圖片描述
總結
圖片描述
總結
圖片描述
二級標題
總結
二級標題
圖片描述
圖片描述
總結
總結
結論
總結
一級標題
結論
總結


