时隔一年 Solana 再次停机:复习 Solana 历史性的停机记录

Solana 历史 回顾 记录 2024-02-08 39

摘要:据VanEck数字资产研究负责人matthewsigel表示,本次Solana宕机是由于BPF(BerkleyPacketFilter)加载器发生故障,这是在Solana上部署、升级和执行程序的机制。...

2 月 6 日,Solana网络再次陷入宕机,上次宕机时间约为2023年2月25日。据VanEck数字资产研究负责人Matthew Sigel表示,本次Solana宕机是由于BPF(Berkley Packet Filter)加载器出现故障,这是在Solana上部署、升级和执行程序的机制。这可能与之前的一项SMID提案有关,该提案增加了一个阻止在BPF中使用元数据的拦截器,因为这些元数据已经不再需要了。这来自0093升级,但里面出现了某种错误,该错误在测试网上被发现并且创建了修复方案,但尚未实施。猜测有人手动触发了该错误,导致Solana宕机。

Solana的“宕机”问题此前常遭社区诟病,虽然过去一年网络基本稳定运行,但过去Solana已经经历了数次宕机或者网络卡死的情况,详细事件如下:

- 2024年2月6日,BPF(Berkley Packet Filter)加载器发生故障,宕机的时间为4小时46分钟。 - 2023年2月25日,Solana主网性能出现问题,无法处理用户交易。后Solana发布改进网络升级计划,包括改进Solana升级过程、组建对抗团队、改进重启过程等措施。 - 2022年10月1日附近,由于节点配置错误导致网络宕机。 - 2022年8月3日附近,Solana钱包出现大规模盗币,最终发现是由于中心化Sentry服务器引发的漏洞。 - 2022年6月1日附近,由于交易中的durable nonce功能漏洞,导致网络重启,中断时间约4.5小时。 - 2022年5月1日附近,由于一个NFT新项目铸造,大量机器人交易涌现导致主网节点失去共识,之后暂停出块长达7小时。 - 2022年1月21日附近,由于市场波动较大,网络充斥着大量套利机器人提交的交易,导致网络引发严重负载,中断时间长达30小时。当时官方将其定性为性能下降(Degraded Performance),Solana社区随后将主网更新至1.8.14版本,尝试改善网络状态。 - 2021年9月14日附近,由于去中心化社交网络协议Grape Protocol在Raydium平台上的IDO活动火热,许多用户通过编写的机器脚本发送大量交易,这些交易造成「内存溢出」,导致验证节点崩溃,最终整个网络无法出块,中断时间长达17小时。 - 2021年9月3日附近,网络不稳定,性能下降,持续时间约为1小时。 - 2021年5月4日附近,网络性能下降,导致大量交易无法成交。

回顾历史网络事件,我们会发现大量交易的涌现是造成历史网络中断的主要原因,这可能跟Solana的机制相关。据边界智能研究院院长胡智威表示,由于Solana将共识消息也作为一种特殊的事务消息在验证节点间传递,大量的消息堵塞导致了共识消息无法正常传递,而使得共识无法正常进行。同时Solana的一些特性被针对性的利用导致了网络宕机。例如为了并发处理事务的写入锁定(write-lock)在很多重要地址上被锁定,使得事务变成顺序执行而非并发,极大的影响了对消息的处理能力;节点为处理分叉,不断保留了可能的分叉信息,导致内存溢出等。

面对常见的垃圾交易涌现导致网络性能下降甚至宕机,Solana联合创始人Anatoly Yakovenko此前也承认了该问题,并表示引入「实际的流量控制(actual flow control)来解决该问题。至于像交易nonce、节点配置错误等起因导致的网络宕机,Solana官方事后也迅速发布修复版以供节点升级。

这时隔一年的再度宕机,可能既是好消息也是坏消息,但更多地是一种警惕,特别是在当前Solana生态热度逐渐升温的背景下,网络稳定性依旧是需要重力投入的环节。

相关推荐