Polygon PoS 的 Bor 客户端在 BlockSTM V2 并行执行系统中识别出两项潜在缺陷,可能引发节点资源的非必要消耗。尽管这些漏洞不影响交易结果或共识机制,但会延长区块处理时间,进而影响网络可用性。
Bor 采用串行与并行双路径执行策略,优先采纳先完成的结果。当交易间无依赖关系时,并行处理可加速常规负载;然而,若串行路径率先完成,系统仍需等待并行路径耗尽冗余计算,造成延迟。
测试显示,串行执行可在数十毫秒内完成,而并行路径却持续运行约 11 秒。原因在于,系统仅在交易之间进行取消检查,未及时终止已无意义的并行任务。
这两个问题分别源于两方面:一是投机性执行中缓存数据无边界增长,二是合约代码哈希在重复读取时被反复计算。
| 问题 | 成因 | 修复措施 |
| 无界共享缓存 | 并行执行保留过多中间数据 | 设定缓存上限 |
| 重复代码哈希 | 相同调用触发重复哈希计算 | 在有效期内复用结果 |
当前的 Gas 机制仅针对用户操作收费,无法覆盖客户端实现带来的额外开销。因此,即使交易本身成本低,节点也可能因无效计算而承受高负载。
v2.10.3 版本在不改变执行逻辑的前提下,对并行路径进行了优化:限制共享缓存容量,并引入代码哈希结果复用机制。此举有效防止了非必要工作对节点性能的拖累。
该更新无需数据库迁移、硬分叉或节点重新同步,运营商可独立完成升级。发布说明强调,此变更完全兼容现有网络结构。
Polygon 于 10 月 5 日将私有构建版本推送至 Amoy 测试网,10 月 8 日覆盖主网。待多数验证者及主要 RPC 提供商完成升级后,于 10 月 15 日正式公布技术细节。
官方通告指出,大多数关键节点已使用私有版本。但仍有部分节点运行旧版(v2.10.2 及更早),建议尽快更新。使用私有版本的运营商可在后续维护窗口过渡至公开发布版。
对于钱包、应用等前端服务而言,未升级的节点可能返回延迟的链状态或延长交易提交时间。不过,Polygon 表示目前主网与 Amoy 上未发现实际攻击或异常利用行为。
此次补丁解决了已知的双重资源浪费问题,下一阶段重点在于推动剩余运营节点完成更新,以确保整个网络在高负载下保持响应能力与可靠性。