DAI:16万美元资产被盗竟是乌龙事件?Yeld.finance“闪电贷攻击”事件简析_Daisy Protocol

一、事件概览

北京时间2021年2月27日,舆情监测到,DeFi知名项目Yeld.finance官方发出通告,表示该项目的DAI池遭受到闪电贷攻击,原文链接如下:

https://yeldf.medium.com/the-yeld-dai-earn-vault-has-been-hacked-93f27d475b1b?

成都链安安全团队第一时间介入响应,对原文中所提及的交易

(0x57b378f8d20d3945ab40cd62aa24063f375bcfc5693c2e788dc193ffa1a5cc3a)进行分析。经分析后发现,该笔交易为Yeld.finance项目自身的策略机制而导致的资金转移,与闪电贷攻击无关。闪电贷攻击表示不背这个锅。

Foundry高管:预计2023年矿业的趋势是成本最小化和减少债务:金色财经报道,加密货币挖矿和质押公司Foundry的矿业负责人Juri Bulovic表示,许多矿工预计比特币将达到10万美金,没有考虑价格会跌至2万美金以下,因此许多公司难以履行债务义务,预计2023年矿业的趋势是成本最小化和减少债务。

根据TheMinerMag数据显示,依赖天然气或电网供电的挖矿公司,如Digihost(DGHI)、Greenidge Generation和Argo Blockchain(ARBK),其成本在第三季度飙升。行业人士预计,由于廉价电力的供应,矿工将迁移到南美、中东和东南亚。[2022/12/31 22:18:24]

二、事件分析

数据:10月以来Compound流动性一直处于稳步上升趋势:11月12日,区块链分析公司intotheblock发的数据显示,尽管在9月和10月DeFi项目整体呈现负面的价格走势,但实际上仍有几个DeFi协议在关键链指标方面有所增长。其中,Compound 10月以来的流动性一直处于稳步上升趋势。[2020/11/12 12:23:39]

△图1?交易信息

如图1所示,该笔交易是名为0xf0f225e0的用户,调用了0xe780cab7ca8014543f194fc431e6bf7dc5c16762合约的deposit函数。经确认,0xef80cab7合约正是项目方的DAI池。该笔交易一共产生了6笔代币转移,分别用T1到T6表示。那么,这些代币转移究竟是什么操作导致的呢?下面通过代码进行分析:

分析 | OBV指标线受压于下降趋势压制 BTC还需进一步整理:分析师K神表示:OBV指标基于量价配合关系,既考虑了价格的趋势运行情况,又考虑了量能的增减情况,通过OBV指标线的变化形态,可以很好的判断出BTC上涨能量如何,成交量是币价涨跌的动力,资金量的增减对币价的涨跌起决定性作用。下图为比特币OBV指标日线走势图,能看出当前依旧受制于前面9月3日到目前的下降趋势线压制,表明目前市场交投热情依然较冷淡,成交量也逐步衰减,不能吸引更多场外资金布局,后面只有强势突破趋势线压制,OBV线抬头上行,市场情绪才会高昂,比特币价格才会再度走强,后续可密切关注此线的突破情况。[2019/11/19]

△图2?deposit函数源代码

动态 | 以太坊链上出现约16万枚大额转账:据Whale-alert监测,今日07:05:23,ETH链上0xd3e366开头地址向0x9db407开头地址转入160932枚ETH,价值约3764万美元,两地址均未标记所属,交易ID为:0x697d6c6998087f392a0ddaba9e133678088b6057762ca02037ddf3ab765dd060。[2019/8/6]

很明显,第538行代码,产生导致了序号为T1的代币转移,将token转移到yDAI合约。这是一笔普通的代币转账,表示用户存入了9,377DAI到yDAI合约。

第541-553行代码,是yDAI合约用于计算用户存入的DAI应返回给用户多少yDAI,并在第554行进行铸币,对应序号为T2的代币转账,表示yDAI合约向用户铸了9,306yDAI。

然后进入第555行的rebalance函数,分析该函数的逻辑。

△图3?rebalance函数源码

△图4?recommend函数

第732行代码会计算newProvider,该函数会调用recommend函数(如图4所示),recommend函数会调用IEarnAPRWithPool合约查询4个Defi项目DYDX,COMPOUND,AAVE,FULCRUM中,年利率(APR)最高的项目,查询结果如图5所示:

△图5?recommend查询结果

其中dYdX池的APR最高,newProvider被设置为dYdX池。当前池为AAVE池,进入736行的if代码块,调用内部函数_withdrawAll。

△图6?_withdrawAll函数源代码

第778行代码将会提出AAVE池中的所有DAI,产生了序号为T3-T5的代币转移,具体代码可参考AAVE(0xfC1E690f61EFd961294b3e1Ce3313fBD8aa4f85d)合约redeem函数相关代码,此处不再详述。

最后是第741行代码,将从AAVE中提出的16.6余万枚DAI存入dYdX合约,产生了序号为T6的代币转移,即将16.6万枚DAI存入dYdX池。

整个交易就此结束,可以看到,这次所谓的“闪电贷攻击”只是虚惊一场。用户只是单纯的存入了一笔DAI,然后刚好触发了Yeld.finance项目的策略机制,并不是所谓的“闪电贷攻击”,可谓是闹了场乌龙事件。

值得注意的是,dYdX在该事件中充当了一个“良心商家”的角色,并不是以往闪电贷攻击中的帮凶。

三、安全建议

尽管本次事件经成都链安安全团队分析后被判断为虚假一场,但在这里还是有必要提醒各项目方,依然需要在日常的安全防护工作中,对闪电贷攻击加以预警和防范。

同时,作为致力于区块链生态安全建设的成都链安也在此建议,项目方的安全预警机制和安全加固工作切不可等闲视之。寻求第三方安全公司的力量,搭建覆盖全生命周期的一站式安全解决方案方为万全之策。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-3:505ms