Solana又一次出現了「久違」的當機情況,上一次當機是在2023年2月25日。據VanEck數位資產研究負責人Matthew Sigel表示,這次的當機是由於BPF(Berkley Packet Filter)載入器出現故障,而BPF是在Solana上部署、升級和執行程式的機制。
這可能與之前的一個SMID提案有關,該提案增加了一個阻止在BPF中使用元資料的攔截器,因為這些元資料已經不再需要。這個提案來自0093升級,但在測試網上發現了某種錯誤,並且建立了修復方案,但尚未實施。有人猜測是有人手動觸發了這個錯誤,導致Solana當機。
Solana的「當機」問題在過去常常受到社群的批評,儘管在過去一年中網路基本上穩定運行,但Solana已經經歷了多次當機或網路卡死的情況,具體如下:
1. 2024年2月6日,BPF載入器故障,當機時間為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的一些特性被有針對性地利用,導致網路當機。例如,為了並發處理事務的寫入鎖定在很多重要地址上被鎖定,使得事務變成順序執行而非並發,極大地影響了對訊息的處理能力;節點為處理分叉,不斷保留了可能的分叉資訊,導致記憶體溢位等。
面對常見的垃圾交易湧現導致網路效能下降甚至當機的情況,Solana的共同創辦人Anatoly Yakovenko此前也承認了該問題,並表示引入「實際的流量控制」來解決這個問題。至於像交易nonce、節點配置錯誤等因素導致的網路當機,Solana官方事後也迅速釋出修復版本供節點升級。
這次一年之久的再度當機,可能既是好消息也是壞消息,但更多地是一種警示,特別是在當前Solana生態熱度逐漸升溫的背景下,網路穩定性依然需要重視。