LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 三分钟了解 Uniswap 被黑事件背景

三分钟了解 Uniswap 被黑事件背景

2020-04-20 链闻速递 来源:链闻

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。

相关链接:

imBTC 代币地址

Uniswap imBTC 交易合约地址

来源链接:m.weibo.cn

—-

编译者/作者:链闻速递

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...