据 Blockworks 称,关于最近 Solana 网络中断的事后报告显示,一个先前已知的错误是造成该问题的原因。周二,该网络停机了 5 个小时,验证器(Solana 的关键基础设施层)在美国东部时间上午 10 点之前重新启动了网络。 Anza 撰写的事后分析确定,由错误引起的无限循环导致验证器在特定区块上停滞。这导致验证器无休止地重复操作,从而阻止网络处理更多交易。
Solana 的即时 (JIT) 编译缓存遇到错误,导致某些旧程序出现无限循环重新编译、独占网络资源并停止操作。因此,旨在通过实时编译代码来提高性能的编译器成为了瓶颈。 Solana 团队在新版本中部署了修复程序来解决该错误并防止此类循环。该问题与最近 Devnet 中断调查期间发现的错误一致,并且即将部署补丁。
该问题于 2022 年 4 月首次向 Solana 安全团队报告。该报告解释说,该修复消除了创建触发该错误所需先决条件的能力,从而提供了更简单的解决方案。更全面的修复将包含在对 LoadedPrograms 的进一步改进中,并允许在常规发布周期中保持稳定。
此次中断是 Solana 自成立以来第六次重大中断。上次停电发生在去年二月。 Solana 的原生资产 SOL 的价格因中断消息而短暂下跌,但很快就恢复了。市场数据表明,随着时间的推移,市场对 Solana 网络中断的反应变得更加平静。