概述
在区块链上具有通缩机制的代币最近经常受到攻击。本文将讨论并分析通缩机制代币受到攻击的原因,并给出相应的防御方案。在代币中实现通缩机制通常有两种方式,一种是燃烧机制,另一种是反射机制。下面我们将分析这两种实现方式以及可能存在的问题。燃烧机制
通常,具有燃烧机制的代币将在其_transfer函数中实现燃烧的逻辑。有时候会存在发送者承担手续费的情况。在这种情况下,接收方收到的代币数量不会发生变化,但发送方需要支付更多代币,因为其需要承担手续费。下面是一个简单的例子:
然后我们讨论这种情况下可能存在的风险。如果单看代币合约,我们会发现这种写法其实没有什么问题,但是区块链中有很多复杂的情况,需要我们考虑很多方面。通常,为了让代币有价格,项目方会在Uniswap、Pancakeswap等去中心化交易所为代币添加流动性。其中,在Uniswap中,有一个函数skim,它会将流动性池中两种代币的余额和储备金的差值转移给调用方,以平衡余额和储备金:
Faraway和Novel Labs合作开发NFT游戏Serum City:4月6日消息,区块链游戏公司Faraway和Novel Labs正在合作开发以Yuga Labs元宇宙为背景的以太坊NFT游戏Serum City,该游戏是一个独立的城市建设游戏,ApeCoin将作为该游戏主要的货币,在SerumCity中,Mutant Apes是主要角色。[2023/4/7 13:49:13]
此时发送方变成了流动性池,当调用_transfer时,流动性池中的代币将被部分销毁,导致代币价格部分上涨。攻击者利用此特性将代币直接转入流动性池中,然后调用skim函数转出,然后多次重复此操作,导致流动性池中大量代币被燃烧,价格也随之飙升,最后卖出代币获利。一个真实的攻击案例,winnerdoge(WDOGE):
Bybit公布储备资产:总价值约19亿美元,稳定币占比55.08%:11月16日消息,加密平台Bybit今日与Nansen合作公布了该平台储备资产。数据显示,Bybit储备资产总价值约19亿美元,单项资产价值最高的是USDT;稳定币资产占比之和为55.08%,包括USDT、USDC、BUSD以及DAI;BTC(21.65%)以及ETH(11.17%)占比之和为32.82%;BIT储备位列第五,占比5.03%。
Bybit首席执行官Ben Zhou表示,我们也在探索新的托管方案,让用户可以查看自己的链上余额或第三方托管。Bybit保证所有用户1:1的准备金,我们确保在这个特殊时期所有用户的提款都得到及时处理。[2022/11/16 13:12:28]
在WDOGE合约的_transfer函数中,当block.timestamp>closingTime时,进入else循环。在代码第21行中,转账金额从发送方的余额中扣除,在代码第31行中,发送方又被燃烧了tokensToBurn数量的代币。攻击者利用这种手续费的机制,通过上述的攻击方式窃取流动性池中的所有价值代币(WBNB)。
美股三大指数小幅低开:8月24日消息,美股三大指数集体低开,道指下跌0.05%,纳指跌0.05%,标普500指数跌0.07%。[2022/8/24 12:46:05]
反射机制
在反射机制中,用户每次交易都会收取手续费,用于奖励持有代币的用户,但不会触发转账,只是单纯修改一个系数。在这个机制中,用户有两种类型的代币数量,tAmount和rAmount。tAmount为实际代币数量,rAmount为反映后的代币数量,比率为tTotal/rTotal,一般的代码实现如下:
西班牙监管机构命令Binance停止向该国提供衍生品,Binance已遵循命令:金色财经消息,西班牙证券监管机构CNMV已下令Binance停止向该国客户提供加密货币衍生产品。当地消息称,Binance已遵循监管机构的命令,从其西班牙客户手中撤出这些产品。(news.bitcoin)[2022/5/7 2:56:01]
反射机制的代币中一般有一个叫做deliver的函数,会销毁调用者的代币,降低rTotal的值,所以比率会增加,其他用户反射后的代币数量也会增加:
攻击者注意到这个函数,并用它来攻击相应的Uniswap的流动性池。那他该如何进行利用呢?同样从Uniswap的skim函数开始:
中国李宁推出BAYC无聊猿潮流运动俱乐部系列服装:4月24日消息,中国李宁在社交媒体上发文表示,推出中国李宁无聊猿潮流运动俱乐部系列服装,该系列服装以Bored Ape Yacht Club#4102形象为主题,融入像素风、街头风等潮流元素。同时,中国李宁将于4月23日至5月4日在线下推出无聊快闪店。[2022/4/24 14:45:48]
Uniswap中reserve是储备金,与token.balanceOf(address(this))不同。攻击者先调用deliver函数销毁自己的代币,导致rTotal的值减少,比率随之增加,所以反射后的代币的值也会增加,token.balanceOf(address(this))也会相应变大,与reserve的值出现了差距。因此,攻击者可以通过调用skim函数转出数量为两者之间差值的代币从而进行获利。
一个真实的攻击案例,BEVONFTArtToken(BEVO):
而当代币合约中存在burn函数时,存在了另外一种相似的攻击手法:
当用户调用burn函数时,自己的代币会被销毁,同时tTotal的值会减少,所以比率会降低,对应的反射后的代币数量也会减少,所以在此时流动性池的代币的数量也会减少,从而代币的价格会上涨。攻击者利用这个特性通过多次调用burn函数来减少tTotal的值,然后调用流动性池的sync函数同步reserve和balances。最后,流动性池中的代币大幅减少,价格飙升。然后攻击者出售代币以获取利润。
一个真实的攻击案例,SheepToken(SHEEP):
防御方案
通过解读针对燃烧机制和反射机制代币的攻击手法,不难发现攻击者攻击的核心点是操纵流动性池的价格,因此将流动性池的地址加入白名单,不涉及代币的销毁,不参与代币的反射机制,可以避免此类攻击。总结
本文分析了通缩机制代币的两种实现机制以及针对这两种机制的攻击手段,最后给出了相应的解决方案。在编写合约时,项目方必须考虑代币与去中心化交易所结合的情况,以避免此类攻击。关于EoceneResearch
AtEoceneResearch,weprovidetheinsightsofintentionsandsecuritybehindeverythingyouknowordon’tknowofblockchain,andempowereveryindividualandorganizationtoanswercomplexquestionswehadn’tevendreamedofbackthen.了解更多:Website|Medium|Twitter
标签:ANCNCERESBITARC GovernanceDSCVR.FinanceMeta Age of EmpiresBITT
注:本文来自/img/20230508172137469807/1.jpg "/>流量和用户增长成为头条新闻,但真正需要考虑的重要业务指标是:CACLTV->取决于Blur的收益模式.
1900/1/1 0:00:00Odaily星球日报译者|念银思唐面向数字资产市场开发基础设施的瑞士公司TaurusSA宣布完成6500万美元的B轮股权融资,此轮融资由瑞士信贷集团领投。尽管加密货币寒冬持续了很长时间,但大型金融机构仍在推进相关项目.
1900/1/1 0:00:00本文是「监管Web3应用程序,而不是协议」系列的第四部分,该系列建立了一个Web3监管框架,以维护Web3技术的好处,保护互联网的未来,同时减少非法活动和消费者伤害的风险.
1900/1/1 0:00:00进入2月,NFT玩家们最期待的事情莫过于NFT聚合交易市场Blur发币。Blur用「开盲盒」空投的新花样成就了漂亮的开局,同时也激起了大家对空投致富的FOMO情绪,再加之NFT市场头牌Opensea迟迟不发平台币,所以大家对Blur代.
1900/1/1 0:00:00整理:Babywhale,ForesightNews近期香港的政府和监管机构向Web3和Crypto世界递来了越来越多的橄榄枝,从政策、资源、资金等各个方面大力支持Web3的发展与落地.
1900/1/1 0:00:00概述 在研究区块链系统的工作原理时,我们需要了解各种各样密码学知识,比如secp256k1,它是一种曲线和非对称签名算法,在比特币和以太坊系统中用于签名和验证账号。比如sha256,它是一种哈希算法,用于把变长信息压缩成定长编码.
1900/1/1 0:00:00