链资讯 链资讯
Ctrl+D收藏链资讯

APT:通缩币频遭闪电贷攻击,罪魁祸首竟是奖励分配机制?_KEN

作者:

时间:

近日,CertiK监测到两起针对FETA以及BEVO反射机制的通缩币项目的闪电贷攻击事件。为帮助读者对此类攻击事件有更全面的了解,本文将对此类通缩币项目的背景、攻击过程、攻击原理以及防范方法进行具体分析并总结,期望各位读者能对该类型攻击有较为深入的理解和启发。

背景

通缩币是一种随着交易进行不断有token被销毁,发行总量因此不断减少进而实现潜在升值的数字货币。

随着2021年Safemoon项目的一炮而红,通缩币项目在当时几乎横扫主流的ERC20项目,备受瞩目。

对于通缩机制本身,大部分项目都使用了Reflect这一最经典的通缩奖励分配机制。Reflect机制即“反射”机制,可以将通缩产生的收益让所有的持币者根据持币量平均分配。在该机制下,用户手里的token有了两种计量方式,即:“反射”前的实际token数量,和“反射”后的反射token数量。

阿迪达斯Web3项目ALTS by adidas宣布“Chapter 2”将于六月底推出:金色财经报道,阿迪达斯Web3项目ALTS by adidas在社交媒体宣布“Chapter 2(第二章)”将于六月底推出,据悉ALTS by adidas已于5月17日向每位ALT持有者空投了三枚Rift Valley Motel Coin NFT,这些NFT持有者将可以访问adidas PFPs/Avatar的定制ALTS,非ALT持有者和没有Rift Valley Motel Coin NFT的用户将无法参与Chapter 2。[2023/6/6 21:18:16]

该机制中,通缩的来源是对于token交易者的惩罚性税收,在每次交易时对交易账户“反射”后的token数量进行一定比例的收税和销毁,从而改变了“反射”的比率,使得每个普通持币者都可以获得更多的“反射”前的token作为奖励。

派盾:监测到Raptor2发生Rug Pull,损失855枚BNB:2月21日消息,派盾(PeckShield)监测到Raptor2发生Rug Pull,地址0xdaa5e5692f24b0284cbd9fb6fbe2ddc78bf4d34a已经抛售Raptor2并将855枚BNB存入以太坊隐私交易平台Tornado.cash。[2022/2/21 10:06:20]

由此可见,Reflect是一种静态奖励机制,为了鼓励长期持币者而惩罚频繁交易者,使得更多用户愿意持有和参与,最终促使币价趋于稳中有升的态势。

有趣的是,包含Reflect机制的智能合约很多都会加入一个函数,即`deliver()`。该函数的作用是调用者以“牺牲自我”的方式,直接销毁自己的token,从而改变“反射”机制的比率,使每一位持币者得到奖励。

加密对冲基金Adaptive Capital正在关闭:金色财经报道,加密对冲基金Adaptive Capital告知其有限责任合伙人,正在关闭其基金,并将剩余资金返还给投资者。该公司在致投资者的信中表示,在3月13日比特币价格下跌之后,该公司“受到了很大的打击”。该公司坚信,在这种不稳定的环境中继续运营的风险大于潜在的收益。两位熟悉Adaptive业务的消息人士透露,该公司的亏损额超过了50%。[2020/3/20]

这种牺牲自我利益为所有持币者谋福利的做法不失为一种“慈善捐赠”,调用这个函数的人就好像“天使”一般。然而,天使的背后也有可能是魔鬼。CertiK最近监测到的两起攻击事件,正是利用了`deliver()`函数改变“反射”机制的比率,对通缩币在去中心化交易所的交易对地址发起了闪电贷攻击,盗走交易对中的大额WBNB。

声音 | BM:未来应考虑通缩链:据WhaleEx消息,4月15日,BM现身电报群,与社区成员进行交流,以下是部分重要内容综述: 1. 设置IBC不断同步EOS主网的帐户,否则用户不可能在网上创建新帐户。让IBC运行的最佳方式是什么?有具体的技术规范吗?BM回应称,Oracle是最佳方式,Bancor有提供技术规范。 2. 在未来的一年里,EOSIO的规模将远远超过竞争对手,我们与EOSIO的旅程才刚刚开始。 3. 在问及是否在将来某个时候考虑一个无通胀的主链是可能的、明智的吗?BM表示,我认为未来应考虑通缩链。随后,有人称通货紧缩并不好,有控制的通货膨胀才是正确的,对此BM表示不以债务为基础的货币。[2019/4/15]

攻击案例分析

2023年1月31日,CertiK监测到通缩币项目FETA遭受到闪电贷攻击。攻击者通过闪电贷借到18.5个WBNB后,通过调用FETA的`deliver()`函数以及去中心化交易所中FETA-WBNB交易对合约的`skim()`函数,在归还闪电贷借款之后仍获利10.34个WBNB。

声音 | Pierre Rochard: BTC的超通缩导致了现在的危机:比特币分析师,软件工程师 Pierre Rochard在 Twitter上表示:通常在货币贬值危机中,我建议央行收紧货币政策。但这场 BTC危机有一个明显的原因:BTC在两年半内从200美元上涨到20000美元,在30个月里有两次大规模的超通缩。[2018/12/7]

无独有偶,在前一日,CertiK还监测到另外一起类似的闪电贷攻击事件,被攻击对象是通缩币项目BEVO,攻击者通过类似的方法获利144个WBNB。

这两起攻击事件看上去仿佛只需调用两个十分普通的函数就可以攻击成功,那么这种“魔法”究竟是怎么施展的呢?

我们不难发现,对于普通用户地址而言,反射机制的逻辑以及`deliver()`函数的逻辑都是没有问题的,甚至是非常高明的奖励机制,否则通缩币项目也不可能如此受到认可。问题恰恰在于“不那么普通”的地址——下面我们看看如果对去中心化交易所的交易对地址使用了“反射”机制究竟会发生什么。

首先,根据“反射”机制的代码可知,在“反射”前后,用户的token数量是通过乘以一个比率rate来相互转化的,若我们设“反射”前的token数量为tAmount,“反射”后的token数量为rAmount,则有

其中rate系两种计量方式的总量之比,即

把rate带入,我们可以得到用户的实际token数量

对于所有加入“反射”机制的地址,由于每次有交易者在交易时都会交税并通过销毁减少一些rTotal,根据公式,在rAmount、tTotal不变的情况下,tAmount将会增加,即实现了静态持有时的增值。

`deliver()`函数可以直接减少rTotal,同时保持tTotal不变,此时rate将会极具下降。若此时关注该token在去中心化交易所的交易对地址pair,则pair对应的balance,即用tAmount衡量的token数量会大幅增长。

而去中心化交易所的交易对智能合约作为数字货币的交换池,存储了大量该交易对的两种token,例如BEVO-WBNB。该智能合约提供了一个函数`skim()`,可以让用户把合约中token的balance数值和交换池中实际存储的token数量reserve的差值取出来,正是这个方法让攻击者发现了套利空间。

根据上文所述,当调用`deliver()`函数时,rTotal减少会带动pair的balance,即用tAmount衡量的token数量的大幅增长,然而pair里面实际存储的token数量reserve并没有发生变化,此时,两部分的差值全部会被攻击者调用`skim()`全部取出来。

然而想要调用`deliver()`函数,即完成初始的“捐款”,是需要启动资金的。对于攻击者来说,方法总比困难多——方法即为我们平时经常听说的闪电贷。

也就是说,攻击者只需在一个区块之内将钱还上,就可以借到大量的钱用`deliver()`函数操纵交易对的balance。最终,只要通过`skim()`取出来并换成WBNB的钱比借到的钱多,攻击者就完成了一次无风险套利。

总攻击过程如下图所示:

攻击防御

知道了原理,那又该怎么预防呢?

能够带来严重损失的漏洞,或许在事情发生前就进行预防,并不十分复杂。根据CertiK安全专家的分析,攻击者要想钻空子,需要能够改变合约中rTotal的数量,进而操纵合约中交易对的balance。

在此,CertiK专家建议:

要么在设计合约的时候直接剔除有风险的`deliver()`函数,要么直接将交易对地址剔除Reflect机制,即在代码中或合约部署后,调用`excludeFromReward()`将pair地址填入,使其剔除反射奖励机制即可。此时pair的balance将无法被攻击者通过`deliver()`函数所操纵。

写在最后

CertiK通过两起最近发生的通缩币闪电贷攻击事件,详细讲述了包含Reflect机制的通缩币被攻击的原理和预防方法,希望能给各位读者有所启示。

通缩币作为最常见也是最经典的数字货币类型之一,至今仍然能被攻击者抓住漏洞进行攻击,主要原因也是项目方在智能合约设计时仅考虑到数字货币自身的智能合约逻辑,却并未深入研究与去中心化交易所合约交互的过程,才酿成了如此的损失。

标签:APTKENTOKENVERTAPT价格HBTC Captain TokenIbiza TokenVERSUS

币安app下载热门资讯
ETP:BKEX Global 关于\"体验ETP专区交易,赢取新手多重好礼\"活动结果的公告_ETPlan

尊敬的用户:?????????BKEX举办的"体验ETP专区交易,赢取新手多重好礼"活动已于2023年2月12日09:00圆满结束.

INM:关于上线ANC(Anchor Protocol)的公告(0524)_INMCOIN

亲爱的用户: 您好!CoinMark现货交易区将于2022年5月24日15:00上线ANC,并开通ANC/USDT交易对.

APT:Aptos 解锁了 450 万个代币,但价格对此有何反应?_cmf币怎么用

Aptos于2月12日解锁了450万个APT代币。随着持仓量下降,APT的价格下跌在2月12日的盘中交易时段,Layer1(L1)区块链Aptos进行了自2023交易年开始以来的第三次代币解锁.

TOKE:随着6亿美元交易量到来LTC能否在23年达到1,000美元?_BNB

莱特币价格在过去24小时内上涨了1.4%,攀升至91.34美元,因为加密货币市场继续承受SEC对Paxos及其BUSD稳定币采取执法行动的影响.

比特币:改善比特币费用收入势头可能很快会发出关键的看涨 BTC 信号_MOTHER OF BTC

加密分析公司Glassnode提供的数据显示,为比特币网络提供动力的矿工,在很大程度上仍被激励通过印刷新的BTC代币来这样做,他们受益于每日网络费用的上涨.

比特币:关于“福兔迎新年,币玛送超级福利欢度春节”活动公告_Super Master Node

亲爱的用户:? 您好!兔年来临,币玛为迎接新年,送超级福利欢度新年,福兔迎新一起瓜分100,000USDT,送100份福利礼包,交易得开春9999USDT奖励,新年打卡送$100.