Solidity 0.8.38 修復 Yul 最佳化器錯誤並改善編譯

Solidity 0.8.38 修復了 Yul 最佳化器中一個低嚴重度的錯誤。當與地址相關的變數重新賦值時,這個錯誤可能會錯誤地替換載入結果,或移除寫入儲存空間與記憶體所必需的操作。啟用 Yul 最佳化器時,Solidity 0.8.19 至 0.8.37 版本都會受到影響。版本說明指出,沒有證據顯示此錯誤曾遭到利用。針對 Sourcify 已驗證合約進行的測試未發現位元組碼有任何變更,顯示此錯誤並不常見;不過,即使沒有使用內嵌組合語言,一般 Solidity 程式碼也可能觸發此錯誤。 Solidity 0.8.38 也透過提升 DataFlowAnalyzer 的效能,加快 Yul 最佳化編譯,並在 IR 函式分派器中節省一條指令。此版本為即將到來的 Amsterdam EVM 變更預作準備,並提醒 Yul 識別符 swapn、dupn 和 exchange 將成為保留字。其他更新包括命令列與 Standard JSON 介面的變更、額外修正,以及移除實驗性的 Yul CFG 輸出。此編譯器版本可在 GitHub 取得。這項安全修正與智慧合約開發者及 Ethereum 基礎設施相關,但版本本身並不表示 ETH 市場基本面有直接變化。
Neutral
此次版本更新修復了編譯器的安全問題,並提升編譯效能,但兩份摘要都沒有提到漏洞遭利用、bytecode 出現大規模變更,或對 Ethereum 網路活動造成即時影響。因此,對 ETH 價格的直接影響可能有限。短期而言,消息公開後,開發者可能會檢查編譯器版本並更新受影響的專案;除非有證據顯示已部署的合約遭到入侵,否則交易者可能不會太關注。長期來看,修復最佳化器漏洞並改進工具,有助於提升市場對 Ethereum 開發生態系的信心。不過,單靠編譯器更新並不足以成為強而有力、能推動價格朝特定方向變動的催化因素;整體市場狀況、ETH 資金流、網路使用情形及監管發展,更可能影響交易。整體而言,這則消息對 ETH 最適合評估為中性。