Reth 2.0 通过引入流水线执行和分层存储架构,实现了1.7 Gigagas/s的吞吐量和约240GB的磁盘占用(或170GB快照下载)。主要优化包括:Sparse Trie Cache 持续内存状态根计算,Partial Proofs 减少冗余磁盘 I/O,以及将历史数据移至静态文件实现冷热数据库分离。这些改进使区块持久化速度提升20倍,并支持最小化节点模式,可仅需<300GB磁盘运行以太坊主网。此外,Reth 2.0 提供了模块化快照工具,10分钟即可完成同步。
Reth 1.0 确立了 节点即库 的方法,能够满足以太坊对稳定性和功能完备性的要求,也支持 Layer 2 网络所需的可扩展性。借助 Reth 2.0,我们将重点转向了性能和存储效率的下一个前沿。
Reth 2.0 实现了 1.7 Gigagas/s 的性能 1,同时保持了大幅缩减的磁盘占用,大约 240 GB(或约 170 GB 的快照下载)。
这些指标正在我们的生产节点上实时验证——以太坊主网和 Tempo 主网,后者是我们的高性能链,旨在达到网络吞吐量的物理极限。
下载快照 亲自体验,或查看 ethPandaOps 实验室仪表板 获取与其他以太坊客户端的第三方比较。下图是 ethPandaOps 实验室仪表板中 Reth 的历史“胜率”图,衡量了 Reth 验证区块速度领先于其他客户端的比例:

为了达到这些速度,我们彻底改写了 Reth 处理区块数据和与磁盘交互的方式。
“状态根”是代表整个网络状态的单个哈希值。过去,计算状态根是一个串行瓶颈,因为节点必须等待交易执行完成后才能计算最终的状态根。Reth 已经通过 Sparse Trie 实现了并行化:在后台更新状态根的同时并行执行交易。
Reth 2.0 引入了 Sparse Trie 缓存,这是一个在内存中跨区块持续存在的状态树表示。以前,状态根任务必须为每个区块重新构建其树的工作视图。通过在内存中保留这个结构,Reth 2.0 将每个主网区块结束时计算最终状态根的时间缩短到仅 1–2 毫秒。
当交易更新账户时,Reth 必须将该账户及其 Merkle 证明加载到稀疏树缓存中。以前,这涉及为每次更新从磁盘获取大量冗余数据集。
Reth 2.0 引入了 部分证明。Reth 现在不再为每次变更获取完整路径(即证明),而是仅检索树中尚未缓存的独特部分。这消除了冗余的磁盘查找,使每个区块的证明请求数量减半,从而显著减少了 I/O 操作。
下图展示了实际效果,使用 reth-bench 2 在以太坊主网上测量:

数据库大小是扩展性最困难的挑战之一。Reth 2.0 通过几种方式解决了这个问题:
这有两个影响:
保存一个标准区块现在平均只需 40 毫秒,即使是巨大的“千兆 gas 级”区块也只需 400 毫秒即可持久化。在 Reth 存储 v1 上,这种大小的区块需要 8.4 秒才能持久化,存储 v2 的持久化速度提高了约 20 倍。
这也带来了一个很好的副作用:你现在可以无缝地在全节点和归档节点之间切换,只需挂载对应的静态文件即可!

这种架构支持 最小模式,这是 Reth 的一种配置,省略了节点中大量的历史数据和索引数据。Reth 只存储验证所需的哈希状态表和树数据。现在一个 Reth 主网节点只需不到 300GB 磁盘即可同步!
需要比最小模式更多的数据吗?你可以通过修剪配置选择任意组合的额外数据——区块头、交易、收据、变更集(及其对应的 RocksDB 索引)。你只需选择你的用例所需的数据,不多不少。
更小的数据库意味着更快的快照。你可以获取快照并同步一个最小节点:
就这些。新的模块化快照工具让你能精确选择所需组件,支持并行流、自动恢复和开箱即用的配置生成。详情请见 snapshots.reth.rs。
未来几个月,我们将通过更多性能优化加速 Reth,包括通过 revmc 实现 AOT/JIT 执行,我们最近重新开始了这方面的工作,因为状态根计算已不再是我们的瓶颈。我们还将通过即将到来的 Glamsterdam 硬分叉 中的 BAL 实现完全并行执行。
去运行 Reth,加入我们的 社区,或者如果你想合作,直接联系 georgios@paradigm.xyz;我们正在 招聘顶尖的全职 Rust 工程师。
GitHub 上见。
Reth 团队编写
硬件规范
CPU: AMD EPYC 4585PX (16c/32t) @ 4.3 GHz (5.7 GHz Boost)
RAM: 128 GB 3600 MHz
存储: 2×960 GB NVMe SSD + 2×1.92 TB NVMe SSD (软件 RAID)
. ↩
硬件规范
CPU: AMD EPYC 4585PX (16c/32t) @ 4.3 GHz (5.7 GHz Boost)
RAM: 128 GB 3600 MHz
存储: 2×960 GB NVMe SSD + 2×1.92 TB NVMe SSD (软件 RAID)
. ↩
reth download -y && reth node
隐藏脚注
- 原文链接: paradigm.xyz/2026/04/rel...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
作者暂未设置收款二维码