2 月 6 日, Solana 網路再次發生「久違」的當機,上次當機時間約為 2023 年 2 月 25 日。
(前情提要: Solana老病又犯!主網再傳當機,超一小時未出塊)
(背景補充: Solana當機五小時後恢復,VanEck:主因疑似人為觸發BPF加載器錯誤)
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 生態熱度逐漸升溫的背景下,網路穩定性依舊是需要重力投入的環節。
📍相關報導📍
Bankless預測2024:EigenLayer TVL突破100億美元、Solana會再當機..