{"content":{"title":"以太坊全节点 vs. 存档节点","body":"## 概述\r\n\r\n> 更喜欢视频？跟随 Radek 在 8 分钟内了解以太坊全节点和存档节点的区别。\r\n\r\n[以太坊全节点 vs. 存档节点 - YouTube](https://www.youtube.com/watch?v=ZOW6C2wQiZ0)\r\n\r\n \r\n\r\n[以太坊全节点 vs. 存档节点](https://www.youtube.com/watch?v=ZOW6C2wQiZ0)\r\n\r\n \r\n \r\n\r\n以太坊运行在一个由计算机（也称为节点）组成的网络上，这些节点根据共识协议和账本验证交易，构成了区块链。在本指南中，你将了解更多关于节点的信息、节点的类型，并探索运行它们所需的要求。\r\n\r\n## 你将需要什么\r\n\r\n- 对以太坊的基本了解\r\n\r\n## 你将做什么\r\n\r\n- 了解以太坊上的节点\r\n\r\n- 了解全节点\r\n\r\n- 了解存档节点\r\n\r\n- 探索不同的以太坊客户端\r\n\r\n- 了解推荐的硬件要求\r\n\r\n## 什么是以太坊中的节点？\r\n\r\n节点是运行以太坊客户端软件并连接到网络上其他节点的计算机。这些节点共同工作以验证交易并验证称为账本的公共区块链数据库。有不同类型的节点和客户端软件程序，它们具有不同的功能和目的，我们稍后将深入探讨。\r\n\r\n> 请注意，以太坊的共识协议将在 **The Merge**（预计 2022 年 9 月 16 日）后从 PoW 更改为 PoS。这一变化将影响运行节点的用户，因为他们现在需要运行两种不同类型的以太坊客户端（执行客户端和共识客户端）以支持网络。因此，本指南的上下文将围绕新的 PoS 基础设施展开。\r\n\r\n以下是关于以太坊全节点和存档节点的关键要点：\r\n\r\n- **全节点**：在磁盘上存储和维护最近的区块数据（即最后 128 个区块）。它根据请求提供区块链数据，并通过参与区块验证和验证所有区块和状态来支持网络。所有状态都可以从全节点派生。\r\n- **存档节点**：继承与全节点相同的功能，并构建历史状态的存档。当查询无法在全节点上访问的历史区块链数据时，这种类型的节点非常有用。存档节点不需要参与区块验证，并且可以通过从创世块重放区块从头开始构建。\r\n\r\n## 什么是以太坊全节点？\r\n\r\n在以太坊的 PoW 共识机制下，全节点仅由一个客户端软件组成。在新的以太坊状态（即 ETH2 与权益证明）中，全节点将由两个不同的客户端软件组成，一个用于共识层，另一个用于执行层。这些客户端共同工作以验证以太坊的状态，并将信息传递给传入的 JSON RPC 请求和共识层验证者。\r\n\r\n**运行全节点的推荐硬件要求：**\r\n\r\n- 具有 4+ 核心的快速 CPU\r\n\r\n- 16 GB+ 内存\r\n\r\n- 具有至少 1 TB 空间的快速 SSD 驱动器（存储容量将随着时间的推移而增长）\r\n\r\n- 25 MBit/s 带宽\r\n\r\n幸运的是，运行全节点不需要太多计算能力。但是，建议你使用 SSD 进行存储，并注意区块链的大小将随着时间的推移而增长。\r\n\r\n![](https://img.learnblockchain.cn/2025/02/28/0-60344c2bc2c5063827a7f41b353a87a4.png)\r\n\r\n## 什么是以太坊存档节点？\r\n\r\n存档节点继承了与全节点相同的功能，并构建了历史状态的存档。当查询无法在全节点上访问的历史区块链数据时，这种类型的节点非常有用。例如，如果你需要最后 128 个区块之前的区块数据，你将希望访问存档节点。此外，存档节点不需要参与区块验证，理论上可以通过从创世块重放区块从头开始构建。\r\n\r\n运行存档节点所需的存储容量更高，因为你存储了历史状态的存档。目前，运行存档节点所需的存储空间在 Geth 上约为 ~12 TB，在 Erigon 上约为 ~2 TB（随着时间的推移会增长）。此外，请记住，数据库大小和同步速度将因每个客户端及其配置而异。\r\n\r\n**运行全存档节点的推荐硬件要求：**\r\n\r\n- 具有 4+ 核心的快速 CPU\r\n\r\n- 16 GB+ 内存\r\n\r\n- 存储将根据客户端软件的不同而有所不同（截至 2023 年 3 月，Geth 的存档模式需要 ~13.5 TB，Erigon 需要 ~2 TB（建议 3 TB））。\r\n\r\n- 25 MBit/s 带宽\r\n\r\n![](https://img.learnblockchain.cn/2025/02/28/1-3adabd9dc46895202781d9faa8ce362a.png)\r\n\r\n## 运行节点的好处\r\n\r\n运行节点（即全节点）有助于保持网络的多样性和去中心化。它还允许你直接与以太坊交互，而无需依赖其他节点。\r\n\r\n或者，如果你不想管理运行节点的硬件和软件要求，你可以轻松地通过 QuickNode 免费获得优化的以太坊端点访问权限！QuickNode 提供对 18 多个区块链的访问，并且还在不断增加！QuickNode 还具有一组增强的 API，可以轻松查询聚合的区块链数据（例如，ERC-721、ERC-20 数据）。只需[免费创建一个账户](https://www.quicknode.com/signup?utm_source=internal&utm_campaign=guides&utm_content=ethereum-full-node-vs-archive-node)，然后点击 **创建端点** 按钮并选择以太坊主网链。一旦你的端点准备就绪，复制 HTTP 提供者 URL 以读取和写入以太坊区块链。\r\n\r\n> 请注意，QuickNode 上的存档请求包含在所有计划中，并使用 [API 积分](https://www.quicknode.com/api-credits/eth)。但是，如果你在 2022 年 7 月 25 日之前创建了 QuickNode 账户，则需要一个附加组件。\r\n\r\n## 以太坊软件客户端\r\n\r\n除了以太坊区块链是开源的之外，你还可以选择多个开源客户端。你可以在最常见的操作系统上运行这些客户端。请务必保持软件的最新状态，以防止任何安全漏洞。如前所述，以太坊正在转向 PoS 共识机制，需要运行两种不同的以太坊客户端才能作为节点参与。让我们深入了解每个客户端。\r\n\r\n#### 执行客户端\r\n\r\n对于每个执行客户端软件，你应该预期会有差异，因为每个客户端都试图吸引不同的用户群体并提供不同的功能。查看每个客户端软件的 GitHub 存储库以获取更多信息。请注意，这些执行客户端可以在全模式和存档模式下运行。\r\n\r\n以太坊主网和测试网（如 Sepolia 和 Goerli）最受欢迎的执行客户端库包括：\r\n\r\n- [**Geth**](https://github.com/ethereum/go-ethereum)：用 Go 编写；支持大多数操作系统和网络\r\n- [**Nethermind**](https://github.com/NethermindEth/nethermind)：用 C#、.NET 编写；支持大多数操作系统和网络\r\n- [**Erigon**](https://github.com/ledgerwatch/erigon)：用 Go 编写；支持大多数操作系统和网络\r\n- [**Besu**](https://github.com/hyperledger/besu)：用 Java 编写，支持大多数操作系统和网络\r\n\r\n#### 共识客户端\r\n\r\n共识客户端随着共识机制（PoS）更新而引入。它们支持信标链，并为执行客户端提供共识层。共识客户端也可以在全模式和存档模式下运行。\r\n\r\n最受欢迎的共识客户端包括：\r\n\r\n- [**Prysm**](https://github.com/prysmaticlabs/prysm)：用 Go 编写；支持大多数操作系统和网络（例如，信标链、Gnosis、Goerli、Pyrmont、Sepolia）\r\n- [**Teku**](https://github.com/ConsenSys/teku)：用 Java 编写；支持大多数操作系统和网络（例如，信标链、Gnosis、Goerli、Sepolia）\r\n- [**Lighthouse**](https://github.com/sigp/lighthouse)：用 Rust 编写；支持大多数操作系统和网络（例如，信标链、Goerli、Pyrmont、Sepolia）\r\n\r\n每种类型的客户端都有不同的同步设置，但本指南不会深入探讨这些细节（你可以在每个以太坊客户端的 GitHub 上找到更多相关信息）。\r\n\r\n## 选择硬件运行节点时的建议\r\n\r\n在处理以太坊虚拟机（EVM）内的交易或与 EVM 交互的 JSON-RPC 调用时，例如同步新区块、调用智能合约或跟踪交易数据，你必须记住的是，EVM 并不适合并行处理。这意味着你的 CPU 的“单核”性能在节点性能中起着重要作用。现代处理器，尤其是在服务器端，通常倾向于高核心数而不是时钟速度和每时钟指令（IPC）性能。这通常会导致在花费大量资金购买“快速”服务器后性能不佳。在选择硬件时请尽可能记住这一点。\r\n\r\n另一个需要考虑的是 RAM——消费级硬件最大的限制之一通常是它们的存储性能。即使是现代的 PCIe Gen 4 NVMe SSD 也无法与 DRAM 的延迟性能相媲美。这意味着你的系统中的 RAM 越多，你的节点可以缓存的数据就越多。更多的 RAM 几乎总是更好，并且可以减少存储的磨损。大多数以太坊客户端都非常擅长缓存尽可能多的数据，并减少需要从磁盘读取或写入数据的频率。显然，超过一定点后会有递减的回报，但区块链状态目前正在不断增长。不要吝啬。\r\n\r\n最后，在考虑存储时，你通常希望在不超出预算的情况下购买最快的存储。NVMe 通常会比 SATA SSD 提供性能提升。避免使用 QLC 和 PLC 闪存，因为这些闪存在“持续写入”期间往往会遭受显著的性能下降，并尽可能避免使用网络附加存储。网络存储增加的额外延迟通常对节点性能非常不利。\r\n\r\n## 最后的思考\r\n\r\n恭喜！你现在对以太坊全节点和存档节点有了更好的理解。查看我们的其他以太坊指南[这里](https://learnblockchain.cn/quicknode)。\r\n\r\n有想法、问题或想展示你所学到的内容？在 [Discord](https://discord.gg/quicknode) 上告诉我们或通过 [Twitter](https://twitter.com/QuickNode) 联系我们。\r\n\r\n#### 我们 ❤️ 反馈！\r\n\r\n[让我们知道](https://airtable.com/shrKKKP7O1Uw3ZcUB?prefill_Guide+Name=Ethereum%20Full%20Node%20vs.%20Archive%20Node) 如果你有任何反馈或新主题的请求。我们很乐意听取你的意见。\r\n\r\n>- 原文链接： [quicknode.com/guides/inf...](https://www.quicknode.com/guides/infrastructure/node-setup/ethereum-full-node-vs-archive-node)\r\n>- 登链社区 AI 助手，为大家转译优秀英文文章，如有翻译不通的地方，还请包涵～"},"author":{"user":"https://learnblockchain.cn/people/25306","address":null},"history":null,"timestamp":1740754368,"version":1}