区块链新闻 ba
您现在的位置:首页 > 区块链新闻 > 深度分析Harvest到底发生了什么

区块链新闻

央行:坚定不移推进法定数字货币研发工作 央行:坚定不移推进法定数字货币研发工作

今日,人民银行2020年全国货币金银和安全保卫工作电视电话会议在北京召开。会议要求,要加强顶层设计,...

  • 中国科学院大学曲强:区块链赋能“新基建”

    中国科学院大学博士生导师曲强最近表示,数据管理能力包括四大能力,即数据的采集与存储能力、数据的互联与融合能力、数据的安全与监管能力、数据的知识化与应用能力。在数据的互联互通、共享协同、安全与监管等...

区块链财经

SNT电信代币就像股票一样飙升 SNT电信代币就像股票一样飙升

  继Zoom和其他电信股的脚步之后,与通信相关的代币在上周飙升了18%以上。 远程劳动力的增加 在动...

  • Coin Metrics报告显示Stablecoin转移价值达到4.44...

      区块链分析公司CoinMetrics发现,虽然比特币(BTC)经历了过去七年来最大的每日跌幅,但稳定币获得了收益。 进行加密货币代币各个方面分析的CoinMetrics于3月23日发布了他们的网络状况报告。该报告的...

区块链技术

世界卫生组织与IBM,Oracle合作开发基于区块链的冠状病毒数据中心 世界卫生组织与IBM,Oracle合作开发基于区块链的冠...

  开放数据中心的合作者包括IBM,Oracle和世界卫生组织(WHO)等知名企业,该中心将使用区块链技术来...

  • 首席CTO Sai Hein为腾跃科技PGA平台保驾护航

    塞尔·海英先生(SaiHein)是腾跃科技公司首席技术官。他毕业于斯坦福大学,主修数学与计算科学、经济学。在校期间,塞尔·海英先生已经为多个知名公司开发软件,对人工智能、金融市场和经济学有浓厚兴趣,展现非凡...

深度分析Harvest到底发生了什么

发布时间:2020/10/27 区块链新闻 浏览:42

10月26日,总锁仓量超过10亿美元的DeFi项目Harvest Finance曝出遭到黑客攻击,已造成大约2400万美元的损失,很多参与者自称损失了15%以上的资金。受此消息影响,Harvest的治理代币FARM一度暴跌70%以上。

对此,DeFi领域的知名参与者建议用户先将资金提出,以确保资金安全。另外官方此前已建议用户暂停向稳定币池以及BTC保险池进行充值。

截至发稿时,Harvest合约锁定的资金量已骤降至5.99亿美元,较24小时之前下滑46.42%。

而在此次攻击发生的前一天,DeFi观察者Chris Blec刚刚揭示了Harvest项目存在巨大的风险:该项目合约锁定的10多亿美元资金完全受匿名开发者的控制,并且开发团队存在刻意隐瞒这一事实的嫌疑。

aelf创始人兼CEO马昊伯针对此事发表了自己的推测:首先需要了解的是,闪电借贷可以无抵押借到很多钱,不管是有多少滑点的AMM,都是有滑点的。而且Curve的曲线虽然在两个币种之间的滑点比较低,但是到极端情况下还是会有不可控的事件发生。

马昊伯猜测,黑客可能是利用闪电借贷借了一大笔钱,然后把Curve的价格搞到十分离谱,然后再到Harvest按照不合适的价格进行单边充值(亏钱的情况下充值),然后利用 Curve 将钱赎回。这样一来 Harvest 亏了,黑客就赚了,Curve 也因为这波操作价格产生波动。而 Curve 的所谓亏损其实和 Uniswap 的 LP 亏损一样,是一种无常损失,价格会很快恢复。

黑客到底是如何操作的?

像其他闪电贷攻击操作一样,攻击者动作迅速,没有给平台反映的时间,连续 7 分钟端到端地进行攻击。

1.攻击者到Uniswap USDT-ETH LP合约借了5000w USDT

2.在curve合约用11,425,651.360209USDC兑换11,407,812.062025USDT,通过买入大量USDT改变curve的兑换价格,比如能够使1 USDT = 1.00000x USDC 变为 1 USDT = 11,445,785.907417/11,437,077.011569 = 1.00076146168 USDC

3.在fUSDT合约抵押60,666,288.631146USDT获取持币凭证71,668,595.794204 fUSDT,向harvest充值,harvest会自动向curve提供流动性

4.在curve合约用11,437,077.011569 USDT兑换11,445,785.907417 USDC,前面的操作使得curve的价格变为了1 USDT = 1.00076146168 USDC,然后黑客开始用少量的USDT换出了更多的USDC

5.在fUSDT合约通过第3步获取的71,668,595.794204 fUSDT 赎回61,093,558.168153 USDT,这个步骤表明,黑客已经成功的进行了一次套利,获取了61,093,558.168153 USDT – 60,666,288.631146USDT = 427269.537007 USDT

我们看这个利润是哪里来的呢,很明显是harvest在高位在curve从一个错误的方向添加了流动性引起。也就是curve的原始lp没有受到任何损失,黑客获取的是通过让60,666,288.631146USDT 亏损产生的利润。

重复2-5步骤

6.在curve合约用11,425,651.360209USDC兑换11,407,840.0888USDT

7.在fUSDT合约抵押61,064,321.245384 USDT获取持币持币凭证 72,458,553.719987 fUSDT

8.在curve合约用11,437,077.011569 USDT兑换11,445,757.818914 USDC

9.在fUSDT合约通过第7步获取的72,458,553.719987 fUSDT 赎回61,489,849.847749 USDT

重复2-5步骤

10.在curve合约用11,425,651.360209 USDC兑换11,407,868.045888USDT

11.在fUSDT合约抵押61,460,640.882068 USDT获取持币持币凭证 73,252,241.779134 fUSDT

12.在curve合约用11,437,077.011569 USDT兑换11,445,729.800332 USDC

13.在fUSDT合约通过第11步获取的73,252,241.779134 fUSDT 赎回61,884,410.538009 USDT

14.还给Uniswap USDT-ETH LP合约 50,165,496.489468USDT

到此完成整个交易

(注:表格中列出的收益一笔交易的收益)

此次攻击主要是Harvest Finance的fToken(fUSDC、fUSDT…) 在铸币时采用的是Curve y池中的报价(即使用Curve作为喂价来源),导致攻击者可以通过巨额兑换操控预言机的价格来控制Harvest Finance中fToken的铸币数量,从而使攻击者有利可图。

对其他项目的警示/安全审计的重要性

在区块链的安全事件中,大多都是由于源代码存在漏洞使得黑客趁虚而入。智能合约受到区块链本身保护,所以智能合约代码可以最大限度的开源和让人阅读。但是代码的公开性使得黑客容易掌握代码的缺陷,进一步利用代码缺陷触发条件改变智能合约执行结果,使得区块链项目存在巨大的经济隐患。所以智能合约代码的开源性需要代码的高可靠性,这种可靠性要求100%正确。

因此,其他开源项目应当始终把网络安全性列为最高优先级,努力为用户提供一个够安全、高性能、体验佳、可信赖的区块链基础设施。

姓 名:
邮箱
留 言: