[閒聊] bZx駭客事件分析
前幾天bZx因駭客操作損失兩千三百顆左右的ETH,沒看到版上有相關消息
小弟想說翻譯Reddit那邊看到的分析文
分享給DeFi技術發展有興趣的朋友們~
事件操作過程:
1. 駭客先在dy/dx交易平台用 "flash loan" 借出 10kETH
2. 把其中5.5kETH拿去Compound 換112顆wBTC(Wrapped Bitcoin)
3. 另外1.3kETH拿去bZx,利用5倍槓桿去放空ETH相對BTC的價格
4. bZx為滿足步驟3的槓桿要求,拿它們自己的5.6kETH 跟Kyberswap換51顆wBTC
Kyberswap用Uniswap去完成上述的交換,但也因此讓Uniswap的wBTC價格上漲
5. 上述那51顆WBTC實際只值約2kETH,所以在wBTC供給有限的情況下價格開始飆漲
使得bZx得要付5.6k顆ETH去換那51顆wBTC
但實際上bZx的智能合約不應該去執行這樣損失很大的交易
6. bZx系統在這種情況下,理論上會要求駭客去補足步驟5發生的損失
但實際上駭客原本給bZx的ETH不足以彌補步驟這樣的損失
7. 上述過程中,bZx付了5.6kETH 換到實際等值於2k的ETH,中間損失3.6k
扣掉駭客抵押的1.3k 實際上bZx共損失2.3kETH
8. 雖然bZx會要求駭客去補足損失的2.3k 但駭客實際上不會去理
9. 上面這一連串過程發生時,駭客可以把他在步驟2換到的wBTC拿去Uniswap賣掉
10. 因為Uniswap的wBTC價格在步驟5而飆漲的關係,駭客最後換到了6.8kETH
11. 最後駭客用他手邊的ETH去償還了步驟1所借的ETH
12. 所以駭客的獲利從高價賣出wBTC以及在Uniswap的Liquidity provider fees
節錄小結:真正損失的是bZx(損失約2.3k ETH)
除駭客外,其他在Uniswap的liquidity providers也因此獲益
在這整個操作的過程中,駭客沒有任何風險
如果中間遇到狀況,駭客只要歸還一開始借的ETH、支付約8鎂燃料費就行
以上翻譯自(https://mudit.blog/bzx-hack-analysis-defi-legos/)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.25.144 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1582017234.A.D49.html
※ 編輯: holycity (1.160.25.144 臺灣), 02/18/2020 17:17:49
推
02/18 18:08,
4年前
, 1F
02/18 18:08, 1F
推
02/18 18:24,
4年前
, 2F
02/18 18:24, 2F
推
02/18 20:10,
4年前
, 3F
02/18 20:10, 3F
→
02/18 20:11,
4年前
, 4F
02/18 20:11, 4F
推
02/18 20:25,
4年前
, 5F
02/18 20:25, 5F
推
02/18 21:42,
4年前
, 6F
02/18 21:42, 6F
→
02/18 21:42,
4年前
, 7F
02/18 21:42, 7F
推
02/19 21:52,
4年前
, 8F
02/19 21:52, 8F
DigiCurrency 近期熱門文章
37
219
PTT數位生活區 即時熱門文章