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.
复制代码
相关文章
相关标签/搜索