如今,随着人们对DeFi的兴趣日益浓厚,DEX风靡一时。它们解决了常见的CEX问题,那我们也会问,DEX够安全吗?
在上一篇说明了代币本身的安全问题后|DEFI安全问题之基础篇),现在来聊聊DEX在兑换代币时可能产生的安全问题。目前DEX主要面临的安全问题大致可分成两类:
DEX项目本身存在的安全问题。
作为第三方协议,与其他DEFI项目交互时产生的安全问题。
本文将对第一类安全问题进行介绍。
Uniswap的重入漏洞的主要表现形式为:攻击者在一笔兑换交易中利用Uniswap未及时更新价格前发起二次兑换,由于此时Uniswap未更新价格,使得二次兑换可兑出的代币数量比正常兑换的多。此外,在Uniswap的重入攻击中,攻击者利用单笔交易可能只能获得微小的收益,因此攻击者往往倾向于使用闪电贷或者循环套利扩大战果。
BKEX Global将于今日17:30上线SPA:据BKEX Global公告,BKEX Global将于2020年8月28日17:30(UTC+8)上线SPA(Sperax),开放交易对:SPA/USDT。
Sperax目标是为去中心化经济打造值得信赖的基础设施,带来比传统经济模式更高效、更灵活和更具自治能力的去中心化经济。Sperax 以其原生稳定币(sCOIN)和去中心化金融服务提供商为依托,致力于在公共区块链堆栈中提供多层金融服务。[2020/8/28]
以imBTC攻击事件为例,该事件是由于UniswapV1在调用ERC777系列代币时,未充分考虑合约回调的情况。
具体表现为:攻击者使用imBTC代币兑换ETH时,合约先通过self.getInputPrice函数计算正确的ETH数额并将ETH发送到目标地址,然后调用self.token.transferFrom函数时,会调用imBTC合约的_callTokensToSend函数,而_callTokensToSend函数会调用用户指定存储imBTC代币的合约。因此,如果攻击者部署存储合约,并改写其中TokensToSend函数,那么当兑换代币时,pair(两种代币组成的交易对)合约调用攻击者部署的存储合约,就可以回调pair进行二次兑换,而二次兑换时pair合约账本还未更新,使得计算的ETH数额比正常兑换要多,以此来获利。
BKEX Global今日上线OSST,开盘涨幅超101%:据官方消息,BKEX Global今日上线OSST,OSST/USDT交易对开盘涨幅超101%,现报价4.03USDT。
OASIS绿洲是基于区块链上的虚拟世界,以实体为依托的通证化权益资产。采用POS共识机制,进行社区自治建设,旨在通过区块链建构分布式流量平台,打造分布式数字经济。同时绿洲以NFT赛道为主要切入点重点布局绿洲全景多应用生态建设,从而达成游戏+任务平台+商城+生态孵化分布式流量生态的商业模式。[2020/8/26]
且正常第二次可兑换的ETH数量为:
但重入后第二次可兑换的ETH数量为:
由此可知,在重入后第二次兑换中只有ETH的储备量减少,而imBTC储备量未增加。这样在分母不增加的情况下,导致了等量的imBTC可以兑换更多的ETH。
BKEX Global将于今日18:30上线MATIC:据BKEX Global公告,BKEX Global将于2020年8月17日18:30(UTC+8)上线MATIC(Matic Network),开放交易对:MATIC/USDT。
Matic致力于成为真正可以让开发者部署及运行去中心化应用的平台,运用侧链的链下运算来提供扩展性解决方案,同时运用Plasma和PoS机制来确保资产安全性。[2020/8/17]
针对此类安全问题,成都链安建议:
当合约涉及到资产转移时,使用“检查-生效-交互”模式来处理逻辑,对关键的业务操作可以使用OpenZeppelin官方的ReentrancyGuard进行修饰。
图8合约进行k值校验的Swap函数
该事件的具体攻击步骤如下:
加密电影众筹平台MContent完成500万美元种子轮融资,Gargash Group等领投:金色财经报道,加密电影众筹平台MContent宣布完成500万美元种子轮融资,Gargash Group、Daman Investments等领投,Fiducia Capital和英国金融科技创业基金Planet N Investments参投,本轮融资投前估值达到1000万美元。MContent已经资助了11项电影制作项目,以及一部关于萨尔瓦多比特币的纪录片,该公司此前还推出同类产品中首款内容消费平台MBrowse,后续还将进军元宇宙市场。(iwantgoldcoin)[2022/7/3 1:48:14]
1.在准备阶段攻击者部署了AAA代币合约,并使用闪电贷借来1000WBNB,兑换65140个项目方的IF代币。
2.使用其中一半的IF代币(32570个)与攻击者自己部署的AAA代币构建IF-AAA交易池。
3.执行AAA-IF-BUSD路径的代币兑换,且当Router合约调用AAA代币合约的transferFrom函数时会执行攻击者的恶意代码,重入至IF-BUSD的pair合约,并将另一半IF代币正常兑换出221897个BUSD。
4.回归到AAA-IF-BUSD路径的兑换,将之前计算的amounts值传入_Swap函数中执行这笔兑换,用一半的IF又兑换了2521897个BUSBD。
5.归还闪电贷,完成攻击。
Part.3
-DecentralizedExchange
通缩代币未设置pair为分红例外
通缩代币在交易时会产生额外的分红与手续费。如果交易合约中包含了此类代币,且没有进行特殊处理,那么,就可能导致交易对合约记录的代币储量与实际的代币可用余额不一致。
以XSquid事件为例,XSquid是一种通缩代币,未将其与WHT代币组成的pair合约地址添加奖励例外列表,造成了pair合约除了正常代币兑换和流动性存储外,还存有多余的XSquid分红奖励代币。因此,攻击者就可以调用Swap函数将pair合约多余的XSquid代币转换为WHT提取,或者通过skim函数将多余的XSquid代币直接提取。
PART.1
交易池
这类问题主要是指项目方在自己发行的代币里留有后门,创建与主流代币的交易池,诱使投资者使用手里存在价值的代币买入项目方代币,并且不断拉盘对投资者进行投资。
以下面的TRTC项目方为例,项目方创建了ETH-TRTC的交易池。但是在TRTC的代币合约对transferFrom函数做了相关限制,要求代币的转出方为owner(管理员)或者为Uniswap。因此对于投资者,仅可以通过Uniswap买入TRTC代币,而不能卖出TRTC代币。最后由项目方把投资者投入的ETH提走跑路,给投资者带来了巨大的损失。
图15TRTC合约的transferFrom函数
PART.2
项目方RugPull
RugPull是指项目方卷走投资者资金跑路的行为,目前已成为DeFi生态系统的最大局类型,项目方刻意制造代币价格暴涨的假象、许诺为提供流动性的投资者提供高回报等方式来大量聚集资金,一旦时机成熟就移除池子里的流动性或将代币卷走。这样的例子在DeFi屡见不鲜,AnubisDAO、MeerkatFinance、TurtleDEX、Squidtoken鱿鱼币等都是在卷款跑路之后,注销网站和社交媒体销声匿迹,导致投资者承担了巨大的损失。
写在最后
成都链安建议项目方使用锁仓和多重签名来控制代币流动性,避免出现砸盘跑路的情况。投资者不要被天上掉馅饼的事情冲昏头脑,防范虚假宣传。
标签:比特币DEXRTCUID比特币总市值最高点多少万亿The DAOX Indexvsportcoinsquid币价格今日行情
据Blockworks3月3日消息,LoCorrFunds和ArrowFunds两家基金正在寻求通过运行宏观策略的既定产品为投资者提供间接的比特币投资敞口.
整理:News 对于NFT掘金者而言,监测热门NFT项目、及时获取铸造预告、实时了解铸造趋势以及便捷查看稀有度数据的工具缺一不可.
原文作者:NATELIASON 原文编译:DeFi之道 在这篇文章中,作者将深入探讨代币的供应问题:代币的数量以及代币数量变化的各种方式会如何影响项目的健康发展?乍一看.
尊敬的用户:?????????BKEX即将上线STANDARD,详情如下:上线交易对:STANDARD/USDT??币种类型:ERC20充值功能开放时间:已开放交易功能开放时间:2022年3月2.
3月4日消息,RepublicCrypto与GalaxyInteractive和AlamedaResearch宣布成立游戏专项基金.
SupraOracles很高兴地宣布与Hydraverse合作,Hydraverse是一款元宇宙PVP赛龙游戏,具有“即玩即赚”系统.