2020年6月28日下午6:03:11 + UTC开始,DeFi平台Balancer被利用对ERC20通缩代币的有缺陷的操作而受到攻击。从技术上讲,此事件背后的主要逻辑是Balancer与通货紧缩代币之间的不兼容,然后攻击者滥用该不兼容代币来创建损坏的STA / STONK池状态,并从中获利。 平衡器池是类似Uniswap的多维自动做市商(AMM)。它们包含多种资产,并通过创建套利机会以通过特殊公式形成价格来交换任何资产,从而使它们在一定比例之间保持平衡。
具体来说,该黑客操作包含四个不同的步骤:
3.牟取暴利者利用平衡器中STA的错误处理方式,偷走了约523,616.52美元的资产池。 接下来,我们将分解交易中黑客的行为。 图1:黑客行动分解 步骤1:借入贷款
步骤1:从dYdX借用WETH的闪电贷 步骤2:STA耗尽
步骤2:即时STA耗尽(第一部分) 执行上述交换的结果是将1e-18故意留在了平衡器池中:步骤2:即时STA耗尽(第二部分) 因此,我们现在具有_records [STA]和STA._balance [BPool]如下:由于BPool中STA的数量几乎为零,因此它相对于其他资产的价格非常高。目前,任何人都可以将1个STA交换为大量其他资产。 第三步:利用牟利
第三步:利用牟利(第一部分) 具体来说,通过swapExactAmountIn()将1e-18 STA发送到BPool中,不良参与者在第一次运行中换出了30,347个WETH。在用于簿记的内部记录中,在BPool合约实际上从msg.sender收集相应的STA代币之前,_records [STA]由tokenAmountIn(即1)增加。步骤3:以营利为目的(第一部分-继续) 在swapExactAmountIn()的底部,_pullUnderlying()函数收集了STA代币。但是,如前所述,STA是通货紧缩代币,每次代币传输收费显示为1%。由于减少了转账费用,因此平衡器池实际上得到了0个STA代币。因此,BPool的实际STA余额与其内部记录(即_records [STA])之间不匹配。步骤3:利用牟利(第二部分:gulp重置STA余额的内部记录) 为了解决不匹配问题,利用gulp()重置_records [STA],这有助于不良行为者维持BPool只有1e-18 STA的状态。因此,不良行为者可以继续与极有价值的1e-18 STA交换所有池资产。第4步:偿还Flashloan
步骤4:偿还dYdX贷款 直击问题 此事件强调了DeFi可组合性带来的挑战,这些挑战可能会导致通缩代币产生不太明显的不兼容性问题。它还提醒人们,先前发生的事件表明ERC777代币不兼容。我们预计不兼容的情况可能会继续存在,并且没有简单的解决方案。
事件后果 Balancer黑客事件可能不是最后一次攻击事件。攻击的幕后推手是非常老练的“智能合约工程师”,对领先的DeFi协议具有广泛的认识和了解。这次袭击是有组织的,事先已做好充分准备。 最后,我们汇总了此事件中各种资产的损失金额和占比,请见下图: 损失了近50万美元,而黑客获得了近42.5万美元的代币: 455 WETH(价值10万美元) 原文链接: https://medium.com/@1inch.exchange/balancer-hack-2020-a8f7131c980e https://medium.com/@peckshield/balancer-hacks-root-cause-and-loss-analysis-4916f7f0fff5 —- 编译者/作者:洁sir 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
Balancer 受黑客攻击的根本原因和损失列表,此类攻击给DeFi的发展带来哪些挑战
2020-07-01 洁sir 来源:区块链网络
- 上一篇:澳本聪的新证据;DeFi一个瓜;鹅厂掐架老干妈
- 下一篇:当传销女爱上了合约男
LOADING...
相关阅读:
- 尽管围绕ETH 2.0进行了炒作,但技术指标仍对以太坊造成了麻烦2020-08-07
- 带有SEC的灰度级以太坊信任文件将ETHE锁定期减半与GBTC相同2020-08-07
- Chainlink长期价格分析:8月6日2020-08-07
- Celil?ztürk:“比特币是一场革命,以太坊是互补的”2020-08-07
- Binance IEO项目,波段协议,在上市新闻中看到了Coinbase的影响; 接下来2020-08-06