逐步揭开利用借贷协议 bZx 套取 51 BTC 的真相

DeFi 借贷协议 bZx 被 0 成本套利 51 BTC 引发广泛关注,一步步解释黑客是如何操作的。

原文标题:《DeFi 低调分享 | 如何空手套白狼 51 个 BTC》
撰文:Bowen

从昨天晚上所有 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 的价格, 完成了空手套白狼的交易。

黑客攻击步骤 :

  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 万美金】
    更细节的交易顺序
  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 保驾护航

来源链接: mp.weixin.qq.com

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章