当前位置:首页 > 知识 >

DeFi漏洞攻击:5步轻松赚取36万美元

免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表官方立场。

小编:记得

来源:星球日报

原文标题:5步轻松看懂:如何利用DeFi漏洞获利36万美金

最近,一个“黑客”几乎0成本,利用FlashLoan(闪电贷)提供的贷款在一次交易中赚取了36万美金(对于这次事件到底是不是属于“黑客攻击”的范畴,目前还存在很大争议,因为从技术上讲,这位“黑客”没有做任何非法的事情)。考虑到此“破解”事件中涉及到的DeFi产品的数量,如果想要让那些对DeFi只有初步了解的人容易理解,必须要尽可能的讲清楚相关细节。

在本文中,我将逐步引导读者一步一步完成“破解”操作,并在一些关键步骤中做出进一步解释。以便你可以对这次事件到底是如何发生的有一个更深刻的理解和认识,而不再只是“略知一二”。

为了表述方便,我们暂且把这位“黑客”称之为Joe吧。Joe在十几秒(一个以太坊区块的时间内)按照顺序发起以下几笔交易:

第1步:FlashLoan借:从dydx上借10000WETH。

CortexLabs注释2:WETH:英文全称:Wrapped-Ether,翻译为“包装过的ETH”。因为ETH在ERC20标准被定制之前就存在了,因此ETH并不符合自己的ERC20标准。WETH可以让ETH在去中心化的交易平台上和其他符合ERC20标准的代币进行直接交易。1WETH=1ETH。后文中出现的WBTC原理和WETH一样,1WBTC=1BTC。

第2步:Compound抵押借贷:5500WETH充值至Compound合约,以5500WETH5倍杠杆做空。具体操作可简单理解为,从bZx借出5637.623762WETH,并通过KyberSwap在Uniswap中卖出,卖成为51.345576WBTC。

这一步其实是将Uniswap中的WETH/WBTC的价格砸穿。

当时正常WETH/WBTC的价格大约为0.025974,而这一步卖出的操作,基本上把Uniswap中WETH/WBTC的价格砸到了0.00910747。接近三倍。

CortexLabs注释3:做空:金融市场中的一种当资产价格下跌时能获利赚钱的手段。举例说明:当你做空100ETH,你从其他地方借来了100ETH,然后在ETH价格为280美金(这里举例)的时候马上卖掉,你会获得28000美金。但是你仍然需要偿还100ETH。这个时候,BTC的价格已经被砸到了250美金,那么你只需要偿还100*250=25000美金。于是你还剩下3000美金,这就是你做空的收益。这里举例说明的是1倍杠杆的基础逻辑。

第4步:Uniswap交易:用第2步从Compound里借出来的112BTC,在Uniswap里买回ETH,共买回6871.4127388ETH。

第3步把WETH/WBTC的价格砸穿近三倍,这个时候再用从Compound中抵押借出来的112WBTC,把WETH买回来。此过程中,Uniswap中WETH/WBTC的价格又被拉升,最终买回了6871.4127388ETH。

第5步:FlashLoan还:FlashLoan借出来的10000WETH中还有未使用的3200WETH,再加上第4步中用112WBTC买回的6871WETH,共10071.4127388WETH。10000WETH进行FlashLoan归还。还剩余71.4127388。

到这一步,整个操作就结束了。

只要这些交易在以太坊的一个区块时间内发生,并且被以太坊的下一个区块打包确认,那么这些交易就会按照发起的时间,进行执行。关键点:由于FlashLoan的条件达成,在一个区块内归还,那么整个这些步骤的交易就都可以实现。

那么我们来看下,Joe的收益情况:

从这5步操作,Joe看起来像是只获得了71.4127388WETH。

但不要忘记:在Compound里和bZx里

猜你喜欢

微信二维码

微信