合併後的以太坊節點詳細結構和同步狀態檢查方法
作者: Truebit
編譯: ChainCatcher
合併後,以太坊節點包括執行客戶端和共識客戶端;兩者都需要運行完整的以太坊節點並包括一些警告。本文將介紹合併後的節點詳細結構、根據具體用途選擇節點、同步選項以及如何檢查同步狀態。
以太坊節點是運行軟體客戶端的計算機,連接到使用相同以太坊軟體的其他計算機,創建一個 p2p 網絡,根據協議規則驗證數據並保持網絡安全。
後合併以太坊主要部分:
執行客戶端:監聽網絡中廣播的新交易並在以太坊虛擬機(EVM)中執行它們,並持有所有當前以太坊數據的最新狀態和數據庫。
共識客戶端:包含實現股權證明 (POS) 共識算法的信標節點,使網絡能夠根據來自執行客戶端的經過驗證的數據達成協議。驗證者客戶端是共識的一部分,處理網絡同步,達成共識,並執行其他幾個低級功能。驗證者的作用是質押 ETH 以執行區塊提議,而證明是以太坊信標鏈中同樣重要的組成部分。
培根鏈
信標塊
以太坊客戶端類型
節點
全節點存儲區塊鏈數據(儘管這是定期修剪的,因此全節點不會將所有狀態數據存儲回創世)。參與區塊驗證並驗證所有區塊和狀態。
輕節點是以太坊 1 中節點內運行的應用程序中最常見的模式。合併後,這個選項還不可用,一些實驗性的客戶端正在努力提供解決方案。為了加快同步速度並減少存儲大小,一些客戶端提供樂觀同步,即使它沒有驗證其執行有效負載,它也會導入塊。另一個選項是檢查點同步,它通過從最近完成的檢查點開始同步來加速初始同步。
檢查點:
以太坊 1 的出塊時間約為 14 秒。合併後,Beacon Chain 的節奏分為 slots(12 秒)和 epochs(32 slots)。每個 Epoch 持續 6.4 分鐘,每個 epoch 的第一個時隙是一個檢查點。
紀元 |主網信標鏈(第 0 階段)以太坊 2.0 瀏覽器 (beaconscan.com)
存儲保存在全節點中的所有內容,並構建歷史狀態的存檔。如果您想查詢區塊 #4,000,000 的賬戶餘額之類的東西,或者簡單可靠地測試您的交易集而不使用跟蹤挖掘它們,則需要它。同步此節點可能需要數周時間和 4 TB 的存儲空間。
兩種類型的節點(塊生產和非塊生產)。兩個節點都將創建和維護兩個數據庫,一個用於客戶端執行所有交易和與 EVM 的交互,另一個數據庫用於達成共識(信標鏈)。
驗證器(塊生產)
該節點需要所有主要組件,如執行客戶端和帶有客戶端驗證器的共識客戶端。要激活驗證器,必須將 ETH 放入以太坊的智能合約中。如果驗證者行為不誠實或懶惰,那麼抵押的 ETH 將作為抵押品被銷毀。該節點應該保持 24x7 不間斷工作,並避免任何可能花費部分權益的停機時間。
非區塊生產
此類節點用於安裝完全符合去中心化的以太坊應用程序。任何人運行其節點的能力對於維持以太坊網絡的去中心化至關重要。要安裝非區塊生產、共識和執行客戶端,無需驗證器客戶端。
合併後,節點同步意味著客戶端、執行和共識都在進行同步。例如,我們會考慮使用 Geth 進行執行,使用 Prysm 進行共識。
如何檢查節點的同步狀態
卷曲 http://localhost:3500/eth/v1/node/syncing | jq
該節點已完成共識同步,仍在同步執行中。
該節點已完成兩者同步。
執行客戶端
執行需要更多時間,並且可以檢查狀態。我們將看到同步節點結束和節點仍在同步的示例。
geth 附加 ipc:/root/.ethereum/geth.ipc
執行同步激活
執行客戶端同步結束。
參考
https://ethereum.org/en/developers/docs/