跳至内容
0%

执行层(EL)和共识层(CL)节点客户端

Alchemy team headshot

作者 Alchemy

发布于 2022年7月8日2 分钟阅读

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 (homebrew) 上搭建 Geth 客户端

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 节点。

开发者可以使用命令行以及通过 RPC、HTTP 或 WebSocket 访问的 JSON-RPC API 与 Besu 进行交互。Besu 可用于 ETH 挖矿以及智能合约或去中心化应用的开发。

如何在 MacOS 上搭建 Besu 客户端

4. Nethermind

Nethermind 是一款基于 .NET core 构建的 Ethereum 执行层客户端,使工程师能够在 Ethereum 节点上进行开发。

如何在 MacOS 上搭建 Nethermind 客户端

什么是共识层?

共识层是 Ethereum 区块链新的后端基础设施,负责托管并验证验证者的有效性。

在 PoS 模型中,验证以质押的形式进行,验证者需质押 ETH 作为抵押品,若出现违规行为,该抵押品可能被网络没收(即被 slash)。

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 开发者产品和工具与资源、社区及专业支持结合在一起。