织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

一分钟了解 Uniswap ERC 777 安全漏洞攻击背景

时间:2020-04-21 17:34来源:金库链 作者:admin1 点击:
Uniswap 上使用 ERC777 的安全性问题早在 2019 年 6 月就被发现并且公开,只是没有引起相关项目方重视。 原文标题:《uniswap 被黑》 撰文:Crypto_Investor 要了解事情经过大概需要先了解一下
Uniswap 上使用 ERC777 的安全性问题早在 2019 年 6 月就被发现并且公开,只是没有引起相关项目方重视。

 

原文标题:《uniswap 被黑》
撰文:Crypto_Investor

要了解事情经过大概需要先了解一下背景知识。

1.以太坊上的每个代币都是一个合约,一般都根据某个标准来写。只有符合同一个合约标准的合约才能被别的合约正确理解。大多数合约都是支持 ERC20 标准。然而 ERC20 标准下代币在合约之间转账有些不是很方便的地方,于是 18 年的时候 Open Zeppline 推出了 ERC 777 标准,在兼容 ERC20 的基础上加了一些新的内容。

2.Uniswap v1 有两个合约,一个是工厂合约一个是交易合约。通过工厂合约每个代币都可以和以太坊生成一个交易合约。Uniswap 是根据 ERC20 标准设计的。也就是说任何满足 ERC20 标准的合约都能够通过工厂合约注册到 Uniswap 上,不需要许可。自然,兼容 ERC20 的 ERC777 标准是可以注册上 Uniswap 的。

3. Uniswap 上使用 ERC777 的安全性问题很早就有被发现并且公开 (19 年 6 月)。ERC777 的 Uniswap 交易对会因为 ERC777 标准里有,而不存在于 ERC20 里的 一个方法 被攻击 (Re-entrance attack) 。

今天发生的攻击是在 imBTC – ETH 交易对上。imBTC(这个之前都没听说过是什么鬼,特意去查了一下) 是一个满足 ERC777 标准的代币,由 imToken 做的比特币在以太坊上的代币。代币合约本身于 19 年 10 月生成,其在 Uniswap 上的交易合约于 19 年 12 月生成。也就是说,在 Uniswap 上 ERC777 代币会被攻击的问题已经披露的情况下,还要往枪口上撞,给黑客送钱。

严格的说 Uniswap 也是存在问题 : 工厂合约不仅需要看代币是否满足 ERC20 标准,也要检查是否有额外的方法造成漏洞。然而由于 Uniswap 工厂合约 decentralized 不存在管理员,一是挡不住 imBTC 非要往枪口上撞,二是不可能为了一个比较小量的交易对把运行了一年半的合约重新部署,所以能做的也是社区多次在公众场合提出对 ERC777 标准的交易合约安全性警告。

用个可能不太恰当的比喻:比如别人给我发比特币,结果 Op Code 部分没写对,最后我的 UTXO 发不出去,我应该去咬比特币本身嘛?这样的话又和 Peter Schiff 有什么不一样呢?

看一下 Uniswap 上做市深度不降反升大概就知道这个锅不应该算在 Uniswap 头上,更不应该算在以太坊头上。imToken 的用户么我倒是会有点担心。。。毕竟 imBTC 交易合约里做市的大概都是 imToken。

(责任编辑:admin1)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容