Harvest 被攻击,20个ETH套利2400万美元,CRV却涨了
昨天的一件大事,是Harvest被黑客攻击了,还是经济攻击的那种,黑客盗走了2400万美元。
本来用稳定币参与挖矿,为了图个稳定收益,这下好了,本金损失了。
一、Harvest 被攻击过程
先是不少Harvest的用户称,自己的存入Harvest的fusdt,本金损失了10% 左右,随后Harvest官网发布被攻击的信息。
对于Harvest遭受的闪电攻击,慢雾安全团队对此事件的简要分析,如下:
1. 攻击者通过 Tornado.cash 转入 20ETH 作为后续攻击手续费;
2. 攻击者通过 UniswapV2 闪电贷借出巨额 USDC 与 USDT;
3. 攻击者先通过 Curve 的 exchange_underlying 函数将 USDT 换成 USDC,此时 Curve yUSDC 池中的 investedUnderlyingBalance 将相对应的变小;
4. 随后攻击者通过 Harvest 的 deposit 将巨额 USDC 充值进 Vault 中,充值的同时 Harvest 的 Vault 将铸出 fUSDC,而铸出的数量计算方式如下:
amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());
计算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的变化将导致 Vault 铸出更多的 fUSDC;
5. 之后再通过 Curve 把 USDC 换成 USDT 将失衡的价格拉回正常;
6. 最后只需要把 fUSDC 归还给 Vault 即可获得比充值时更多的 USDC。
7. 随后攻击者开始重复此过程持续获利。
总结:此次攻击主要是 Harvest Finance 的 fToken(fUSDC、fUSDT...) 在铸币时采用的是 Curve y池中的报价(即使用 Curve 作为喂价来源),导致攻击者可以通过巨额兑换操控预言机的价格来控制 Harvest Finance 中 fToken 的铸币数量,从而使攻击者有利可图。
把黑客攻击Harvest过程再简化一下:先用 USDC 把 USDT 的价格拉高 -> 存款得 fUSD -> 再把 USDT 换回 USDC 平衡溢价 -> fUSD 换回 USDT,上述流程反复循环,反复套利。
二、defi 套利,可谓一本万利
黑客通过闪电贷攻击Harvest,付出和收益如何呢?
成本:20个ETH;
工具:闪电贷;
收益:2400万美元。
用20个ETH搏了2400万美元,然后通过renbtc通道进行匿名洗币等操作。
当然这个攻击过程中,收益的不止黑客,还有uniswap、Curve、ETH矿工、RenVM,各自收益如下表。
这么多协议受益,而受损的是fusdt持有者,也就是Harvest 中用稳定币挖矿的用户。
攻击过程中,uniswap的成交量一下达到19.7亿美金,这个量有点吓人。
这个成交量放在过去是太可能发生的。
那么问题来了,让黑客用闪电贷攻击,导致用户资产受损失。这个闪电贷不是个好东西?闪电贷,设计的初衷就是给用户在各协议之间套利,一丢丢钱就可以套利了。
DeFi 各协议之间可以相互组合,而这过程会积累一些风险,当用户发现协议之间的套利空间,就会发起攻击。这样反逼 DeFi 项目方做好安全,不仅是代码层面上的安全,还有协议经济上的安全。
狼,是自然的清道夫。那么这个闪电贷,应该是DeFi协议的清道夫,专业清理协议中存在的问题。
从这里也突出一个问题,DeFi项目的门槛真是高,爱西欧的时候,一个白皮书就可以出去忽悠融资发币等,然后fork一个代码,修修改改,主网上线等。
当然 DeFi 里面也是可以 Fork 一个,比如cream、各类食物挖矿等等,成熟模型之上,稍加修改一下。但是想要要有点创新,或者故事听起饱满一些,没有技术实力和经济设计实力,都搞不了。
三、Harvest 遭受损失, CRV却涨了
Harvest 被攻击,用户承受损失,而CRV价格却暴涨了。
这不知道是有人做盘,还是对Crv是真利好。
Harvest 遭受攻击后,停止了在CRV中的稳定币挖矿,对于CRV来说,少了一个无情挖提卖的机枪池,或许是这个刺激吧。
Scan QR code with WeChat