以太坊官方博客今日早間發佈 公告 ,鑑於社區發現君士坦丁堡硬分叉升級存在潛在安全漏洞,以太坊社區的主要利益相關者決定推遲這次硬分叉。 以太坊主要客戶端Parity和Geth均發布新的版本。 下文是以太坊官方博客的譯文,介紹了有關這次推遲的具體信息以及各方利益相關者需要採取的措施。 譯文如下:
以太坊核心開發者和以太坊安全社區注意到了由 ChainSecurity 於2019年1月15日發現的與君士坦丁堡硬分叉升級相關的潛在安全問題。 我們正在調查所有潛在的漏洞,並將在這篇博客文章和各媒體渠道進行更新。
出於極大的謹慎立場,以太坊社區的主要利益相關者決定,最好的做法是推遲原定於在區塊高度7080,000(大約2019年1月16日)實施的君士坦丁堡硬分叉升級。
這將要求所有運行節點的人(節點運營商、交易所、礦工、錢包服務等等)在區塊高度 7080,000之前更新到Geth或Parity客戶端的新版本。 區塊高度 7080,000將在本文發布後的大約32小時內達到,也就是大約美國太平洋時間1月16日晚上8點,或美國東部時間1月16日11點,或格林尼治時間1月17日凌晨4點。
如果您只是與以太坊交互(不運行節點 ), 你無需做任何事 。
當Geth和 / 或Parity客戶端發布新版本之後(現已發布 ), 進行更新 。
Geth客戶端 :
Parity客戶端 :
Ledger, Trezor , Safe-T, Parity Signer, WallEth , Paper Wallets, MyCrypto , MyEtherWallet 等錢包用戶,以及其他沒有通過同步和運行節點參與網絡的用戶或代幣持有者 :
以太坊合約所有者 :
這次漏洞的發現者ChainSecurity發布的 文章 中深入挖掘潛在的漏洞,以及如何檢查智能合約的漏洞。 簡單地說 :
“EIP-1283為SSTORE操作引入了更便宜的gas成本。一些智能合約(已經在鏈上了)可能會利用這種代碼模式,這會使它們在君士坦丁堡升級之後容易遭受一種重入攻擊。
只要不進行君士坦丁堡升級,這些智能合約就不會不堪一擊 。 ”
在狀態更改操作之後使用transfer ()或 send()函數的合約增加了它們易受攻擊的可能性,例如,在一種合約中,當交易雙方共同接收資金,決定如何分割這些資金,並開始支付這些資金時,就容易遭受攻擊。
安全研究人員,像ChainSecurity和TrailOfBits,對整個區塊鏈進行(目前仍在進行)分析。 雖然他們在自然環境下沒有發現任何這種漏洞的情況。 然而,仍存在一些合約可能受到影響的非零風險。
由於風險是非零的,而且確定風險所需的時間比計劃中的君士坦丁堡升級之前的可用時間要長,因此出於極大的謹慎,決定推遲這次分叉 。
參與討論的各方包括但不限於 :