今日稍早,以太坊發佈官方公告表示,決定延遲君士坦丁堡(Constantinople)升級,以太坊主要客戶端 Go-Ethereum(Geth)和 Parity 相應發佈軟件更新版本。
區塊鏈安全研究公司 Chain Security 於 1 月 15 日發現君士坦丁堡計劃中的 EIP 1283 存在安全漏洞。有鑑於此,以太坊當天進行開發者電話會議,一致決議延遲網路升級,唯具體升級時間待定。
據了解,若該漏洞被濫用則有可能會再次發生攻擊事件,允許攻擊者多次從同個來源撤回資金。由於主流客戶端軟件已在硬分叉前進行更新,為了避免硬分叉的發生,一些主要的以太坊應用開發人員已陸續發佈最新版本。
Geth 發布了「緊急修補程序(版本 1.8.21)」,旨在延遲升級。開發人員 Péter Szilágyi 指出,若有用戶不想升級到 1.8.21 版本,他們也可以將現有客戶端降級到 1.8.19 版本,或可仍舊使用 1.8.20 版本,但前提必須使用「‘–override.constantinople=9999999」,進而延遲硬分叉。
至於 Parity 的用戶,該公司安全負責人 Kirill Pimenov 建議將現有客戶端升級到 2.2.7(穩定版本)或 2.3.0(測試版),較不推薦降級到 2.2.4(測試版)。他解釋道,「將 Parity 降級到君士坦丁堡之前的版本是一個壞主意,我們不建議任何人這麼做。從理論上來講,雖然它可以延遲硬分叉的發生,但我們不想處理這個較不理想的狀況」。
既是以太坊硬分叉貢獻者、 Parity 的 Release Manager Afri Schoedon 亦公開表示,「雖然 2.3.0(測試版)及 2.2.4(測試版)是可以使用,但我建議使用 2.2.7(穩定版本)」。
以太坊核心開發人員 Hudson Jameson 強調,任何「不運行節點」、「以其他方式參與網絡的人」、「錢包用戶」或「代幣持有者」,均不需做任何事情。他還提到,「智能合約所有者也無需有任何行動,但『可以選擇檢查潛在漏洞的分析,並檢查你的合約』,而引入該漏洞的更改將不會被啟用」。
截至以太坊發佈消息之時,Chain Security 和 TrailOfBits 的安全研究人員仍在分析整個區塊鏈。
目前為止,以太坊實時合約中並沒有發現漏洞的實例。然而,Jameson 指出「部分合約可能還是會受到影響」。
Chain Security 首席運營官 Matthias Egli 解釋說,EVM 的核心開發人員不可能輕易發現此漏洞。但他還表示,「我認為這是個正確的決定,至少讓研究人員有時間評估影響。這個(EIP 1283)很有可能被收回,將它排除在硬分叉之外,現在可能會延遲一個月」。