跳至內容
0%

執行層 (EL) 與共識層 (CL) 節點客戶端

Alchemy team headshot

作者 Alchemy

發布於 2022年7月8日閱讀時間 2 分鐘

Ethereum 近年來的顯著成功,使其在區塊鏈愛好者間的普及度大增。因此,Ethereum 也出現了各種擴容問題,常見的表現包括高昂的 gas 費用、緩慢的區塊時間,以及網路壅塞。

透過將 Ethereum 分成兩個高度優化的層級——執行層(EL)與共識層(CL),網路的擴容能力得以提升。每個層級所需的節點客戶端基礎架構略有不同。

本文將介紹主要的 Ethereum 執行層節點客戶端:

  • Geth (Go Ethereum)
  • Nethermind
  • Erigon
  • Hyperledger Besu

我們也會介紹主要的共識層節點客戶端:

  • Prsym
  • Teku
  • Lighthouse
  • Nimbus
  • Lodestar

哪些是最受歡迎的執行層客戶端?

在目前的區塊鏈生態系中,較受歡迎的區塊鏈執行層客戶端有 Geth (80.1%)、Erigon (採用率 8.7%)、Besu (3.0%),以及 Nethermind (2.6%)。

執行層客戶端運行於執行層,負責維護與管理區塊鏈的整體狀態,同時透過虛擬機完成交易。

1. Geth (go ethereum)

透過使用Geth,開發者可以利用命令列與 Go 程式語言,經由Ethereum 節點與 Ethereum 區塊鏈互動。開發者可使用 Geth 執行 Ethereum 交易,或挖取 Ethereum 的原生加密貨幣 ETH。

如何在 MacOS 上設定 Geth 客戶端 (homebrew)

2. Erigon

Erigon是使用 Go 程式語言撰寫的 Ethereum 執行層客戶端。Erigon 提供了一套著重速度的 Ethereum 優化實作,主要用於運行 archive 節點,管理大量的狀態資料。

如何在 MacOS 上設定 Erigon 客戶端

雖然 Erigon 是運行 archive 節點時常見的客戶端實作,但像是 Silkworm (C++) 和 Akula (Rust) 等客戶端,也展現出不相上下、甚至更佳的 archive 節點運行效能。

3. Besu

Besu是由 Hyperledger 使用 Java 程式語言、依 Apache 2.0 授權條款建置的 Ethereum 執行層客戶端,讓工程師能夠運行 Ethereum 節點。

開發者可透過命令列以及 JSON-RPC API(可經由 RPC、HTTP 或 WebSocket 存取)與 Besu 互動。Besu 可用於 ETH 挖礦,以及開發智能合約或去中心化應用程式。

如何在 MacOS 上設定 Besu 客戶端

4. Nethermind

Nethermind是建置於 .NET core 之上的 Ethereum 執行層客戶端,讓工程師能夠在 Ethereum 節點上進行開發。

如何在 MacOS 上設定 Nethermind 客戶端

什麼是共識層?

共識層是 Ethereum 區塊鏈新的後端基礎架構,負責託管並驗證驗證者的運作成效。

在 PoS 模型中,驗證是以質押的形式進行:驗證者質押 ETH 作為抵押品,若有不當行為,該抵押品可能會被網路沒收(slashed)。

Ethereum 的共識層客戶端有哪些?

目前存在多種共識層客戶端,包括 Lighthouse、Prysm、Nimbus、Teku 及 Lodestar。

1. Lighthouse

Lighthouse是由 Sigma Prime 開發、使用 Rust 程式語言撰寫的共識層客戶端。Lighthouse 的實作在 Ethereum 邁向 PoS 合併的過程中,著重於安全性與效能表現。

如何在 MacOS 上設定 Lighthouse 客戶端

2. Prysm

Prysm是由 Prysmatic Labs 使用 Go 程式語言開發的共識層客戶端。Prysm 的實作全面整合了 Ethereum 的 PoS 與質押協議,同時著重於安全性與可靠性。

如何在 MacOS 上設定 Prysm 客戶端

3. Nimbus

Nimbus是使用 Rust 程式語言開發的共識層客戶端。Nimbus 的共識層客戶端實作著重於打造輕量化客戶端,使其能夠部署於各式各樣的硬體裝置上。

如何在 MacOS 上設定 nimbus 客戶端

4. Teku

Teku是由 Besu 團隊使用 Java 程式語言開發的共識層客戶端。Teku 的實作目標對象是機構投資者,而非一般大眾。

如何在 MacOS 上設定 teku 客戶端

5. Lodestar

Lodestar是由 ChainSafe Systems 使用 Typescript 程式語言開發的共識層客戶端。Lodestar 的開發目標是打造一款可部署且輕量化的客戶端,同時吸引 Typescript 與 Javascript 開發者。

如何在 MacOS 上設定 lodestar 客戶端

結論

執行層與共識層的分離,是 2022 年備受期待的 Ethereum 合併升級的一部分。

Background gradient

打造區塊鏈魔法

Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。