昨天的一件大事,是 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()).p(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 来说,少了一个无情挖提卖的机枪池,或许是这个刺激吧。
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:生活你全是泪,不如来看区块链;行业发展说一说,时代机遇别错过
评论0条