去中心化金融项目bZx遭受攻击的详细分析
攻击过程概述
前谷歌软件工程师近日在其个人网站Palkeo上发布了一篇博客,详细解释了最近针对去中心化金融(DeFi)项目bZx的攻击事件。
攻击步骤详解
攻击者首先从非托管保证金交易平台dYdX借入了10,000 ETH(目前价值约249万美元)。随后,攻击者将5,000 ETH发送至DeFi借贷协议Compound,并借出了112个基于以太坊的比特币代币(WBTC),这些代币与比特币的兑换比例为1:1。
接下来,攻击者向bZx发送了1,300 ETH,以5倍杠杆开设了一个WBTC的空头头寸。这一操作在Fulcrum平台上创建了一个空头仓位,利用ETH对WBTC进行5倍杠杆做空。
bZx随后通过Kyber订单将5,637 ETH转换为51个WBTC,这些订单被路由至Uniswap。攻击者在Uniswap上将112个WBTC兑换为6,871 ETH,并将10,000 ETH返还给了dYdX。
漏洞利用与损失
攻击者利用了bZx的一个漏洞,导致其在Uniswap上以3倍于实际价格进行了大额交易。由于Uniswap的流动性池被严重扭曲,攻击者得以将112个WBTC以6,871 ETH的价格出售。
最终,攻击者获得了71 ETH的净收益,但这并非其“纯粹的套利利润”。攻击者在Compound上仍持有5,500 ETH的抵押品和112个wBTC的借款,这部分资产价值约为35万美元。
简而言之,bZx代码中的一个“逻辑漏洞”导致了协议损失约62万美元的资产,而攻击者则从中获利约35万美元。攻击者通过开设巨额仓位,导致资金从bZx泄漏至Uniswap,并从中获利。
后续影响与回应
值得注意的是,分析指出此次攻击并非由于预言机漏洞,而是由于bZx的代码漏洞。此外,bZx的资产损失与攻击者的获利并不完全对等,可能是因为攻击者并未最大化其利润,且攻击后Uniswap的流动性池被严重破坏,导致大量机器人涌入套利。
bZx昨日在推特上表示,用户不会遭受任何损失,项目方将进行全额赔偿。预计项目方将于今天下午5点(美国山区时间)发布详细分析报告。
(请注意,目前该博客文章已暂时下架,作者表示将在bZx发布分析报告后重新上线。)