NEAR 开发团队完成了一项极其复杂的工程操作:在实时网络负载下,替换了所有智能合约的执行引擎。用户毫无察觉,网络不仅没有性能损失,反而获得了显著的速度提升。

此次替换涉及虚拟机的核心——NearVM,这是项目长期使用的 Wasmer 引擎的分支。正如 NEAR 前核心开发者 Vadim 所解释的,NearVM 本质上是一个“私有编译器”:所有 Rust 语言的更新、安全补丁和新功能都完全依赖项目团队自行维护。这带来了沉重的维护成本,更关键的是,存在遗漏安全漏洞的风险。据专家透露,项目曾侥幸避免了一次 Wasmer 原始代码中的严重漏洞,仅仅因为未能及时同步其版本更新。

新的底层基础是 Wasmtime——由 Bytecode Alliance 联盟支持的行业标准。此次迁移经过了精密的手术式准备:网络节点并行运行真实流量,同时通过新旧两种虚拟机,并对每个结果进行比对。测试结果令人印象深刻:执行结果完全一致,手续费差异低于 0.002%,而执行速度本身提升了约四倍。

核心难题:“禁忌”的解决方案

然而,关键难点并不在于执行本身,而在于合约的编译。在 NEAR 网络中,合约部署的编译过程必须在 600 毫秒的区块时间内完成。优化编译器没有严格的时间上限,这为攻击提供了可乘之机。团队创建了一个 128KB 的测试合约,其编译耗时约 7 秒——这足以导致区块错过时间,从而拖慢整个网络。

看似显而易见的解决方案是设置严格的编译时间限制。但 Vadim 解释,这是一条“禁忌之路”。不同的验证节点编译时间各异,一个处于临界状态的合约可能被某些节点接受,却被其他节点拒绝。结果将是由于单一的编译器配置导致网络分裂(分叉)。共识机制要求完全的确定性,甚至包括编译时间层面。

优雅的解决方案:Winch 与编译分离

团队没有采用冒险的限制方案,而是找到了另一条出路。他们引入了 Winch——Wasmtime 的单遍后端——并为其补充了缺失的功能。这极大地缩短了“最坏情况下的编译时间”:从 7.6 秒降至仅 36 毫秒。更重要的是,Wasmtime 的架构允许将编译任务分离到独立的处理器类型上,与执行节点解耦。正如 Vadim 所言:“在区块链之外工作,能享受到协议本身无法企及的奢侈。”

由开发者 Anton 宣布的 Nearcore 2.12 版本,将 NEAR 的执行环境从 NearVM 迁移到了 Wasmtime。这是一项不会登上媒体头条的工作,但对网络的长期稳定性具有巨大意义。团队在不破坏任何功能、不改变用户体验的前提下,清偿了关键的技术债务。

专家观点: 这次升级是加密领域成熟工程文化的绝佳范例。NEAR 不仅通过迁移到受支持的行业标准来加速网络并提升安全性。更重要的是,团队以优雅且无妥协的方式解决了共识难题。将编译过程移出关键执行路径,是一项架构决策,它降低了验证节点的负载,并增强了网络抵御攻击的能力。对于代币持有者和开发者而言,这是一个信号:协议正在大力投资自身基础设施,同时对最终用户保持透明。正是这类“隐形”的升级,为大规模采用奠定了坚实基础。