DeFi 低调分享 | 如何空手套白狼51 个BTC
从昨天晚上所有DeFi 相关的群里就热闹了起来
主要是 因为 bZx 受到 Oracle (预言机)攻击, 存币用户受到了损失 。
很多分析没有一步一步解释黑客是怎么通过声东击西, 在5个 DeFi 产品中, 以0成本套利。
我们梳理了整个攻击过程。
结论:
黑客通过多合约调用,在一笔链上交易中, 用0抵押金, 让bZx 借贷池损失51.34 BTC, 在Compound 得到18w 美金等值的存款。
bZx 锁定管理权限,黑客没有成功提取51.34 BTC 盈利。
简单介绍一下 bZX
bZx是一种去中心化的保证金交易协议。
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 的价格, 完成了空手套白狼的交易。
黑客攻击步骤 :
从dydx , 0抵押物, 借 1万个 ETH
在Compound 存 5500 ETH, 借 112 BTC 【这笔钱最后没有还!】
在bZx 存1300 ETH, 5倍杠杆做空, 借 5637 ETH 【这笔钱最后也没有还!】
通过Kyber Reserve 到 Uniswap WBTC pool 卖5637 ETH 【150万美金】, 获得 51.34BTC 【51万美金】
更细节的交易顺序
5.把Compound 借出来的 112 BTC , 在 Uniswap WBTC pool 卖112 WBTC, 获得 6800 ETH
6.将3200 ETH 【从来没用过】 + 6800 ETH 【卖112 BTC 获利】 = 10000 ETH 还给dydx
那么问题来了:
谁赚了钱 ?
谁赔了钱?
到底谁犯了错?
结论 :
Compound 得到了 2,213.26 ETH 充值,$ 359,839.76 的 WBTC 借贷。清算人会赚钱。
dydx 被免费使用。0收入。
Kyber 的 Proxy 不够强壮。
Uniswap 浅的池子根本不能做Oracle 。
bZx 的 iETH 池充值的人损失了 ,但是WBTC 池充值的人赚钱了。所以bzx 锁了WBTC 池黑客的钱, 准备付给iETH 池子损失的人。
利益相关:
DDEX Margin 是一个去中心化交易平台, 可以杠杆交易, 借贷, 生息。DDEX Margin 通过在以太坊上的智能合约完成100%保证金交易。
随存随取, 秒赚利率, USDT, USDC, DAI, ETH, WBTC
最高5倍杠杆, 看涨看空 ETH, BTC
智能合约由MakerDao 外部审计团队 PeckShield 保驾护航
作者微信
bowenwangcrms
【往期文章】
万字说透defi |去中心化借贷 | 币安被盗 | 稳定币的稳定币NUSD | 揭秘bitfinex | 3种DEX模型 | 抢先交易 | 百亿美金DeFi市场,还需要一个它 | 世界货币失败史 | 美股交易| DeFi 投资密码 | 一个人的量化基金 | 用 Dai 做空美股 | Facebook 发币 | J.P.摩根发币 | WBTC的V神小意见 | 去中心化交易所 2019 | 以太坊 2018