Balancer: 闪电贷+恒定积损失50万美金 2020年6月29日,Balancer遭受闪电贷攻击,Balancer是使用恒定积进行的AMM市场,池子中的Assets在遵守恒定积的前提下可按池子当时的利率进行交换,本次闪电贷攻击利用了该原理,将一种Asset掏空后,用另一种Assets以很低的价格获取,由此获利接近50万美金。 攻击hash:0x013be97768b702fe8eccef1a40544d5ecb3c1961ad5f87fee4d16fdc08c78106 攻击步骤: 1. 攻击者去dYdX借贷104k WETH; 2. 攻击者在Balancer的WETH-STA池子里将步骤1得来的WETH不断地换成STA代币,21次之后,池子中的STA被掏空,只剩下1weiSTA(由于通缩模型,至少会剩余1weiSTA在池子里); 3. 攻击者按照恒定积公式,使用1weiSTA不断地获取池子中的WETH,价格分别为1weiSTA:30,347WETH,1weiSTA:15,173WETH等等,进行18次兑换之后,WETH几乎被兑空; 4. 同理,攻击者也将WBTC-STA,SNX-STA,LINK-STA池子进行了同样的操作; 5. 攻击者去dYdX退回104k WETH; 6. 攻击者将获取的少量STA(<50weiSTA)放入Balancer池子里添加流动性,由于池子里目前STA数量很少,仅有1weiSTA,因此攻击者此时获取了很高的LP share,这些share可以获取池子的代币奖励,共计获取了136k STA; 7. 攻击者将136k STA 兑换成了109 WETH,由此完成整个攻击过程。 攻击完毕之后,攻击者将得到的币转入0xbf675c80540111a310b06e1482f9127ef4e7469a,该地址的所有操作都由Tornado进行,因为已无法追溯。 攻击者共计得到下列战利品: 455 WETH ($100k worth) 2.4m STA ($100k worth) and converted it to 109 WETH ($25k worth) 11.36 WBTC ($100k worth) 60.9k SNX ($100k worth) 22.6k LINK ($100k worth) Balancer: Compound金融模型漏洞 2020年6月29日,攻击者从dYdX闪电贷中借到代币并铸币后,通过uniswap闪贷获得cWBTC和cBAT代币,然后将借得的代币在Balancer代币池中大量交易,从而触发Compound协议的空投机制,获得空投的COMP代币,再使用Balancer有漏洞的gulp()函数更新代币池数量后,取走所有代币并归还闪电贷。攻击者相当于利用了Compound协议的金融模型、闪电贷和Balancer代码漏洞,无中生有了COMP,总获利约为11.5ETH。 攻击hash1:0x70959fef9d7cc4643a0e885f66ec21732e9243ffd3773e4a9ea9b5ab669bab4d (使用Tokenview浏览器搜索) 攻击过程: 1. 从dYdX处通过闪电贷形式借得WETH、DAI和USDC三种代币,数额分别是103067.20640667767WETH、5410318.972365872DAI和5737595.813492USDC。 2. 使用步骤1中得到的代币,在Compound中借贷cETH、cDAI和cUSDC,也就是对三种代币 (cETH、cDAI和cUSDC) 进行铸币操作 (mint),量为5,150,226.00337039cETH,264,123,046.64278978cDAI,272,429,456.68851376cUSDC。 3. 从Compound处通过闪电贷借得WBTC、BAT,数额分别是1380WBTC、49000000BAT, 4. 使用步骤3中得到的代币,在Compound中借贷cWBTC、cBAT,也就是铸造 (mint) cWBTC,cBAT代币。量为68,474.79460157cWBTC,2,407,985,254.35853495cBAT。 5. 携带获得的cWBTC与cBAT加入Balancer的代币池,此时攻击者拥有的cWBTC和cBAT的数目分别为4955.85562685cWBTC和55144155.96523628cBAT。 6. 分别用cWBTC和cBAT在Balancer的该代币池中进行大量的交易,从而触发COMP空投(Airdrop)操作,将这些空投的COMP分发到Balancer该代币池中。 7. 调用gulp()函数将当前的COMP数目同步到Balancer智能合约中,并将cWBTC、cBAT以及额外被加入代币池中的COMP取出。退出代币池时,攻击者拥有的cWBTC和cBAT的数目同样为4955.85562685和55144155.96523628。但是由于在代币池中通过大量交易产生的额外COMP代币。此处攻击者还可以选择直接进入其他代币池中,复用步骤1到步骤6的攻击方法,获得额外COMP代币。 8. 偿还Compound和dYdX的闪电贷,离场。 9. 攻击者仍旧可以采用同样的方法(步骤1到步骤7),对其他代币池发动攻击。攻击的机制类似,但是通过闪电贷借得和用来进行攻击的代币种类略有不同。 最终攻击者将得到的1.413164269999604596COMP放到Uniswap交易为1.466344591877333617ETH离场。 同样的攻击hash2:0xa519835c366bc77d93c9d3e433e653bfc46120688ad146b383f4dd93342cad29 —- 编译者/作者:Tokenview区块链浏览 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
DeFi挖矿:Balancer遭闪电贷攻击与金融模型漏洞
2021-01-06 Tokenview区块链浏览 来源:区块链网络
LOADING...
相关阅读:
- 烤仔观察|哈耶克最后的预言2021-01-06
- DeFi总锁仓量破188亿美元创新高算法稳定币下一个DeFi的趋势?2021-01-06
- 什么是自动化做市商?CellETF的自动化做市商机制是怎样的?2021-01-06
- Daisy智能合约-一篇文章带你认识2021-01-06
- 曾经随手挖的DBL现在能借币了2021-01-06