NEAR Protocol团队完成了一项技术难度极高的操作——在主网运行期间直接替换了所有智能合约的执行引擎。按照工程师的设计,用户和开发者本应察觉不到任何变化——而他们确实做到了。
旧引擎为何成为"隐形税负"
多年来,NEAR一直依赖NearVM——流行引擎Wasmer的一个分支。问题在于,这个分支完全由项目自身团队维护。每次Rust语言更新、每个新安全功能都成为NEAR团队的负担。这不仅效率低下,而且风险极高。项目曾侥幸逃过一劫:它恰好没有与原始Wasmer同步,而后者随后被发现存在严重漏洞。在意外避开灾难后,团队意识到不能再这样继续下去。
迁移至Wasmtime:过程全记录
新的标准是Wasmtime——由Bytecode Alliance主导的行业级引擎。但简单"拨动开关"并不可行。为证明迁移的正确性和安全性,网络验证者并行运行了两套虚拟机处理所有真实流量,逐一比对结果。最终实现完全一致:手续费差异低于0.002%,而合约执行速度提升了四倍。
"禁忌"解决方案与编译器炸弹
核心工程难题不在于执行,而在于编译。在NEAR网络中,合约部署的编译过程必须在600毫秒的区块时间内完成。优化型编译器没有运行时间上限,这为DoS攻击敞开了大门。团队创建了一个128KB的"炸弹"合约,其编译耗时7秒——足以错过区块并拖慢整个网络。
显而易见的解决方案——对编译时间设置硬性限制——却成了禁忌。不同验证者编译耗时各异,统一阈值会导致网络分裂:部分节点接受合约,其他节点则拒绝。
优雅的解决方案与成果
解决方案在于集成Winch——Wasmtime的单通道后端。通过补充缺失功能,团队将"最差编译情况"从7.6秒缩短至36毫秒。链下工作带来了"协议无法企及的奢侈":编译被转移至独立于执行节点的专用处理器类型。
Nearcore 2.12版本将NEAR执行环境从NearVM迁移至Wasmtime。对开发者和用户而言,一切照旧——团队在不破坏任何功能的情况下解决了关键的技术债务。这不是能上头条的新闻,但正是这类升级让基础设施真正可靠。
分析师评论:在负载状态下替换虚拟机堪称工程学的巅峰操作。NEAR不仅解决了安全性和性能问题,更展示了其代码库的成熟度。对投资者和开发者而言,这标志着团队有能力在不影响网络的前提下完成最复杂的技术操作。