火星獨家 | 黑暗中的“燈塔”,一文讀懂以太坊2.0信標節點和客戶端架構

編譯 | Bite@YouMeLiveAPP

在以太坊2.0中,從維護網路安全的單一完整節點的概念轉變為兩個獨立的客戶端,即信標節點和驗證者客戶端,信標節點負責處理網路共識,它與外部世界連接,并發送和接受區塊,驗證者客戶端,它與你的節點連接,并負責證明與提議區塊。每個驗證者客戶端上都可以有非常多個質押了32個ETH的驗證者,

要讀懂信標節點首先要全面了解信標鏈,信標鏈就像是燈塔,可以幫助我們在大霧彌漫的海域中互相定位——所有的分片通信都會通過信標鏈來完成,節點也會借此相互溝通,并合作打造一個區塊鏈系統,關于信標鏈和客戶端的內容,之前文章已經介紹過,這里也不過多贅述。下面兩張圖比較全面介紹關于以太坊2.0三個重要階段知識。

需要特別指出的是,信標鏈并不直接處理用戶的轉賬、智能合約事務,每個分片鏈通常只處理本分片內的事務,但需要跨鏈協作時,也需要信標鏈從中協調。

而下表格總結了以太坊2.0不同的客戶端,這些客戶端都在積極地工作、維護,并通過客戶端測試,

信標節點和驗證者客戶端

1. 信標節點

信標鏈節點負責驗證 驗證者的身份、批量處理簽名(因為會有很多驗證者發送自己的簽名,逐個處理太費時間了,所以我們希望能夠一次處理許多個簽名)、抓取出塊所必需的數據并傳遞給驗證者驗證。信標鏈節點就相當于現行以太坊系統上的礦工,它們需要投入更多資源,要運行在更高級的硬件上,(每個大類下面還分不同的子類,本文不會涉及)

信標節點是信標鏈中的重要環節,構成了以太坊2.0區塊鏈的主干。以下是信標節點的職責:

(1) 從創世區塊開始,運行和維護隨機信標鏈;

(2) 通過點對點的方式將信標鏈與對等節點同步(就像今天以太坊1.0節點維護區塊鏈時的做法一樣);

(3) 處理來自驗證者客戶端和委員會的區塊證明;

(4) 作為RPC服務器/端點,供驗證者客戶端提出/測試信標區塊;

(5) 處理每個信標區塊的鏈上狀態轉換;

(6) 作為驗證者slot/分片隨機性分配來源;

(7) 同步并維護分片的當前狀態(預計是連接驗證者客戶端所質押的分片);

(8) 捕獲以太坊1.0鏈上新驗證者的區塊哈希/驗證者存款情況;

(9) 維護信標鏈上的驗證者注冊表,包括必要時添加和刪除驗證者;

(10) 與其他信標節點保持時鐘同步,幫助執行驗證者客戶端的罰沒規則。

信標節點硬件要求

信標節點旨在成為高性能平臺,能夠支持與眾多驗證者客戶端的連接,并與其他信標節點保持p2p連接。因此,硬件要求是服務器級別的CPU/SSD/網路連接。

信標節點質押要求

信標節點是以太坊2.0的基本構件。理論上,任何人都可以運行信標節點,并同步整個信標鏈的當前狀態,操作信標節點沒有質押要求,預計以太坊2.0上的大多數驗證者將運行他們自己的信標節點,驗證者客戶端需要信任連接的信標節點,確保正確廣播區塊提案和測試。

2. 驗證者客戶端

驗證者客戶端(在理論上)可以是非常輕量級的,客戶端就是一些程式,唯一的功能就是保持網路連接并在系統中質押ETH。驗證者客戶端會使用信標鏈節點提供的數據構造區塊并將這些區塊發回網路,若是驗證者客戶端作惡或是離線,他們自己也要承擔后果——也就是所謂的罰沒(即削減權益)。

驗證者客戶端在某種程度上相當于以太坊1.0區塊鏈上的礦工,職責概述如下:

(1) 驗證者被分配到的分片上產出新區塊;

(2) 通過簽署委員會內其他驗證者提出的區塊證明來參加委員會;

(3) 在分配給信標鏈廣播時,匯總委員會中其他驗證者的證明;

(4) 維持與可信信標節點的RPC連接,監聽驗證者分配;

(5) 在保管證明期間,信標鏈同步分配分片;

驗證者客戶端質押要求

每個驗證者客戶端需要在以太坊1.0區塊鏈上的存款合約中質押32個ETH;

驗證者客戶端硬件要求

與以太坊1.0、PoW產業鏈上的礦機不同,PoS的設計是為了提高資源效率,并以最小的處理/存儲能力在行動電話或單板電腦等硬件上運行,以太坊2.0的幾個團隊已經將客戶端設計成可以運行在資源受限的設備上。

罰沒情況

罰沒的定義是,驗證者從活躍的驗證者小組中被驅逐出去,并罰沒一部分驗證者質押金。以太坊2.0階段0有兩種特定的違規行為會出現這種情況:

提案人罰沒:當驗證者在同一epoch簽署兩個不同的信標塊時,會發生這種情況,

驗證者罰沒:當驗證者簽署兩份相互沖突的證明時,就會發生這種情況,

信標節點和驗證者客戶端的區別

(1)網路–信標節點通過p2p連接到其他信標節點,而驗證者客戶端則與單個信標節點保持專用連接。

(2)質押–只有驗證者客戶需要質押ETH才能參與網路中,

(3)區塊–只有驗證者客戶端可以提出/簽署區塊,而信標節點只是驗證認證和在信標鏈上傳播區塊,

總結

信標鏈是一條新的鏈,是以太坊 2.0 的核心,所有分片都連接到信標鏈上并與之通信,信標節點是信標鏈的建設者,他們處理大量的數據,并將數據發送給驗證者用于驗證;驗證者會構造區塊并發回給信標節點。驗證者質押ETH來獲得出塊機會,如果他們提議的區塊獲得了其它驗證者的同意,就能獲得獎勵。

參考文章:

Eth 2.0 Client Architecture:

https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-client-architecture/

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧