加载价格数据中...
Arweave Protocol

2026 年 1 月 Arweave 代码更新详情

2026-01-21

2026 年 1 月 Arweave 代码更新详情
截至 2026 年 1 月 15 日,Arweave 官方仓库在短短半个月内已经产生了约 95 个提交。贡献高度集中但方向非常清晰,包括数据同步、网络性能、稳定性、可观测性,以及开发与测试基础设施。这些更新并不喧哗,却直接决定了 Arweave 是否真的能承载「永久存储」这一长期承诺。

整体更新概览

截至 2026 年 1 月 15 日,Arweave 仓库在年初阶段已累计约 95 个提交,代码主要由 James Piechota 与 Lev Berman 贡献。更新节奏密集,但方向高度集中,整体呈现出以下特征:
  • 明显偏向系统级优化,而非新增用户侧功能
  • 大量提交围绕真实生产环境暴露的问题
  • 多项改动涉及底层同步与网络模型,影响范围广
  • 测试、监控与开发工具同步推进,强调可维护性

基于 Footprint 的索引与同步系统

Footprint 机制是本阶段最重要的结构性更新之一,相关改动虽然最早引入于 2025 年中,但在 2026 年初仍在持续打磨与完善。主要变化包括:
  • 新增 API 接口
    • GET /footprints/{partition}/{footprint}:查询指定分区下的足迹数据
    • GET /footprint_buckets:获取足迹存储桶信息
  • 同步机制调整
    • 在传统区块同步与足迹同步之间交替执行
    • 新增 sync_from_local_peers_only 配置项,允许节点限制同步来源
  • 性能与并发控制
    • 引入 LRU(最近最少使用)熵缓存
    • 对并发熵生成过程加入互斥锁,避免重复计算
该更新共涉及 48 个文件修改、2400+ 行新增代码,标志着 Arweave 正在从「以区块为中心的同步」逐步演进为「以数据足迹为中心的同步模型」,为后续更复杂的存储与同步场景奠定基础。

网络连接与吞吐性能优化

在 2026 年 1 月的一次关键提交中,Arweave 对 HTTP 网络层的默认配置进行了显著调整。在真实生产环境中,运行完整区块链数据的节点通常会维持 4000–6000 个并发连接,而此前 Cowboy 的默认配置明显偏低,导致部分节点出现:
  • 区块广播延迟
  • 请求排队与超时
  • 高负载下性能不稳定
具体调整后,最大连接数从 1024 到 5000,接收器数量从 10 升级到 500。该调整显著提升了节点在高并发场景下的网络处理能力,尤其改善了使用机械硬盘的节点在区块同步与广播过程中的表现。

关键稳定性与 Bug 修复

2026 年 1 月的大量提交集中在修复潜在的系统稳定性问题,以下为几项代表性修复。

1. Erlang Atom 表耗尽风险

  • 问题:每个 ar_peer_worker 进程都会注册新的 atom,长期运行可能耗尽 Erlang atom 表
  • 修复:重构 peer worker 的注册逻辑,避免为每个进程创建独立 atom
  • 影响文件:ar_peer_worker.erl、ar_peer_worker_sup.erl

2. Footprint 同步限制的竞态条件

  • 问题:异步 enqueue_task 与同步 process_queue 组合可能突破足迹限制
  • 修复:将 enqueue_task 改为同步调用,彻底消除竞态
  • 结果:在不引入性能回退的情况下提升稳定性

3. 多交易区块中的数据根验证

  • 问题:在包含多个交易的区块中,数据根验证存在边界缺陷
  • 修复内容:
    • 修正跨区块边界的数据根处理逻辑
    • 将验证逻辑迁移至 ar_data_root_sync.erl
    • 重构并扩充相关测试(约 140 行)

4. 活跃足迹记录保持问题

  • 问题:近期代码调整破坏了活跃足迹记录的保持机制
  • 修复:恢复并修正足迹状态追踪逻辑,确保同步状态准确

5. Peer Worker 调用超时

  • 问题:gen_server:call 在高负载下出现超时
  • 修复:合理延长超时时间,避免误判失败

测试体系的持续增强

2026 年初,Arweave 对测试基础设施进行了多项补强。
  • 新增 ar_test_runner 模块
    • 支持运行单个测试用例
    • 更便于定位与调试问题
  • 大型存储模块端到端(E2E)测试
    • 覆盖边界条件与性能场景
  • 数据同步协调器测试修复
    • 提升测试稳定性,减少偶发失败
这些改动显示,测试已不再只是验证功能正确性,而是开始承担 长期系统演进的安全网角色。

监控与可观测性改进

为更好地理解系统在生产环境中的行为,多个新的监控指标被引入或优化。
  • 数据发现过程指标
  • HTTP 状态码记录优化(使用原始数值而非字符串)
  • 新增 sync_chunks_skipped,用于跟踪已同步但未写入的数据块
这些指标为定位同步瓶颈、网络异常与存储行为提供了更精细的数据基础。

数据同步与缓存机制优化

围绕数据同步与熵缓存,代码中出现了一系列连续优化:
  • 将 ar_entropy_cache 从 gen_server 架构改为更轻量实现
  • 新增熵缓存相关指标
  • 使用 MiB 作为缓存配置单位,而非熵数量
  • 限制同时进行的足迹同步数量,防止资源被过度占用
  • 优化分区迭代策略,提升整体同步效率
这些改动共同指向一个目标:在数据规模持续增长的前提下,控制同步成本与资源消耗。

开发工具与工程化改进

在工程与开发体验层面,也出现了多项实用更新。
  • 新增 scripts/system_info.sh
    • 以 YAML 格式输出构建时使用的软件与库版本
    • 已集成进 GitHub Actions 流程
  • 引入 Cursor AI 项目规则
    • 为 AI 辅助编码提供明确的项目约束
    • 提升自动生成代码的可维护性

架构与内部结构调整

为提升代码可读性与长期维护性,Arweave 对部分内部结构进行了整理:
  • 同步过程中的 peer 处理逻辑拆分至独立模块
  • 数据同步任务状态统一命名规范
  • 引入 idle peer worker 的自动清理机制,防止资源泄漏
 
从 2026 年 1 月的代码更新可以看到,Arweave 当前阶段的开发重点并不在「快速推出新功能」,而是在提升节点在真实生产环境中的运行能力、减少长期运行下的潜在稳定性风险、为更大规模的数据同步与存储做好工程准备,以及强化测试、监控与开发工具,支撑未来复杂度增长。这些更新整体呈现出一种 偏底层、偏工程、偏长期 的特征,也为后续网络规模与使用场景的扩展提供了更稳固的基础。