節點架構
頁面最後更新時間: 2026年2月14日
一個以太坊節點由兩個用戶端組成:一個執行用戶端和一個共識用戶端。 節點若要提案新區塊,還必須執行驗證器用戶端。
當以太坊使用工作量證明時,一個執行用戶端已足夠執行一個以太坊全節點。 然而,自從實施權益證明後,執行用戶端必須與另一個稱為共識用戶端的軟體一起使用。
下圖顯示兩種以太坊用戶端的關係。 兩種用戶端與他們各自的點對點 (P2P) 網路相連。 執行用戶端透過其點對點網路廣播交易,來確保能夠管理自己的本機交易池,而共識用戶端透過其點對點網路廣播區塊,來確保共識和鏈增長,因此需要獨立的點對點網路。
執行用戶端有多種選擇,包括 Erigon、Nethermind 和 Besu。
要讓這兩種用戶端架構運作,驗證用戶端必須將大量交易傳送至執行用戶端。 執行用戶端在本地執行交易,以驗證交易沒有違反任何以太坊規則,以及對以太坊狀態的提議更新是正確的。 當一個節點被選為區塊生產者時,其共識用戶端實例會向執行用戶端請求交易捆綁包,以將其納入新區塊並執行,進而更新全域狀態。 共識用戶端使用引擎 APIopens in a new tab,透過本地 RPC 連線來驅動執行用戶端。
執行用戶端的作用為何?
執行用戶端負責交易驗證、處理和傳播,以及狀態管理和支援以太坊虛擬機 (EVM)。 它不負責建構區塊、傳播區塊或處理共識邏輯。 這些為共識用戶端的工作範圍。
執行用戶端建立執行有效負載:交易列表、更新的狀態樹,以及其他執行相關的資料。 共識用戶端將執行有效負載加入每一個區塊。 執行用戶端也負責重新執行每個新區塊的交易,確保交易為有效的。 交易是在執行用戶端的嵌入式電腦上執行,也就是所謂的以太坊虛擬機 (EVM)。
執行用戶端也透過 RPC 方法 提供以太坊的使用者介面,讓使用者可以查詢以太坊區塊鏈、提交交易和部署智能合約。 RPC 呼叫通常由 Web3jsopens in a new tab、Web3pyopens in a new tab 這類的函式庫,或由瀏覽器錢包等使用者介面來處理。
總而言之,執行用戶端為:
- 通往以太坊的使用者閘道
- 託管以太坊虛擬機、以太坊狀態,以及交易池的地方。
共識用戶端的作用為何?
共識用戶端處理所有能夠讓節點與以太坊網路保持同步的邏輯。 這包括從對等節點接收區塊並運行分叉選擇演算法,從而確保節點始終遵循累積證明最多的鏈(由驗證者有效餘額加權計算而得)。 與執行用戶端相似,共識用戶端擁有自己的點對點網路並透過該網路共享區塊和證明。
共識用戶端不參與區塊的證明或提議;此由共識用戶端的驗證者(可選附加組件)完成。 沒有驗證者的共識用戶端只會同步鏈頭,使節點能夠保持同步。 這讓使用者可以使用他們的執行用戶端與以太坊交易,並確信位於正確的鏈上。
驗證程式
質押並運行驗證者軟體將使一個節點有資格被選中來提議新區塊。 節點營運者可以在存款合約中存入 32 以太幣,以添加一個驗證者到他們的共識用戶端。 驗者者用戶端與共識用戶端捆綁在一起,可以隨時添加進節點。 驗證者處理證明及區塊提議。 它也使節點能夠累積獎勵,或因懲罰或罰沒而失去以太幣。
節點組成比較
| 執行用戶端 | 共識用戶端 | 驗證者 |
|---|---|---|
| 透過其點對點網路廣播交易 | 透過其點對點網路廣播區塊及證明 | 提議區塊 |
| 執行/重新執行交易 | 運行分叉選擇演算法 | 積累獎勵/懲罰 |
| 驗證傳入狀態的變更 | 追蹤鏈頭 | 做出證明 |
| 管理狀態及收據樹 | 管理信標狀態(包括共識和執行資訊) | 需要質押 32 以太幣 |
| 建立執行有效負載 | 追蹤 RANDAO 中的累積隨機性 (RANDAO 是一種為驗證者選擇和其他共識操作提供可驗證隨機性的演算法) | 可被罰沒 |
| 公開 JSON-RPC 應用程式介面以便與以太坊互動 | 追蹤證明及最終確定 |
