NEAR 开发者完成了一项现代区块链中最具风险且技术最复杂的操作:他们直接在运行中的主网上替换了执行所有智能合约的虚拟机。最令人惊叹的是,绝大多数用户和开发者甚至都没有察觉到这一变化。

长期以来,NEAR 的核心是一台定制虚拟机 NearVM——它是 Wasmer 引擎的一个分支。这个“私有编译器”实际上是对创新征收的“隐形税”:每次 Rust 更新、每个新安全功能,都只能由项目团队独自承担。项目曾有一次极其幸运的经历:它偶然错过了与上游同步的时机,恰好在原始 Wasmer 中发现了一个关键漏洞。但在区块链领域,依赖运气是一种不可承受的奢侈。

最终选择落在了 Wasmtime 上——这是由 Bytecode Alliance 支持的行业标准。为了证明迁移的安全性,网络节点并行运行真实流量,通过两台虚拟机逐一比对每个结果。结果令人印象深刻:结果完全一致,手续费差异不到 0.002%,执行速度提升了约四倍。

禁忌方案与工程智慧

然而,主要挑战并不在于执行本身。在 NEAR 网络中,合约部署是在 600 毫秒的区块内直接编译完成的。优化编译器没有运行时间的上限,这为攻击打开了通道。团队创建了一个 128KB 的测试合约,其编译时间约为 7 秒——这足以“错过”区块并拖慢整个网络。

看似显而易见的解决方案是设置严格的编译时间限制。但这却成了禁忌:不同验证者编译所需时间不同,一个处于边界的合约可能被某些节点接受,而被其他节点拒绝,从而导致网络分裂。共识要求即使在构建时间层面也具备完全的可预测性。

团队找到了一个优雅的出路。他们引入了 Winch——Wasmtime 的单通道后端——并为其补充了缺失的功能。结果超出了预期:“最坏情况下的编译时间”从 7.6 秒缩短到了 36 毫秒。链下工作提供了“协议无法享有的奢侈”:编译可以交由与执行节点分离的独立处理器类型完成。

Nearcore 2.12 版本将 NEAR 的执行环境从 NearVM 迁移到了 Wasmtime。对于开发者和用户来说,一切照旧——而这正是全部意义所在。团队在不破坏任何东西的情况下,解决了关键的技术债务。这种工程文化水平很少登上头条,但正是它区分了成熟的区块链网络与实验性项目。

分析师观点: 迁移到 Wasmtime 不仅仅是简单的升级。这是一个战略举措,它卸下了 NEAR 团队维护分支的负担,并将项目与行业安全标准对接。四倍的加速是令人愉快的额外收获,但关键在于消除了“编译延迟攻击”的向量,并确保了网络的长期稳定性。这是一个“默默无闻的工作”比任何响亮声明都更能体现项目成熟度的案例。