臨時叫停!凌晨以太坊君士坦丁堡代碼突然爆出“可重入”漏洞

原標題:通告 | 安全警告!推遲君士坦丁堡分叉

臨時叫停!凌晨以太坊君士坦丁堡代碼突然爆出“可重入”漏洞

以太坊核心開發人員和以太坊安全社區已經認識到由 ChainSecurity 在 2019 年 1 月 15 日發現的與君士坦丁堡相關的潛在問題。我們正在調查所有潛在的漏洞,並將在博客文章和社交媒體中更新相關的信息。

出於謹慎的考慮,以太坊社區的主要利害關係人已經確定,最好的行動方案是推遲君士坦丁堡分叉,按原定計劃,該分叉將在 2019 年 1 月 16 日的 7,080,000 號區塊上發生。

臨時叫停!凌晨以太坊君士坦丁堡代碼突然爆出“可重入”漏洞

因爲,我們希望所有任何運行節點的人(節點運營商,交易所,礦工,錢包服務等)在 7,080,000 號塊之前更新到新版本的 Geth 或 Parity。7,080,000 號區塊將在本文發佈之後約 32 小時(譯者注:我們現在還有不到 29 個小時)挖出,或者說,將在美國太平洋時間 1 月 16 日晚上 8 點/美國東部時間 1 月 16日晚上11點/格林尼治標準時間 1 月 17 日凌晨 4 點開始。

臨時叫停!凌晨以太坊君士坦丁堡代碼突然爆出“可重入”漏洞

你需要做什麼

如果您是一個只與以太坊交互的人(您並不運行節點),則無需執行任何操作。

礦工,交易所,節點運營商:

  • 在 Geth 和/或 Parity 新版本發佈後及時更新您的版本。
  • 這些新版本尚未發佈。新版本可用的時候我們會更新這篇文章。
  • 鏈接和版本號以及說明將在此處提供。
  • 我們預計會在此博客發佈後的 3~4 個小時內發佈更新版本。

    Geth

  • 升級到1.8.21,或
  • 降級至 Geth 1.8.19,或
  • 保持在1.8.20,但使用開關 '-override.constantinople = 9999999' 無限期推遲君士坦丁堡分叉。

    Parity

  • 升級到 Parity Ethereum 2.2.7-stable (推薦)
  • 升級到 Parity Ethereum 2.3.0-beta
  • 降級至 Parity Ethereum 2.2.4-beta(不推薦)

    其他所有人:

    Ledger、Trezor、Safe-T、Parity Signer、WallEth、Paper Wallets、MyCrypto、MyEtherWallet 以及其他未通過同步和運行節點參與網絡的用戶或代幣持有者,

    你不需要做任何事情。

    合約所有者

  • 你不需要做任何操作。
  • 您可以選擇調查潛在漏洞並檢查您的合約。
  • 但是,你不是必須要做什麼,因爲引入此潛在漏洞的更改將不會啓用。

    背景

    ChainSecurity 的文章深入研究了潛在的漏洞,以及檢查智能合約有無相關漏洞的方法。非常簡短:

  • EIP-1283 爲 SSTORE 操作帶來了更便宜的 Gas 成本
  • 一些(已經在鏈上的)智能合約的代碼模式,可能使它們在君士坦丁堡升級發生後容易受到重入式攻擊(re-entrancy attack)
  • 在君士坦丁堡升級之前,這些智能合約不會受到影響

    使用 transfer() 或 send() 函數然後改變狀態的合約會更容易受到攻擊。這種合約的一個例子是兩方共同接收資金、決定如何分割資金,然後啓動這些資金的支付。

    推遲君士坦丁堡分叉的決定是怎麼作出的

    像 ChainSecurity 和 TrailOfBits 這樣的安全研究人員對整個區塊鏈進行了(並且仍在持續)分析。他們沒有發現任何此類漏洞的實際案例。但是,合約受到影響的可能性並非爲零。

    因爲風險並不爲零,並且排除風險所需的時間比計劃的君士坦丁堡升級之前剩餘的時間長,所以出於謹慎決定推遲分叉。

    參與討論的各方包括但不限於:

  • 安全研究員
  • 以太坊利益相關者
  • 以太坊客戶端開發人員
  • 智能合約所有者/開發者
  • 錢包提供商
  • 節點運營商
  • Dapp開發人員
  • 媒體

    時間線

  • 太平洋時間上午 3:09
  • ChainSecurity 通過以太坊基金會的 Bug 懸賞計劃負責任地披露了相關的潛在漏洞
  • 太平洋時間上午 8:09
  • 以太坊基金會請求 ChainSecurity 公開他們的發現
  • 太平洋時間上午 8:11
  • ChainSecurity 的原文公開發表
  • 太平洋時間上午 8:52
  • Martin Holst Swende 在 ethsecurity 和 Gitter 頻道 AllCoreDevs 中說:“請大家都看看這篇東西:https://medium.com/chainsecurity/constantinople-enables-new-reentrancy-attack-ace4088297d9。並且,@所有人,我們需要迅速確定潛在的後果並決定如何推進。分叉之前我們只剩下 37 個小時了”
  • 太平洋時間上午 8:52 - 10:15
  • 我們通過多種渠道討論了相關的潛在風險、鏈上分析以及我們需要採取哪些措施
  • 太平洋時間上午 10:15 - 12:40
  • 關鍵的利益相關者也通過 Zoom 音頻通話進行了討論。Gitter 和其它渠道上的討論也還在繼續
  • 太平洋時間上午 12:08
  • 決定推遲君士坦丁堡升級
  • 太平洋時間下午 1:30
  • 通過多種渠道和社交媒體公開了這篇博文

    原文鏈接:

    https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/

    翻譯&校對: Toya & 阿劍

  • 查看原文 >>
    相關文章