關(guān)於本週 Solana 網(wǎng)路中斷的事後報告指出了一個先前已知的錯誤。
週二網(wǎng)路有五個小時無法使用。驗證器是 Solana 的關(guān)鍵基礎(chǔ)設(shè)施層,負(fù)責(zé)運行向區(qū)塊鏈添加和驗證交易的軟體,然後在美國東部時間上午 10 點之前重新啟動了網(wǎng)路。
Anza 撰寫的事後分析得出的結(jié)論是,由於錯誤而導(dǎo)致的無限循環(huán)導(dǎo)致驗證器在某個區(qū)塊上停滯。無限循環(huán)會導(dǎo)致驗證器無休止地重複某個操作,並且驗證器將停止操作,從而阻止網(wǎng)路處理更多交易。
具體來說,Solana 的即時 (JIT) 編譯快取遇到了錯誤,導(dǎo)致一些舊程式出現(xiàn)無限循環(huán)重新編譯,從而壟斷網(wǎng)路資源並停止操作。
結(jié)果,旨在透過即時編譯程式碼來提高效能的編譯器成為了瓶頸。為了解決此問題,Solana 團(tuán)隊在新版本中部署了修復(fù)程序,解決了該錯誤並防止此類循環(huán)。
該問題“與最近 Devnet 中斷調(diào)查期間發(fā)現(xiàn)的錯誤一致,並將立即為其部署修補程式。”該問題於 2022 年 4 月首次向 Solana 安全團(tuán)隊提出。
「此修復(fù)消除了創(chuàng)建觸發(fā)錯誤所需先決條件的能力,這是一個更簡單的解決方案。更完整的修復(fù)將包含在對 LoadedPrograms 的進(jìn)一步改進(jìn)中,並允許在常規(guī)發(fā)布週期中保持穩(wěn)定。」報告解釋道。
此次中斷是 Solana 自成立以來發(fā)生的第六次重大中斷。 Solana 上次中斷發(fā)生在去年 2 月。
$SOL