科普:Eth2驗證者的生命流程
編者按:本文來自以太坊愛好者(ID:ethfans)編者按:本文來自
以太坊愛好者(ID:ethfans)
以太坊愛好者(ID:ethfans)
編者按:本文來自
以太坊愛好者(ID:ethfans)
編者按:本文來自
以太坊愛好者(ID:ethfans)
,作者:Jim McDonald,翻譯:阿劍,Odaily經授權轉載。
圖片描述
以太坊2.0 使用權益證明機制來保護網絡,也就是由許多叫做“驗證者” 的計算機線程來投票決定哪一個區塊能夠上鍊(即所謂的“attesting”,作見證),當然也會自己提出備選區塊。不過,驗證者不是僅僅只有“開” 和“關” 兩種狀態:從成為驗證者到退出驗證者的整個生命週期中,其狀態會經過多次轉換。本文會深入研究驗證者的生命週期,展示各階段和轉換過程的實質、如何觸發轉換,以及每種轉換的歷時。
以太坊2.0 中的時間通常是用“epoch(時段)” 這種單位來度量的,1 個時段是384 秒,也就是六分半鐘。為便於理解,基於這一度量的時間我都轉化成了以分鐘、小時、天為單位,並在附錄的腳註中提供詳細信息。
圖片描述
驗證者生命週期概述
在深入細節以前,我們先來看看驗證者生命週期的概況、了解一下用於表述不同狀態的術語。
- 圖1:驗證者生命週期一覽 -
各標籤所示的階段如下:
等待激活(Pending):保證金要約被以太坊2.0 網絡接受
圖片描述
活躍(Active):驗證者要見證區塊及提議區塊
完全退出(Exited):驗證者完全退出,不再參與任一流程
圖片描述
圖片描述
保證金存入階段
圖片描述
驗證者的保證金存入階段大概要歷時7.5 個小時2,以保證鏈重組影響到Eth1 交易的順序乃至保證金要約無效化的概率足夠小。這個階段完成後,驗證者就進入等待激活階段3。
圖片描述
圖片描述
等待激活階段
圖片描述
等待激活的驗證者會組成一個隊列:在一個時間點,Eth2 鏈上能激活和能退出的驗證者數量都是一個比較小的數量(所以要排隊)5,以保證驗證者集合的穩定性。如果隊列是空的,那麼等待激活的驗證者會在大約25 分鐘以後激活6;如果隊列很長,那可能要幾天甚至幾週才能激活。不過,排完隊之後,驗證者就可以直接激活、參與見證。
活躍階段
圖片描述
一般來說,一名驗證者的絕大部分時間都處於這個階段。活躍驗證者大約每6 分鐘要發出一條見證消息,偶爾要自己提議區塊7。驗證者會一直保持在活躍狀態,除非出現下列三種情況:
圖片描述
圖片描述
該驗證者被證明作惡
圖片描述
即將退出階段
圖片描述
一級標題
一級標題
圖片描述
圖片描述
圖片描述
圖片描述
被罰沒狀態
圖片描述
- 圖8:從被罰沒到完全退出 -
圖片描述
圖片描述
- 圖9:補充罰沒條件之後 -
圖片描述
轉成完成退出狀態之後,大概還有一天的延遲8,之後才能取出驗證者余額。不過,如果一個驗證者是從被罰沒狀態中完全退出的,那還要接受兩項額外的懲罰。
圖片描述
圖片描述
- 圖10:被罰沒的有效餘額與同期被罰沒的驗證者比例的關係 -
從這個生命流程圖中可以看出,沒有額外的機制讓一個完全退出的驗證者重新激活。因此,一旦某個驗證者退出,其資金就會一直休眠,等待驗證者前來取走。不過,Eth2 Phase 0 時候,資金是不能轉賬的—— 因此所有完全退出的驗證者的資金都仍保存在質押系統中,直至開啟轉賬功能。沒有轉賬功能,是因為用戶帳戶模式還未引入。
圖片描述
補充後的驗證者生命流程
把上面所有詳細信息補充到流程圖中,可以得到一個完整的圖:
圖片描述
- 圖11:補充後的驗證者生命流程圖 -
請細看其中補充的條件、各階段的歷時、轉換過程,這些細節對成功運行Eth2 驗證設施非常關鍵。從初始化保證金到取出保證金,這個生命流程圖點出了各階段可能發生的情況,也為驗證者在全時段中的表現提供了清晰的解釋。
注1:要注意的的是,以太坊2.0 的規範沒有一個顯式的狀態機,因此,各階段的名稱都是作者為便於描述而給出的。


