---
title: "执行层(EL)和共识层(CL)节点客户端"
description: "了解 CL 节点与 EL 节点客户端之间的区别与关系"
---

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

Ethereum 近年来的迅猛发展，使其在区块链爱好者中的受欢迎程度大幅提升。随之而来的是一系列可扩展性问题，主要表现为高昂的 gas 费用、缓慢的出块时间以及网络拥堵。

通过将 Ethereum 拆分为两个高度优化的层——执行层\(EL\)和共识层\(CL\)，网络的可扩展性得到了提升。每一层所需的节点客户端基础设施略有不同。

本文将介绍主要的 Ethereum 执行层节点客户端：

- [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) \(Go Ethereum\)
- Nethermind
- Erigon
- Hyperledger Besu

我们也将介绍主要的共识层节点客户端：

- Prsym
- Teku
- Lighthouse
- Nimbus
- Lodestar

## **哪些执行层客户端最受欢迎？**

在当前的区块链生态系统中，主流的区块链执行层客户端包括 Geth（占比 80.1%）、Erigon（占比 8.7%）、Besu（占比 3.0%）以及 Nethermind（占比 2.6%）。

[执行层客户端](https://ethernodes.org/)运行在执行层上，负责维护和管理区块链的整体状态，同时通过虚拟机完成交易的执行。

### **1. Geth \(go ethereum\)**

借助 [Geth](https://www.alchemy.com/dapps/geth)，开发者可以使用命令行和 Go 编程语言，通过 [Ethereum 节点](http://www.alchemy.com/overviews/full-vs-light-vs-archive-nodes)与 Ethereum 区块链进行交互。开发者可以使用 Geth 发起 Ethereum 交易，或挖掘 Ethereum 的原生加密货币 ETH。

#### **如何在 MacOS \(homebrew\) 上搭建 Geth 客户端**

### **2. Erigon**

[Erigon](https://www.alchemy.com/dapps/erigon) 是一款使用 Go 编程语言编写的 Ethereum 执行层客户端。Erigon 提供了一种注重速度的优化版 Ethereum 实现，主要用于[运行 archive 节点](https://www.alchemy.com/overviews/archive-nodes)，以管理大量的状态数据。

#### **如何在 MacOS 上搭建 Erigon 客户端**

尽管 Erigon 是运行 archive 节点的常见客户端实现，但像 Silkworm \(C\+\+\) 和 Akula \(Rust\) 这样的客户端在运行 archive 节点时也展现出了相当甚至更优的性能。

### **3. Besu**

[Besu](https://www.alchemy.com/dapps/besu) 是由 Hyperledger 使用 Java 编程语言、基于 Apache 2.0 许可证构建的 Ethereum 执行层客户端，工程师可借此运行 Ethereum 节点。

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

#### **如何在 MacOS 上搭建 Besu 客户端**

### **4. Nethermind**

[Nethermind](https://www.alchemy.com/dapps/nethermind) 是一款基于 .NET core 构建的 Ethereum 执行层客户端，使工程师能够在 Ethereum 节点上进行开发。

#### **如何在 MacOS 上搭建 Nethermind 客户端**

## **什么是共识层？**

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

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

## Ethereum 共识层客户端有哪些？

**目前存在多种共识层客户端，包括 Lighthouse、Prysm、Nimbus、Teku 和 Lodestar。**

### **1. Lighthouse**

[Lighthouse](https://www.alchemy.com/dapps/lighthouse) 是由 Sigma Prime 开发、使用 Rust 编程语言编写的共识层客户端。Lighthouse 的实现在 Ethereum 向 PoS 合并的过程中，注重安全性和性能速度。

#### **如何在 MacOS 上搭建 Lighthouse 客户端**

### **2. Prysm**

[Prysm](https://www.alchemy.com/dapps/prysm) 是由 Prysmatic Labs 使用 Go 编程语言开发的共识层客户端。Prysm 的实现全面集成了 Ethereum 的 PoS 与质押协议，并高度重视安全性和可靠性。

#### **如何在 MacOS 上搭建 Prysm 客户端**

### **3. Nimbus**

[Nimbus](https://www.alchemy.com/dapps/nimbus) 是使用 Rust 编程语言开发的共识层客户端。Nimbus 的共识层客户端实现专注于打造一款轻量级客户端，使其能够在各类硬件设备上运行。

#### **如何在 MacOS 上搭建 nimbus 客户端**

### **4. Teku**

[Teku](https://www.alchemy.com/dapps/teku) 是由 Besu 团队使用 Java 编程语言开发的共识层客户端。Teku 的实现主要面向机构投资者，而非普通大众。

#### **如何在 MacOS 上搭建 teku 客户端**

### **5. Lodestar**

[Lodestar](https://www.alchemy.com/dapps/lodestar) 是由 ChainSafe Systems 使用 Typescript 编程语言开发的共识层客户端。Lodestar 的设计目标是打造一款易于部署的轻量级客户端，同时吸引 Typescript 和 Javascript 开发者。

#### **如何在 MacOS 上搭建 lodestar 客户端**

## **结论**

执行层与共识层的分离，是 2022 年备受期待的 Ethereum 合并升级的组成部分之一。
