tft每日頭條

 > 生活

 > defi正确投資方法

defi正确投資方法

生活 更新时间:2025-01-27 20:47:13

defi正确投資方法(如何利用DeFi漏洞獲利36萬美金)1

免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星财經官方立場。

小編:記得關注哦

來源:星球日報

原文标題:5步輕松看懂:如何利用DeFi漏洞獲利36萬美金

最近,一個“黑客”幾乎0成本,利用Flash Loan【中文直譯:閃電貸。具體見注釋1】提供的貸款在一次交易中賺取了36萬美金(對于這次事件到底是不是屬于“黑客攻擊”的範疇,目前還存在很大争議,因為從技術上講,這位“黑客”沒有做任何非法的事情)。考慮到此“破解”事件中涉及到的DeFi産品的數量,如果想要讓那些對DeFi隻有初步了解的人容易理解,必須要盡可能的講清楚相關細節。在本文中,我将逐步引導讀者一步一步完成“破解”操作,并在一些關鍵步驟中做出進一步解釋。以便你可以對這次事件到底是如何發生的有一個更深刻的理解和認識,而不再隻是“略知一二”。

為了表述方便,我們暫且把這位“黑客”稱之為Joe吧,Joe在十幾秒(一個以太坊區塊的時間内)按照順序發起以下幾筆交易:

  • 第1步:FlashLoan借:從dydx上借10000 WETH。

CortexLabs注釋2:WETH:英文全稱:Wrapped-Ether,翻譯為“包裝過的ETH”。因為ETH在ERC20标準被定制之前就存在了,因此ETH并不符合自己的ERC20标準。WETH可以讓ETH在去中心化的交易平台上和其他符合ERC20标準的代币進行直接交易。1WETH=1ETH。後文中出現的WBTC原理和WETH一樣,1WBTC=1BTC。

  • 第2步:Compound抵押借貸:5500 WETH充值至Compound合約,以5500 WETH作為抵押物借貸出112 WBTC。

  • 第3步:dZx保證金杠杆交易:1300 WETH充值到dZx合約,5倍杠杆做空。具體操作可簡單理解為,從bZx借出5637.623762 WETH,并通過KyberSwap在Uniswap中賣出,賣成為 51.345576 WBTC。

這一步其實是将Uniswap中的WETH/WBTC的價格砸穿。

當時正常WETH/WBTC的價格大約為0.025974,而這一步賣出的操作,基本上把Uniswap中WETH/WBTC的價格砸到了0.00910747。接近三倍。

CortexLabs注釋3:做空:金融市場中的一種當資産價格下跌時能獲利賺錢的手段。舉例說明:當你做空100 ETH,你從其他地方借來了100 ETH,然後在ETH價格為280美金(這裡舉例)的時候馬上賣掉,你會獲得28000美金。但是你仍然需要償還100 ETH。這個時候,BTC的價格已經被砸到了250美金,那麼你隻需要償還100*250=25000美金。于是你還剩下3000美金,這就是你做空的收益。這裡舉例說明的是1倍杠杆的基礎邏輯。

  • 第4步:Uniswap交易:用第2步從Compound裡借出來的112 BTC,在Uniswap裡買回ETH,共買回6871.4127388 ETH。

第3步把WETH/WBTC的價格砸穿近三倍,這個時候再用從Compound中抵押借出來的112 WBTC,把WETH買回來。此過程中,Uniswap中WETH/WBTC的價格又被拉升,最終買回了6871.4127388 ETH。

  • 第5步:FlashLoan還:FlashLoan借出來的10000 WETH中還有未使用的3200 WETH,再加上第4步中用112 WBTC買回的6871 WETH,共10071.4127388 WETH。10000 WETH進行Flash Loan歸還。還剩餘71.4127388。

到這一步,整個操作就結束了。

隻要這些交易在以太坊的一個區塊時間内發生,并且被以太坊的下一個區塊打包确認,那麼這些交易就會按照發起的時間,進行執行。關鍵點:由于Flash Loan的條件達成,在一個區塊内歸還,那麼整個這些步驟的交易就都可以實現。

那麼我們來看下,Joe的收益情況:

從這5步操作,Joe看起來像是隻獲得了71.4127388 WETH。

但不要忘記:在Compound裡和bZx裡,Joe還有兩個倉位。

第一個是Compound裡面的抵押借貸。抵押了5500 WETH,借出了112 WBTC。

另一個是bZx裡面的保證金杠杆交易,抵押了1300 WETH,5倍杠杆賣出做空。剩餘51.345576 WBTC。

由于bZx采用的是Uniswap中的WETH/WBTC價格作為喂價,而Uniswap中的WETH/WBTC價格又被Joe操控。所以,按照常規理解,bZx中Joe的這個倉位理應是被爆倉的。而實際情況是,這個倉位裡隻剩餘了第3步操作中獲得的51.345576 WBTC。

這個倉位,Joe顯然并不想理會。哪怕剩餘的51.345576 WBTC被扣掉。(事實上bZx也确實扣掉了這51.345576 WBTC。)

而Compound中的倉位,Joe更有興趣。按照此時ETH/BTC的正常價格大約為0.025974,Joe隻要從市場上花費4300 WETH,就可以買到112 WBTC。然後歸還給Compound,就可以贖回5500 WETH。這一下可以收益大約1200 WETH。

因此,Joe在這次操作中獲利情況應該是:

1200 71.4127388 = 1271.4127388 WETH。

按照當時ETH的價格差不多在280美金,總獲利大約為355880美金。

那麼問題到底出在哪裡?

綜合上面的細節步驟來看,問題出在了bZx的保證金杠杆交易智能合約中。

首先,bZx采用了Uniswap中的WETH/WBTC價格作為喂價。而Uniswap裡面的深度又不足。

其次, bZx中的保證金杠杆交易,無論做多或者做空,買入或賣出的市場也是Uniswap。也就是說,bZx本身就會對Uniswap的價格造成影響。

最關鍵的,bZx保證金杠杆交易,在Uniswap上面的價格被砸穿(其實是被bZx自己借出去的币砸穿)後,這個倉位的保證金早就嚴重不足,但又沒有既定的阻止辦法。

後記:

此文目的并非是在事件發生後,再去指責任何DeFi産品的漏洞或者對這位我們稱之為Joe的黑客有什麼褒貶。

此文目的,僅僅是為了讓更多普通加密貨币領域參與者對DeFi産品邏輯有更進一步的理解,并且是通過盡可能簡單易懂的方式。

同時也希望讓大家看到,導緻此次事件的根本原因是什麼,開發者在後續進行其他DeFi産品設計的時候,也應該從中吸取到教訓。

再升華一下,此次事件其實也引起了DeFi領域關于DeFi産品到底要不要設置所謂“管理員權限”的讨論。此文作為一個引子,我們後續可以繼續針對此類内容分享給Cortex中文社區。

CortexLabs注釋1:Flash Loan,中文直譯名稱為閃電貸。“閃電貸”是在一個區塊内在不同 DeFi 借貸平台發起多筆交易的方式,也就是不同資産和債務之間的轉貸。“閃電貸”也是一種無需抵押物的借貸方式,前提是貸款的發行和償還必須在以太坊同一個區塊内完成,按照目前以太坊的出塊速度,大約 13 秒。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved