
編者按:本文來自區塊鏈大本營(ID:blockchain_camp)區塊鏈大本營(ID:blockchain_camp)
引言
二級標題
區塊鏈大本營(ID:blockchain_camp)
二級標題
正文
圖片描述
二級標題
正文
圖片描述
圖片描述
正文
圖片描述
圖片描述
其中比較有趣的部分是鏈首投票(chain head vote),即,驗證者在創建這條見證消息時認為哪個區塊是鏈上最新的有效區塊。鏈首投票的結構如下所示:
圖片描述
圖片描述
二級標題
聚合就是將多條committee(委員會)、chain head vote(鏈首投票)、finality vote(終局性投票)都相同的見證消息(譯者註:即同一委員會中作了相同的鏈首投票和終局性投票的見證消息) 合併成一個聚合見證消息( aggregate attestation ):
二級標題
圖片描述
執行這一聚合過程的驗證者就是聚合者(aggregator) 。
二級標題
二級標題
ETH 2.0 在為驗證者計算見證獎勵時採用了打包距離( inclusion distance ) 這一指標。打包距離指的是見證消息生成時所處的slot 與該見證消息被打包到區塊時所處的slot 之差。例如,在slot s 生成的見證消息在slot s+1 被打包到區塊中,這時打包距離就是1 。如果見證消息在slot s+5 被打包到區塊中,這時打包距離就是5 。
圖片描述
為體現見證消息的相對價值,驗證者所獲得的見證獎勵會隨打包距離的增大而減少。具體來說,見證獎勵會乘以1/d (d 為打包距離)。
圖片描述
見證消息的打包過程
二級標題
見證消息是如何打包到ETH 2.0 區塊鏈上的?其過程如下2 :
見證消息會通過ETH 2.0 網絡廣播給相關聚合者;
正文
聚合見證消息會通過ETH 2.0 網絡廣播至所有節點;
二級標題
只要是沒有在鏈上看見該聚合見證消息的區塊提議者都可以將其打包到區塊中。
二級標題
正文
見證消息生成延遲
驗證者可能會遇到一些問題,從而導致見證消息生成延遲。例如,驗證者所擁有的鏈狀態相關數據過時,或者驗證者在生成和簽署見證消息上花費時間過久。無論出於哪種原因,見證消息生成步驟的遲滯都會對整個流程的剩餘步驟產生連鎖反應。
正文
驗證者生成見證消息後需要通過網絡將見證消息廣播至聚合者處。這一流程的本質意味著,廣播宜早不宜遲,因為這樣可以確保驗證者及時收到該見證消息,並將其合併到聚合見證消息中。驗證者應該連接到足夠多的對等節點,從而確保自己能盡快將見證消息廣播給聚合者。
聚合見證消息生成延遲
聚合見證消息廣播延遲
區塊生成失敗
要想讓見證消息上鍊,首先要將它打包到區塊中。但是,區塊生成並不一定總能成功。有兩種情況會導致區塊生成失敗:1. 驗證者離線;2. 驗證者與網絡中的其他驗證者失去同步,導致其生成的區塊因包含無效數據而被拒絕。如果區塊生成失敗,就無法確保見證消息在同一個slot 內上鍊,導致打包距離大於最佳距離。
惡意行為
總結
考慮到區塊生成和打包距離,見證消息有效性可以理解為見證消息對網絡的用處有多大。見證消息有效性的正式定義是:
二級標題
總結
二級標題
區塊有效性是以百分比呈現的。下表列出了一些示例:
聚合見證消息有效性