登录
注册
上周,Sui 主网在短短 48 小时内遭遇了三次严重中断,Sui 基金会随后发布了详尽的事故报告,揭示了故障背后的深层技术逻辑。此次危机的根源在于 1.72 版本升级引入的'地址余额'新功能,该功能旨在优化资金存储与交易费用支付流程,却意外与现有的 Gas 收费逻辑产生了严重的兼容性问题。午方 AI 梳理发现,这一设计缺陷在部署前未被识别,导致网络在处理并发交易时暴露出致命漏洞:当两笔交易试图同时从同一'地址余额'扣款而资金不足时,系统虽按预期取消了其中一笔,却在收取费用前错误地尝试从已标记取消的交易中扣除 Gas 费,致使账户余额出现本不该存在的负数,进而引发验证节点崩溃。
第一次故障爆发于周四上午,网络停摆长达六个半小时,直至足够数量的验证节点安装了紧急补丁才得以恢复。
然而,开发团队当时便坦言,该临时补丁存在局限性,若交易因多种相互掩盖的原因被取消,仍可能触发同类故障。为了优先恢复网络运行,团队选择承担这一风险并着手开发永久方案。果不其然,周五上午,在特定条件下,第二次故障如期而至,网络再次中断约三个半小时。此时,核心开发团队已准备好永久性修复补丁,验证节点重启并更新后,网络暂时恢复了正常运行。
然而,这次重启过程却意外埋下了第三次故障的隐患。Sui 网络依赖分布式密钥生成协议来确保每个时代开始时的交易随机性,该机制要求一定数量的验证节点参与。午方 AI 注意到,当节点因安装补丁而重启时,在线节点数量暂时跌破了最低阈值,导致随机性生成机制按设计逻辑自动关闭。问题的关键在于,系统未能将这一'关闭状态'持久化写入硬盘,导致节点重新上线后误以为机制仍在运行。依赖随机性的交易因此陷入无限排队,负责清理排队任务的进程也随之卡死,直接引发了持续近六个小时的第三次故障。
最终的永久性解决方案不仅修复了 Gas 收费机制中的逻辑缺陷,还解决了随机性生成机制状态持久化的问题。团队额外引入了一种新机制,允许验证节点在协调一致的时间点强制结束陷入异常的时代,正是利用这一功能,网络成功退出了受影响的周期并恢复正常。Sui 基金会明确确认,在整个动荡过程中,没有任何用户资金受损,所有已确认的交易均未被撤销。事后分析指出,能够访问验证节点日志和生产数据的 AI 工具在此次事件中发挥了关键作用,显著加速了故障诊断与排查效率。
基于此次事件,团队已锁定三个亟需深化的研究方向:增强系统在每个时代结束时的稳定性、提升 Gas 收费代码质量,以及改进故障隔离机制以防止局部问题导致全网瘫痪。午方 AI 分析认为,随着 Gas 收费逻辑日益复杂,仅靠传统的代码审查已难以完全规避此类异常,必须在下一个升级周期前建立更严密的系统保护措施,以确保网络在面对复杂并发场景时的鲁棒性。