作者| GaryMa吳說區塊鏈

2 月6 日, Solana 網路再次發生「久違」的宕機,上次宕機時間約為2023 年2 月25 日。根據VanEck 數位資產研究負責人matthew sigel 表示,本次Solana 宕機是由於BPF(Berkley Packet Filter)載入器發生故障,這是在Solana 上部署、升級和執行程序的機制。這可能與先前的SMID 提案有關,該提案增加了一個阻止在BPF 中使用元資料的攔截器,因為這些元資料已經不再需要了。這來自0093 升級,但裡面出現了某種錯誤,該錯誤在測試網路上被發現並且創建了修復方案,但尚未實施。猜測有人手動觸發了該錯誤,導致Solana 宕機。

Solana 的「宕機」問題先前常遭社區詬病,雖然過去一年網絡基本穩定運行,但過去Solana 已經經歷了數次宕機或者網絡卡死的情況,吳說整理如下:

1. 2024 年2 月6 日,BPF(Berkley Packet Filter)載入器發生故障,宕機的時間為4 小時46 分鐘。

2. 2023 年2 月25 日,Solana 主網效能出現問題,無法處理使用者交易。後Solana 發布改進網路升級計劃,包括改進Solana 升級過程、組建對抗團隊、改進重啟過程等措施。

3. 2022 年10 月1 日附近,因節點配置錯誤導致網路宕機。

4. 2022 年8 月3 日附近,Solana 錢包出現大規模盜幣,最終發現是由於中心化Sentry 伺服器引發的漏洞。

5. 2022 年6 月1 日附近,由於交易中的durable nonce 功能漏洞,導致網路重啟,中斷時間約4.5 小時。

6. 2022 年5 月1 日附近,由於一個NFT 新項目鑄造,大量機器人交易湧現導致主網節點失去共識,之後暫停出塊長達7 小時。

7. 2022 年1 月21 日附近,由於市場波動較大,網路充斥著大量套利機器人提交的交易,導致網路引發嚴重負載,中斷時間長達30小時。不過當時官方僅是將其定性為效能下降(Degraded Performance),Solana 社群隨後將主網更新至1.8.14 版本,嘗試改善網路狀態。

8. 2021年9月14日附近,由於去中心化社交網絡協議Grape Protocol 在Raydium 平台上的IDO 活動火熱,許多用戶通過編寫的機器腳本發送大量交易,這些交易造成“內存溢出”,導致驗證節點崩潰,最終整個網路無法出塊,中斷時間長達17 小時。

9. 2021 年9 月3 日附近,網路不穩定,效能下降,持續時間約1 小時。

10. 2021 年5 月4 日附近,網路效能下降,導致大量交易無法成交。

回顧歷史網絡事件,我們會發現大量交易的湧現是造成歷史網絡中斷的主要原因,這可能跟Solana 的機制相關,據邊界智能研究院院長胡智威表示,由於Solana 將共識消息也作為一種特殊的事務訊息在驗證節點間傳遞,大量的訊息堵塞導致了共識訊息無法正常傳遞,而使得共識無法正常進行。同時Solana 的一些特性被針對性的利用導致了網路宕機。例如為了並發處理事務的寫入鎖定(write-lock)在許多重要位址上被鎖定,使得事務變成順序執行而非並發,極大的影響了對訊息的處理能力;節點為處理分叉,不斷保留了可能的分叉信息,導致內存溢出等。

面對常見的垃圾交易湧現導致網路效能下降甚至宕機,Solana 聯合創始人Anatoly Yakovenko 先前也承認了該問題,並表示引入「實際的流量控制(actual flow control)來解決該問題。至於像交易nonce 、節點配置錯誤等起因導致的網路宕機,Solana 官方事後也迅速發布修復版以供節點升級。

這時隔一年的再度宕機,可能既是好消息也是壞消息,但更多是一種警惕,特別是在當前Solana 生態熱度逐漸升溫的背景下,網絡穩定性依舊是需要重力投入的環節。

參考連結:

https://mp.weixin.qq.com/s/JwPpmJOxIIsR7MzY_CtDog

https://twitter.com/SolanaStatus

https://twitter.com/laine_sa_