LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > bZx这次的攻击操作暴露了什么问题

bZx这次的攻击操作暴露了什么问题

2020-02-22 顺其自然吧 来源:区块链网络

2月15日,某位“攻击者”利用开放式金融(DeFi)借贷协议bZx的“合约漏洞”,在一个以太坊区块时间内(不足15秒),充分利用“DeFi乐高”——5个DeFi产品之间(dydx、Compound、bZx、Uniswap、kyber)互相的合约调用,在未曾动用自有资金的前提下,一环紧套一环,最终通过在漏洞间操纵价格,成功“套利”数十万美元。

而整个过程才十几秒,完整发生在2020年2月15日以太坊区块高度9484688期间,堪称经典的教科书式案例。这里为大家简单复盘 “攻击者”的操作逻辑,体会一下满满的智商压制的感觉:

1,“攻击者”先通过闪电贷(Flashloan)从dydx上无抵押贷款了1万个ETH; 2,然后“攻击者”将其中5500个ETH在Compound上做抵押,借出了112枚wBTC(基于以太坊链上的BTC); 3,同时“攻击者”将另外1300个ETH存入bZx,发起bZx保证金交易,5倍做空ETH的永续空单(ETH/wBTC)——借入5637.6个ETH,通过Kyber的Uniswap储备库,兑换获得51.3个wbtc; 4,由于Uniswap内wBTC深度相对太浅,导致产生极大的滑点,Uniswap内wBTC价格暴涨3倍,大幅偏离正常值; 5,然后将第2步中借出的112枚wBTC在Uniswap中以大幅偏离正常值的价格集中出售,获得6871.4个ETH; 6,最终6871.4个ETH+3200ETH(从未动用)=10000ETH(归还dydx贷款)+71.4ETH(落袋为安),而且由于wBTC在第5步中被打低,所以“攻击者”用大约4300ETH便可兑换112枚wBTC还清第2步的5500ETH抵押,从而再净利1200ETH;最终71.4+1200=1271.4ETH,“折合30多万美元。一言以蔽之,“攻击者”通过操控Kyber和Uniswap上WBTC/ ETH的价格,完美利用了bZx中的“BUG”——可以单一依赖Uniswap上的价格,从而可以以偏离正常值的3倍虚高价格卖出wBTC。

而整个过程只有十几秒,正如某媒体所言:它本质上更像是利用DeFi协议和产品的一次套利操控。全程都是光明正大的交易,逻辑压制,明火执仗地从市场中牟利,单从操作角度,妙不可言。

不过“攻击”发生后bZx也及时锁定了管理权限,“攻击者”并没有成功提取其中那51.34 BTC的盈利。当然,这样的做法虽然有助于帮助用户锁定损失,但确实有违“Code Is Law”的精神,Litcoin创始人李启威在社交平台就发推直言:

这就是为什么我不相信DeFi——既然目前的大多数“DeFi”可以由某个管理部门关闭,那它和我们现在拥有的(CeFi)又有什么区别?

严格讲,这次不是黑客或任何形式的不道德举动,“攻击者”只是发现了一个规则漏洞,从生态的意义上讲,此类事件也只会推动 DeFi 协议实现更好的标准,将大大提高 DeFi 的整体稳健性。

当然提高的前提是要反思事件中暴露出来的问题:

1,首先还是要强调,这和传统的黑客钓鱼、盗取资产很不一样,是光明正大的规则性盈利,手段高明,凭实力、技巧赚钱,无可置喙;

2,其次,wBTC等以太坊上的BTC稳定币,目前体量太小,价格极易操纵,从而暴露牟利漏洞,所以以后要对此抱有警惕,尤其是我们普通人在参与相应的DeFi理财、交易时;

3,bZx既允许5倍的保证金交易,同时又对Uniswap上的价格太过单一依赖,两相作用下,导致攻击者通过在Uniswap上大量吃单就轻易地达到了自己影响wBTC价格的目的;

这也证明了在DeFi中预言机(Oracle)的重要性——任何一个交易所应该只占交易(或参考的)一部分(尤其是像Uniswap这样池子浅的交易所),可以根据头部交易所不同的交易深度与体量做相应的加权,避免类似集中单一打击某深度不佳的小所,从而滑点极大使得有利可图,甚至内部人员针对类似漏洞进行操作;

另一个角度讲,bZx次的经典操作,也起到了蛮好的教育意义:区块链上的智能合约就是这样,冷冰冰地不知变通,但却最为公平——开发者需要尽力避免规则漏洞,而我们普通用户也可以用自己的知识正当“牟利”,而一切终究会在这种互相的博弈中达到均衡,妙不可言。

—-

编译者/作者:顺其自然吧

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...