EIP-7870: 硬件和带宽建议
验证者和完整节点的系统建议
Authors | Parithosh Jayanthi (@parithosh), Kevaundray Wedderburn (@kevaundray), Josh Rudolf (@jrudolf), Dankrad Feist (@dankrad), Justin Traglia (@jtraglia), Ignacio Hagopian (@jsign), George Kadianakis (@asn-d6), Fredrik Svantes (@fredriksvantes), Carl Beekhuizen (@carlbeek), Toni Wahrstätter (@nerolation) |
---|---|
Created | 2025-01-26 |
摘要
本提案规定了不同类型的以太坊节点的硬件和带宽建议:
- 完整节点:跟踪链的顶端但不一定提议区块的节点。
- 验证者:分为:
- 证明者:验证并证明提议者创建的区块的验证者。
- 本地区块构建者(提议者):在本地创建区块并将其广播到网络的验证者。
本地区块构建者的资源密集型方面在于创建区块并快速广播证明者及时验证它所需的数据。
我们注意到,可以使用低于推荐规格的客户端运行,但是基准测试和决策将根据这些建议进行。
动机
清晰的系统规范对于以下方面至关重要:
- 确保跨不同客户端实现的有意义的基准比较。
- 能够就协议升级及其资源使用影响做出明智的决策。
- 为节点运营商提供明确的指导,以确保与未来的网络需求保持一致。
如果没有对目标硬件规格的共识:
- 由于测试环境不一致,基准测试结果会失去意义。
- 对于实现选择,决策变得具有挑战性,因为性能特征在很大程度上取决于硬件。
- 网络参与者缺乏明确的硬件投资指导。
规范
角色及其推荐规格
节点运营商通常在同一台机器上运行执行层(EL)客户端和共识层(CL)客户端。以下规格假设两者的组合资源使用量。
节点类型 | 存储 | 内存 | CPU 核心 / 线程数 | PassMark CPU 评级 | 带宽下载 / 上传 |
---|---|---|---|---|---|
完整节点 | 4 TB NVMe | 32 GB | 4c / 8t | ~1000 ST / 3000 MT | 50 Mbps / 15 Mbps |
证明者 | 4 TB NVMe | 64 GB | 8c / 16t | ~3500 ST / 25000 MT | 50 Mbps / 25 Mbps |
本地区块构建者 | 4 TB NVMe | 64 GB | 8c / 16t | ~3500 ST / 25000 MT | 100 Mbps / 50 Mbps |
近似的单线程(ST)和多线程(MT)PassMark CPU分数。例如,3500的PassMark ST评级和25000的MT评级通常对应于大约2024-2025年的中高端服务器CPU。
理由
存储
- 推荐:4 TB NVMe M.2 驱动器,具有:
- 连续读/写:7,000 MB/s
- 随机 4K 读/写:高达 1,000,000 IOPS
- 为什么选择 NVMe 而不是 SATA?
- NVMe 驱动器比 SATA SSD 具有更高的吞吐量和更低的延迟。
- 不建议使用没有 DRAM(无 DRAM)或使用 QLC 闪存的驱动器,因为它们的耐久性较低,并且可能降低持续性能。
- 关于耐久性 (TBW)
- 运行节点涉及频繁的写入(例如,数据库更新,日志)。确保 SSD 的总写入字节数 (TBW) 评级足以满足多年的运行。
- 容量考虑
- 截至 2025 年 1 月,2 TB 仍然可以使用,但是每日链增长使 4 TB 更具前瞻性。
- 尽管 EIP-4444 旨在减少历史存储需求,但 EIP-4444 的时间表仍不确定。
内存
- 为什么验证者(证明者/本地区块构建者)需要 64 GB?
- 运行以太坊验证器(包括 EL 和 CL 客户端)可能会占用大量内存,其中状态缓存占用了大部分 RAM。
- 某些内存密集型客户端组合在历史上曾因 16 GB 内存而失败。可以在不同的客户端中调整缓存大小以使其工作,但是我们不假设普通用户会这样做。
- 初步的基准测试突出了 zk-STARK 内存使用情况,表明加密操作可能需要大量的 RAM。
- 相对于总硬件成本而言,从 32 GB 升级到 64 GB 的价格不高,但可以提高稳定性,并且对于 zk-STARK 而言更具前瞻性。
CPU
- 单线程与多线程性能
- 证明者和本地区块构建者都受益于高单线程和多线程性能。
带宽
本地区块构建者
- 推荐:100 Mbps 下载,50 Mbps 上传。
- 理由:
- 分发区块是高度带宽密集型的。
- 如果构建者无法满足这些速度,他们可能会面临传播速度较慢并导致区块延迟的风险。
- 在极端情况下,低带宽节点可能会提议部分完整的区块或包含较少 Blob 的区块,以缓解缓慢的广播。
证明者
- 推荐:50 Mbps 下载,25 Mbps 上传。
- 最低测试值:15 Mbps(根据 ethPandaOps 模拟,其中 40% 的网络具有千兆连接,而其他 60% 的网络具有 15 Mbps 的上传速度)。
- 但是,实际性能取决于对等网络拓扑。从理论上讲,带宽差的节点可以快速地与带宽良好的连接良好的对等方共享数据,这意味着该对等方可以快速地为网络提供种子。
- 理由:
- 选择 25 Mbps 作为缓冲区,以解决这些难以预测的混杂因素。
使用 MEV-Boost 的验证者
- 推荐:50 Mbps 下载 / 25 Mbps 上传。
- 理由:
- 大多数 MEV 中继交互都涉及获取捆绑包和区块头,这可以在典型的宽带速度内完成。
- 尽管本地验证器也会与其对等方共享该区块,但中继也会这样做,从而减少了对本地带宽的需求。
- 但是,在某些情况下,您的验证器仍然会构建本地区块,例如,如果没有 MEV 中继响应,或者 MEV 奖励的价值低于 MEV-Boost 中设置的最小配置。在这些情况下,与本地区块构建者相关的建议将是相关的。
完整节点
- 推荐:50 Mbps 下载 / 15 Mbps 上传。
- 理由:
- 完整节点当前参与采样,并且必须跟踪链顶端,但不如证明者或本地区块构建者那样对延迟敏感。
- 它们可以在较低的带宽下运行,但是如果带宽容量受到严重限制,则可能会落后于链一个或多个插槽。
快速参考摘要
- 完整节点
- 存储:4 TB NVMe
- RAM:32 GB
- CPU:4 核 / 8 线程(〜1000 ST /〜3000 MT PassMark)
- 带宽:50 Mbps 下载 / 15 Mbps 上传
- 证明者
- 存储:4 TB NVMe
- RAM:64 GB
- CPU:8 核 / 16 线程(〜3500 ST /〜25000 MT PassMark)
- 带宽:50 Mbps 下载 / 25 Mbps 上传
- 本地区块构建者
- 存储:4 TB NVMe
- RAM:64 GB
- CPU:8 核 / 16 线程(〜3500 ST /〜25000 MT PassMark)
- 带宽:100 Mbps 下载 / 50 Mbps 上传
向后兼容性
此 EIP 仅提供信息,不需要任何协议更改。 我们建议将来的 EIP 纳入对这些硬件建议的影响评估。
安全考虑
不适用
版权
通过 CC0 放弃版权和相关权利。
Citation
Please cite this document as:
Parithosh Jayanthi (@parithosh), Kevaundray Wedderburn (@kevaundray), Josh Rudolf (@jrudolf), Dankrad Feist (@dankrad), Justin Traglia (@jtraglia), Ignacio Hagopian (@jsign), George Kadianakis (@asn-d6), Fredrik Svantes (@fredriksvantes), Carl Beekhuizen (@carlbeek), Toni Wahrstätter (@nerolation), "EIP-7870: 硬件和带宽建议 [DRAFT]," Ethereum Improvement Proposals, no. 7870, January 2025. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-7870.