Ethereum 君士坦丁堡安全漏洞對 FOD 的影響

FOD 與 Ethereum 的前世此生

FOD 是 FIBOS 生態中的穩定幣,與 USDC 1:1 錨定,其服務於須要穩訂價值衡量的應用場景。FOD 經過跨鏈網關將 ETH 鏈上的 USDC 與 FIBOS 鏈上的 FOD 價值綁定。這至關於 1:1 鎖定了流通 FOD 同等數量的 USDC,並提供穩定即時的雙向兌換。macos

Ethereum 君士坦丁堡升級對 FOD 的影響

本次 Ethereum 君士坦丁堡升級是 Ethereum 由大都會轉向寧靜前的最後一次升級,升級採起的硬分叉模式,爲了防止用戶在升級時轉帳出現問題,咱們決定暫時關閉 FOD 通道。因爲在 2019 年 01 月 16 日凌晨,Ethereum 君士坦丁堡版本被曝出安全漏洞所以 FOD 通道重啓只能延期,重啓日期須要根據 Ethereum 基金會對此次安全漏洞對處理結果待定。安全

Ethereum 君士坦丁堡安全漏洞

智能合約中 address.transfer(...)address.send(...) 存在重入攻擊漏洞。bash

漏洞產生的狀況

  1. 合約中有一個函數 A,A 中在改變狀態後調用了 transfer/send 函數。這種狀況有的時候不是很明顯,好比二次 transfer 或者內部調用另外一個智能合約
  2. 必須存在一個攻擊者可訪問的函數 B,其中(a)改變狀態,(b)狀態改變與函數 A 的狀態改變衝突。
  3. 函數 B 執行消耗須要小於 1600 gas (2300 gas 限制 - 700 gas(爲 call 提供的))

爲何這次升級會產生安全漏洞

在 Ethereum 拜占庭版本每一個存儲操做須要消耗至少 5000 gas,而 transfer/send 操做 gas 消耗要求小於 2300,在執行上述操做的時候會由於 gas 限制而沒法執行。curl

在 Ethereum 君士坦丁堡版本中,改良了 EVM 機制,從而減小了 gas 的消耗,所以出現了重入攻擊的安全漏洞。函數

Parity 客戶端升級方法

在此次安全漏洞以前的 Parity 客戶端包含了 Ethereum 君士坦丁堡版本的升級並會在區塊高度達到 7080000 時激活。針對此次的安全漏洞,Parity 官方緊急發佈了新的 Parity 版本。url

Parity 升級方法 升級指令:spa

bash <(curl https://get.parity.io -L) -r stable
複製代碼

驗證是否更新成功code

parity -v
複製代碼

獲得的結果查看版本是不是 Parity-Ethereum/v2.2.7-stableget

Parity Ethereum
  version Parity-Ethereum/v2.2.7-stable-b00a21f39-20190115/x86_64-macos/rustc1.31.1
Copyright 2015-2018 Parity Technologies (UK) Ltd.
複製代碼
相關文章
相關標籤/搜索