空手套白狼!如何0元買到價值300萬的BTC?

從昨天晚上所有DeFi 相關的群裡就熱鬧了起來主要是 因為 bZx 受到 Oracle (預言機)攻擊, 存幣用戶受到了損失 。

很多分析沒有一步一步解釋黑客是怎麼通過聲東擊西, 在5個 DeFi 產品中, 以0成本套利。

我們梳理了整個攻擊過程。

空手套白狼!如何0元買到價值300萬的BTC?

結論:黑客通過多合約調用,在一筆鏈上交易中, 用0抵押金, 讓bZx 借貸池損失51.34 BTC, 在Compound 得到18w 美金等值的存款。 bZx 鎖定管理權限,黑客沒有成功提取51.34 BTC 盈利。


簡單介紹一下 bZXbZx是一種去中心化的保證金交易協議。 Fulcrum (bZx 產品名)的功能是能夠使用代幣作為抵押來借貸。為了確定需要多少抵押品去借錢,bZx使用Kyber作為鏈上預言機來檢查抵押品和借貸的比例。簡單來說, bZx 類似一家銀行, 用戶通過抵押虛擬貨幣, 加槓桿借貸。和銀行一樣, 用戶抵押100元的房子(BTC, ETH) , 換出 66元的現金(DAI, USDC )但是銀行的借款, 貸款, 清算都是一家機構獨立完成。然而bZx 的保證金交易依賴 Kyber 的鏈上流動性和報價。也就是說 bZx 對抵押品的價格的估算, 是依靠Kyber 完成的。我們瞭解一下Kyber網絡的功能。Kyber網絡從儲備(Reserve)中獲取流動性。當用戶想要在兩個代幣A和B之間進行交易時,主Kyber合約將查詢所有已註冊的儲備金以獲取A / ETH和ETH / B之間的最佳匯率,然後使用所選的兩個儲備金進行交易。

黑客通過操控Kyber 和 Uniswap WBTC/ ETH 的價格, 完成了空手套白狼的交易。

空手套白狼!如何0元買到價值300萬的BTC?


黑客攻擊步驟 :

  1. 從dydx , 0抵押物, 借 1萬個 ETH
  2. 在Compound 存 5500 ETH, 借 112 BTC 【這筆錢最後沒有還!】
  3. 在bZx 存1300 ETH, 5倍槓桿做空, 借 5637 ETH 【這筆錢最後也沒有還!】
  4. 通過Kyber Reserve 到 Uniswap WBTC pool 賣5637 ETH 【150萬美金】, 獲得 51.34BTC 【51萬美金】
空手套白狼!如何0元買到價值300萬的BTC?

更細節的交易順序

空手套白狼!如何0元買到價值300萬的BTC?

5.把Compound 借出來的 112 BTC , 在 Uniswap WBTC pool 賣112 WBTC, 獲得 6800 ETH

6.將3200 ETH 【從來沒用過】 + 6800 ETH 【賣112 BTC 獲利】 = 10000 ETH 還給dydx

空手套白狼!如何0元買到價值300萬的BTC?

那麼問題來了:誰賺了錢 ?誰賠了錢?到底誰犯了錯?

結論 :

  • Compound 得到了 2,213.26 ETH 充值,$ 359,839.76 的 WBTC 借貸。清算人會賺錢。
  • dydx 被免費使用。0收入。
  • Kyber 的 Proxy 不夠強壯。
  • Uniswap 淺的池子根本不能做Oracle 。
  • bZx 的 iETH 池充值的人損失了 ,但是WBTC 池充值的人賺錢了。所以bzx 鎖了WBTC 池黑客的錢, 準備付給iETH 池子損失的人。

空手套白狼!如何0元買到價值300萬的BTC?

利益相關:

DDEX Margin 是一個去中心化交易平臺, 可以槓桿交易, 借貸, 生息。DDEX Margin 通過在以太坊上的智能合約完成100%保證金交易。

  • 隨存隨取, 秒賺利率, USDT, USDC, DAI, ETH, WBTC
  • 最高5倍槓桿, 看漲看空 ETH, BTC
  • 智能合約由MakerDao 外部審計團隊 PeckShield 保駕護航


分享到:


相關文章: