近日,CertiK监测到两起针对FETA以及BEVO反射机制的通缩币项目的闪电贷攻击事件。为帮助读者对此类攻击事件有更全面的了解,本文将对此类通缩币项目的背景、攻击过程、攻击原理以及防范方法进行具体分析并总结,期望各位读者能对该类型攻击有较为深入的理解和启发。
背景
通缩币是一种随着交易进行不断有token被销毁,发行总量因此不断减少进而实现潜在升值的数字货币。
随着2021年Safemoon项目的一炮而红,通缩币项目在当时几乎横扫主流的ERC20项目,备受瞩目。
对于通缩机制本身,大部分项目都使用了Reflect这一最经典的通缩奖励分配机制。Reflect机制即“反射”机制,可以将通缩产生的收益让所有的持币者根据持币量平均分配。在该机制下,用户手里的token有了两种计量方式,即:“反射”前的实际token数量,和“反射”后的反射token数量。
Jeff Booth:如果美联储继续加息,将出现债务通缩:1月16日消息,《The Price of Tomorrow》的作者Jeff Booth表示,“如果美联储继续加息,将出现债务通缩。这种紧缩政策在去年9月份才真正开始,美联储去年只将其资产负债表减少了2.7%。”
Jeff Booth作为比特币支持者。他在去年5月表示:“比特币将为数十亿人提供个人权利和自由。”[2023/1/16 11:13:57]
该机制中,通缩的来源是对于token交易者的惩罚性税收,在每次交易时对交易账户“反射”后的token数量进行一定比例的收税和销毁,从而改变了“反射”的比率,使得每个普通持币者都可以获得更多的“反射”前的token作为奖励。
由此可见,Reflect是一种静态奖励机制,为了鼓励长期持币者而惩罚频繁交易者,使得更多用户愿意持有和参与,最终促使币价趋于稳中有升的态势。
有趣的是,包含Reflect机制的智能合约很多都会加入一个函数,即`deliver()`。该函数的作用是调用者以“牺牲自我”的方式,直接销毁自己的token,从而改变“反射”机制的比率,使每一位持币者得到奖励。
链游平台WEMIX将实施回购销毁和代币通缩策略:12月9日消息,韩国游戏公司Wemade旗下链游平台WEMIX宣布立即实施回购销毁活动,将在2022年12月9日至2023年3月8日的90天内将回购并销毁价值1000万美元的WEMIX代币。此外,基金会还将采用并实施WEMIX通缩政策,所有WEMIX3.0平台和基金会产生的投资收入的25%将按季度销毁。
此前报道,11月24日,韩国数字资产交易平台联合协会(DAXA)决定对韩国游戏巨头 WeMade旗下链游平台代币WEMIX停止交易支持,以保护投资者。受此影响,Bithumb、Upbit等多家韩国交易所宣布将下架WEMIX。[2022/12/9 21:33:37]
这种牺牲自我利益为所有持币者谋福利的做法不失为一种“慈善捐赠”,调用这个函数的人就好像“天使”一般。然而,天使的背后也有可能是魔鬼。CertiK最近监测到的两起攻击事件,正是利用了`deliver()`函数改变“反射”机制的比率,对通缩币在去中心化交易所的交易对地址发起了闪电贷攻击,盗走交易对中的大额WBNB。
V神:目前距离以太坊通缩还差800多枚ETH:9月5日消息,对于9月3日为ETH首个通缩日,销毁量比区块奖励多352枚ETH,V神(Vitalik Buterin)表示,从技术上讲,不完全是这样。如果考虑每日PoS奖励的1200 ETH,目前距离通缩还有超800 ETH。[2021/9/5 23:01:12]
攻击案例分析
2023年1月31日,CertiK监测到通缩币项目FETA遭受到闪电贷攻击。攻击者通过闪电贷借到18.5个WBNB后,通过调用FETA的`deliver()`函数以及去中心化交易所中FETA-WBNB交易对合约的`skim()`函数,在归还闪电贷借款之后仍获利10.34个WBNB。
无独有偶,在前一日,CertiK还监测到另外一起类似的闪电贷攻击事件,被攻击对象是通缩币项目BEVO,攻击者通过类似的方法获利144个WBNB。
这两起攻击事件看上去仿佛只需调用两个十分普通的函数就可以攻击成功,那么这种“魔法”究竟是怎么施展的呢?
火币七爷:HT或已过通缩拐点 有望在2021年迎来“黄金周期”:2月3日,HT突破7美元关口,再创历史新高。HT现价约7.2美元,近一个月HT涨幅超过75%。针对近期HT走出的独立行情,火币全球站CEO七爷在解答社区提问时表示,当前主流平台币普遍采用销毁的通缩模型,通缩效应需要积累一段时间,这个阶段叫通缩蓄力期;蓄力到一定程度,才会量变产生质变,形成价格的快速拉伸,也就是达到“通缩拐点”。
数据显示,2020年平台币板块平均通缩率大约8.5%左右,另外两个头部平台币的通缩率分别为8%与6%。相较之下,HT的年通缩率在20%以上。理性分析,在其他因子不变的情况下,只有HT单价翻倍或以上,才能让HT的通缩率回归正常水平,这样的结构性套利机会必然会有市场的力量将其扳平。
而近期HT盘面走出了独立行情,或许预示着套利机会已被市场确认,越来越多的人认为HT已经过了通缩拐点。在2021年里,HT有望迎来历史最佳的“黄金周期”,市场力量将加速修正HT的市场价格。[2021/2/3 18:46:28]
我们不难发现,对于普通用户地址而言,反射机制的逻辑以及`deliver()`函数的逻辑都是没有问题的,甚至是非常高明的奖励机制,否则通缩币项目也不可能如此受到认可。问题恰恰在于“不那么普通”的地址——下面我们看看如果对去中心化交易所的交易对地址使用了“反射”机制究竟会发生什么。
现场 | 中国银行首席科学家郭为民:比特币根本不是货币 不存在通胀或通缩的问题:金色财经现场报道,2019年第一财经金融科技峰会12月1日在北京举行。在主题为《区块链与数字货币》的高峰对话环节中,中国银行首席科学家郭为民认为,比特币在领域非常成功,在其他领域并不成功。比特币本身就是一个局,根本不是货币,不存在通胀通缩的问题。相对于传统金融机构来说,不存在成本比较的问题。另外,区块链技术是一个非常低效的技术。[2019/12/1]
首先,根据“反射”机制的代码可知,在“反射”前后,用户的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机制的通缩币被攻击的原理和预防方法,希望能给各位读者有所启示。
通缩币作为最常见也是最经典的数字货币类型之一,至今仍然能被攻击者抓住漏洞进行攻击,主要原因也是项目方在智能合约设计时仅考虑到数字货币自身的智能合约逻辑,却并未深入研究与去中心化交易所合约交互的过程,才酿成了如此的损失。
标签:TOKKENTOKENTOKEhaiwelltokenTxbit TokenbhtetokenXENO Governance Token
编者按:本文来自微信公众号DappReview,作者:Vincent星球日报经授权转发先讲讲认知门槛上面两张图解释一下:第一张是13年初在一个微信群里我对比特币的判断第二张是14年底我在回国前夕.
1900/1/1 0:00:00相关阅读KuCoinLabs第一季孵化计划项目解析KuCoinLabs第一季孵化计划项目解析KuCoinLabs第一季孵化计划项目解析近日,KuCoinLabs第1季孵化计划开始.
1900/1/1 0:00:00Pendle在TVL/币价双双实现十倍涨幅后,飞轮增长也即将启动,作为一个使用ve-tokenomics的代币,其尚且缺乏一个Convex来充分发挥其潜力.
1900/1/1 0:00:00“比特币侧链RSK是比特币最有价值的部分和以太坊最有价值的部分之和”。智能合约概念最早的提出者NickSzabo评价这样它.
1900/1/1 0:00:00尽管尚未决定是否采用数字欧元,但欧洲央行已经认为CBDC应该优先考虑在线支付和点对点交易。在最近的一份在线出版物中,欧元系统银行实体解释说,数字欧元的其他可能用途应该排在对在线交易的有效支持之后.
1900/1/1 0:00:00各位朋友,欢迎来到SignalPlus每日晨报。SignalPlus晨报每天为各位更新宏观市场信息,并分享我们对宏观趋势的观察和看法。欢迎追踪订阅,与我们一起关注最新的市场动态.
1900/1/1 0:00:00