发布 Reth 2.0

  • Paradigm
  • 发布于 2026-04-09 11:24
  • 阅读 37

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 通过几种方式解决了这个问题:

  1. 我们现在仅在 MDBX 中存储哈希状态,去掉了普通状态表。
  2. 我们将历史账户和存储变更集移到了静态文件(我们专用的仅追加数据存储)中,并使用索引快速访问 RocksDB。

这有两个影响:

  1. 更小的数据库体积,也意味着更低的读取延迟。
  2. 更快的持久化时间,让我们能用更少的内存处理更多交易。

保存一个标准区块现在平均只需 40 毫秒,即使是巨大的“千兆 gas 级”区块也只需 400 毫秒即可持久化。在 Reth 存储 v1 上,这种大小的区块需要 8.4 秒才能持久化,存储 v2 的持久化速度提高了约 20 倍。

这也带来了一个很好的副作用:你现在可以无缝地在全节点和归档节点之间切换,只需挂载对应的静态文件即可!

最小模式

这种架构支持 最小模式,这是 Reth 的一种配置,省略了节点中大量的历史数据和索引数据。Reth 只存储验证所需的哈希状态表和树数据。现在一个 Reth 主网节点只需不到 300GB 磁盘即可同步!

需要比最小模式更多的数据吗?你可以通过修剪配置选择任意组合的额外数据——区块头、交易、收据、变更集(及其对应的 RocksDB 索引)。你只需选择你的用例所需的数据,不多不少。

快照:10 分钟启动运行

更小的数据库意味着更快的快照。你可以获取快照并同步一个最小节点:

就这些。新的模块化快照工具让你能精确选择所需组件,支持并行流、自动恢复和开箱即用的配置生成。详情请见 snapshots.reth.rs

Reth 接下来做什么?

未来几个月,我们将通过更多性能优化加速 Reth,包括通过 revmc 实现 AOT/JIT 执行,我们最近重新开始了这方面的工作,因为状态根计算已不再是我们的瓶颈。我们还将通过即将到来的 Glamsterdam 硬分叉 中的 BAL 实现完全并行执行。

去运行 Reth,加入我们的 社区,或者如果你想合作,直接联系 georgios@paradigm.xyz;我们正在 招聘顶尖的全职 Rust 工程师

GitHub 上见。

Reth 团队编写

1

硬件规范

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)

.

2

硬件规范

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 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Paradigm
Paradigm
Paradigm 是一家研究驱动型技术投资公司 https://www.paradigm.xyz/