首页
/ Hyperledger Besu 25.6.0-RC1版本发布:Sepolia测试网预合并历史数据清理功能解析

Hyperledger Besu 25.6.0-RC1版本发布:Sepolia测试网预合并历史数据清理功能解析

2025-06-29 12:41:59作者:齐添朝

Hyperledger Besu是区块链网络的一个主流客户端实现,采用Java语言开发,由Linux基金会旗下的Hyperledger项目维护。作为企业级区块链客户端,Besu在性能优化和功能扩展方面一直处于行业前沿。

预合并历史数据清理功能概述

在区块链网络从工作量证明(PoW)过渡到权益证明(PoS)的过程中,产生了大量预合并区块数据。这些数据虽然对网络历史完整性很重要,但随着时间推移,其实际使用价值逐渐降低,却占据了大量存储空间。25.6.0-RC1版本引入的预合并历史数据清理功能,旨在解决这一问题。

核心功能解析

离线清理模式

离线清理提供了最直接的数据清理方案,适合需要快速释放存储空间的场景。该模式通过独立命令执行,无需保持节点运行:

  1. 停止Besu服务
  2. 执行清理命令
  3. 启用垃圾回收参数
  4. 等待空间回收完成

清理过程支持多线程处理,默认使用系统可用核心数减一的线程数,用户也可通过--threads参数自定义。--prune-range-size参数则控制每次处理的区块范围大小,默认值为10000。

在线清理模式

在线清理适合不能接受服务中断的生产环境,通过--Xhistory-expiry-prune参数启用。该模式下,节点会随着新区块的产生逐步清理旧数据,默认每产生一个新区块清理100个旧区块。清理进度会实时记录在日志中,便于监控。

全新同步选项

对于新部署的节点,可使用--Xsnapsync-synchronizer-pre-merge-headers-only-enabled参数进行同步,该模式仅下载预合并区块的头部信息,大幅减少初始同步所需存储空间。

技术实现细节

存储优化机制

清理功能通过--Xhistory-expiry-prune参数激活的垃圾回收机制,采用优化的数据库压缩策略,确保被标记删除的数据能有效释放空间。这一过程可能需要24-48小时才能完全体现存储节省效果。

Eth/69协议支持

作为配套功能,该版本实验性支持EIP-7642定义的Eth/69协议,通过在STATUS消息中广播最早可用区块信息,优化节点间的数据同步效率。可通过--Xeth-capability-max=69参数启用。

应用场景建议

对于Sepolia测试网的不同使用场景,建议采用不同的清理策略:

  1. 新节点部署:直接使用头部同步模式,避免下载不必要的数据
  2. 现有全节点:根据业务连续性要求选择在线或离线清理
  3. 归档节点:等待后续版本支持,当前版本不适用

未来演进方向

当前版本为Sepolia测试网专用,主网版本将在测试验证后发布,届时相关实验性参数将升级为正式功能,SNAP同步模式的历史数据清理行为将成为默认选项。

该功能的引入标志着区块链客户端在存储效率优化方面迈出重要一步,为后续网络升级奠定了技术基础。对于运行区块链节点的用户而言,合理利用这些新特性将显著降低运营成本,提升节点运行效率。

登录后查看全文
热门项目推荐