DeFi浪潮下的“狠角色”DEX,安全吗

WB3交流加微信:WX-93588,⬅️此处为全站广告位,与正文项目无关
注册并登录App即可领取高达 60,000 元的数字货币盲盒:点击此处注册OKX

现在,跟着人们对DeFi越来越感兴趣,DEX(即去中心化买卖所)风行一时。它们解决了常见的CEX(即中心化买卖所)问题,那咱们也会问,DEX够安全吗?

在上一篇文章解说了代币自身的安全问题后(纯干货同享(一)|DEFI现在咱们来谈谈安全问题的基础文章DEX兑换代币时可能出现的安全问题DEX安全问题大致可分为两类:

(1)DEX项目自身存在安全问题。
(2)与其他协议它是一个需求预防的经典缝隙。与普通代币的进犯者在一笔买卖中运用Uniswap由于这个时分,价格没有及时更新建议二次兑换Uniswap未更新的价格使得二次兑换的代币数量比正常兑换的代币多。别的,在Uniswap在从头进犯中,进犯者可能只能经过单笔买卖获得微小的收入,因而进犯者倾向于运用闪电借款或循环套利来扩大成果。

以imBTC以进犯为例,这是由于UniswapV1在调用ERC777在系列代币中,合同回调没有得到充分考虑。

具体表现为:进犯者运用imBTC代币兑换ETH(如图1所示),合同先经过self.getInputPrice正确核算函数ETH数额并将ETH发送到方针地址,然后调用self.tOKen.transferFrom函数时,会调用imBTC合约的_callTokensToSend而函数(如图2所示)_callTokensToSend用户指定的存储将调用函数imBTC代币合同。因而,如果进犯者布置存储合同并重写合同TokensToSend函数,所以当兑换代币时,pair合同调用进犯者布置的存储合同,即可回调pair二次兑换,二次兑换pair核算的合同账簿没有更新ETH为了盈利,金额比正常兑换多。

图1Uniswap的tokenToEthInput函数
图2imBTC的transferFrom函数
图3imBTC的__callTokensToSend函数

具体进犯流程如下:

图4ETH-imBTC事情流程图

那为什么第2次调用呢?tokenToEthSwapInput函数兑换代币时,发送ETH会比正常兑换要多呢?咱们能够用公式来复原可兑换代币数量的代码逻辑:

首要,在正常兑换下,getInputPrice可兑换的函数核算ETH数量为:
正常第2次可兑换ETH数量为:
但从头进入后能够第2次兑换ETH数量为:

能够看出,从头进入后的第2次兑换是仅有的ETH储备量减少,而imBTC储备量没有添加。因而,在分母不添加的情况下,imBTC能够兑换更多ETH。

针对此类安全问题,成都链安建议:
当合同触及资产转让时,运用查看-生效-处理逻辑的交互模式,可用于关键事务操作OpenZeppelin官方的ReentrancyGuard进行润饰。

Part.2
-DecentralizedExchange
swap函数未对K值进行校验
Uniswap常量乘积模型是中心K=x*y,其间的K值是该pair合同持有代币数量的乘积,并要求每笔买卖完成后K必须增

此时快讯

【Memeland:“复制”功能并非Bug;Traitables协议和TraitStore即将推出】7月2日消息,Memeland发推称,今日已经举行Townhall会议“The Captainz开图& AMA”,主要内容如下:
1. 正在打造下一代“智能PFP”;
2. 今天推出“Starter Model(新手模式)”。
3. Traitables Protocol和TraitStore即将推出。
4. 品牌、创作者和其他NFT系列的可交换和可交易特征即将推出。
5.“复制(Duplicate)”是特意提供的发布策略和功能,而不是一个Bug。
6. Captainz = 特许权所有者。
据今日报道,Blur数据显示,Memeland船长系列The Captainz NFT已于昨日开图,地板价现为4.85 ETH,24小时降幅为23.62%,或因开图后未达到用户预期。
此前根据官方介绍,The Captainz持有者可以选择性别、肤色类型、特征,报告特征错误并获得赏金,创造并销售特征作为官方特征的一部分,以所有者的身份帮助扩展Memeland生态系统。

版权声明:本文收集于互联网,如有侵权请联系站长删除。
转载请注明:DeFi浪潮下的“狠角色”DEX,安全吗 | 币百度

相关文章