[Coin] bZx骇客事件分析

楼主: holycity (迪儿~)   2020-02-18 17:13:50
前几天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/)
作者: abcccbbs (保险经纪人业务副理)   2020-02-18 18:08:00
这样也算骇客?
作者: camellala (茸硬抬名器)   2020-02-18 18:24:00
DeFi界的屎漏
作者: Ayukawayen (亚布里艾尔发芽>//<)   2020-02-18 20:10:00
然后不晓得是不是因为ETH流出太多,现在fulcrum的ETH存款利率是年利42% XD
作者: gR7P4zXH (tpn7gpdx)   2020-02-18 20:25:00
作者: qxxrbull (XPEC)   2020-02-18 21:42:00
DeFi声称要与ChainLink合作,借由外部Oracle来抑制这种问题了,Link会不会有利多呢
作者: qw5526259 (缤纷乐)   2020-02-19 21:52:00
好利害的手法

Links booklink

Contact Us: admin [ a t ] ucptt.com