概述
在区块链上具有通缩机制的代币最近经常受到攻击。本文将讨论并分析通缩机制代币受到攻击的原因,并给出相应的防御方案。在代币中实现通缩机制通常有两种方式,一种是燃烧机制,另一种是反射机制。下面我们将分析这两种实现方式以及可能存在的问题。燃烧机制
通常,具有燃烧机制的代币将在其_transfer函数中实现燃烧的逻辑。有时候会存在发送者承担手续费的情况。在这种情况下,接收方收到的代币数量不会发生变化,但发送方需要支付更多代币,因为其需要承担手续费。下面是一个简单的例子:
然后我们讨论这种情况下可能存在的风险。如果单看代币合约,我们会发现这种写法其实没有什么问题,但是区块链中有很多复杂的情况,需要我们考虑很多方面。通常,为了让代币有价格,项目方会在Uniswap、Pancakeswap等去中心化交易所为代币添加流动性。其中,在Uniswap中,有一个函数skim,它会将流动性池中两种代币的余额和储备金的差值转移给调用方,以平衡余额和储备金:
Coinbase首席财务官:上线资产前会从技术和风险角度进行评估:金色财经报道,今日在美国国会的加密听证会上,在众议员Pete Sessions询问交易所如何识别欺诈和降低风险时,Coinbase首席财务官Alesia Haas表示,该交易所在资产上市之前会从技术和风险的角度对其进行评估。[2021/12/9 12:59:42]
此时发送方变成了流动性池,当调用_transfer时,流动性池中的代币将被部分销毁,导致代币价格部分上涨。攻击者利用此特性将代币直接转入流动性池中,然后调用skim函数转出,然后多次重复此操作,导致流动性池中大量代币被燃烧,价格也随之飙升,最后卖出代币获利。一个真实的攻击案例,winnerdoge(WDOGE):
火币论坛对话汪弘彬:从技术层面来说,区块链将在金融领域发挥领先作用:新加坡时间12月30日下午,欧洲货币机构投资者集团大中华区CEO汪弘彬做客火币论坛,以“回顾与展望,从疫情到复苏”为主题,与火币商务副总裁Ciara探讨在疫情的持续影响下,企业该如何进行数字化转型。
汪弘彬认为,疫情推动了数字浪潮的发展,从技术层面来说,区块链和加密货币行业将在金融领域发挥领先作用,并且会迅速成长为不同于大数据、人工智能和物联网的另一种新技术,未来势必会有很大的发展空间。比特币在2020年表现突出。但如果比特币要成长为更成熟的资产类别的话,必须要经历一系列的周期,比特币至今还没有一个完整的周期。成熟的机构投资者要了解这一点,然后再进入这个市场。
“据我个人观察,比特币的资产类别变得愈来愈清晰了,这会吸引越来越多的机构进入这个市场,但我们还是要从宏观角度来看比特币整体周期的发展。但从长远来看,我对这类资产很乐观。”汪弘彬最后总结道。[2020/12/31 16:08:51]
IBM区块链总经理:区块链正在从技术演变为真正的业务工具:10月3日消息,IBM区块链总经理Alistair Lenny在接受采访时表示,区块链越来越适合企业架构,因为它允许公司与其他公司数字化其业务流程。这意味着区块链正在从技术演变为真正的业务工具,这表明采用可能将会非常迅速。(JP.Cointelegraph)[2020/10/3]
在WDOGE合约的_transfer函数中,当block.timestamp>closingTime时,进入else循环。在代码第21行中,转账金额从发送方的余额中扣除,在代码第31行中,发送方又被燃烧了tokensToBurn数量的代币。攻击者利用这种手续费的机制,通过上述的攻击方式窃取流动性池中的所有价值代币(WBNB)。
V神:从技术角度来看 ETH 2.0的实施比预期困难得多:8月17日消息,以太坊联合创始人Vitalik Buterin最近在播客节目中表示,他承认从技术角度来看,Ethereum 2.0的实施“比他预期的要困难得多”。他称,“我绝不认为我们有任何根本的缺陷,我认为它会完成,只是时间问题,实际上最近进展很快。”在谈到他对项目发展的预期时,Buterin指出,有些以太坊应用程序会失败,而有些则会成功。(Cointelegraph)[2020/8/17]
反射机制
在反射机制中,用户每次交易都会收取手续费,用于奖励持有代币的用户,但不会触发转账,只是单纯修改一个系数。在这个机制中,用户有两种类型的代币数量,tAmount和rAmount。tAmount为实际代币数量,rAmount为反映后的代币数量,比率为tTotal/rTotal,一般的代码实现如下:
掌柜调查署|节点资本创始合伙人杜均:单纯从技术角度来看,并没有看到IPFS技术的突破:在今日举行的掌柜调查署中,针对“IPFS和Filecoin有哪些重大创新,为什么大家如此关注“的问题,节点资本创始合伙人杜均表示,个人认为,无论是比特币为代表的区块链1.0,还是以太坊为代表的区块链2.0,以及现在我们大热的IPFS(激励层Filecoin),都是一群“技术中立”信仰者构建的理想国,希望通过“CODE IS LAW”促进社会变得更公平更美好。单纯从技术角度来看,我并没有看到技术的突破,我更多看到的是利用区块链思维对传统互联网访问协议以及分布式存储的升级。大家关注的点不一样,只有极少数人关注到IPFS的技术创新,更多的人关注的是如何赚钱。更多详情见原文链接。[2020/7/4]
反射机制的代币中一般有一个叫做deliver的函数,会销毁调用者的代币,降低rTotal的值,所以比率会增加,其他用户反射后的代币数量也会增加:
攻击者注意到这个函数,并用它来攻击相应的Uniswap的流动性池。那他该如何进行利用呢?同样从Uniswap的skim函数开始:
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
ROOKDAO正在讨论解散DAO。用户对项目停滞和缺乏透明度表示担忧。这个提案是将DAO国库资产分配给ROOK持有人,并可能会产生250%的回报.
1天时间,SVB的涟漪效应就来到了加密市场。今晨,因SVB中有部分存款,USDC稳定币发行商Circle突然面临严重挤兑,USDC出现持续性脱锚.
3月31日,由ETHGlobal主办的「ScalingEthereum2023」主题黑客松正式落幕。本届黑客松最终筛选出了11家决赛入围项目,涉及了钱包、DeFi、游戏、基础设施等多个领域.
Gemini、Kraken、Coinbase以及Paxos,一个个曾经耳熟能详的、标榜合规的加密龙头企业,正被美国监管的重拳无情打压.
就在大家都为Arbitrum空投狂欢时,一款Arbitrum生态的图片分享应用Stealcam正在默默积蓄力量,短短两周,在不靠空投预期也没有发行token的情况下.
一周前还难以想象,2023年第一个带来加密市场恐慌的会是号称最合规的稳定币发行商Circle。上周末,美国硅谷银行破产危机,连带着加密稳定币USDC脱锚,一度跌至0.87美元,最终引发市场恐慌性.