链资讯 链资讯
Ctrl+D收藏链资讯

金色硬核 | 一文读懂DeFi上的闪电贷(附如何利用闪电贷套利)

作者:

时间:

金色财经近期推出金色硬核(Hardcore)栏目,为读者提供热门项目介绍或者深度解读。

2月16日,bZx被爆遭到“攻击”,“攻击者”操纵多个DeFi项目上的代币价格,从而实现15秒内套利36万美元。涉及多个DeFi明星项目如Compound,DyDx,Uniswap,kyber,bZx。这个“攻击”利用了DeFi上最新的闪电贷(flashloans)功能。正如bZx所说,这种“攻击”是所见过的最复杂的攻击之一,只有对每种DeFi协议及其各种工具有非常深入的了解才有可能,传统金融体系中没有类似的东西。

什么是闪电贷(flashloans)?怎么利用闪电贷(flashloans)来套利?本期金色硬核(Hardcore)综合编译AbitrageDAO和PeckShield最早和最新的闪电贷套利研究。

AbitrageDAO是Stake资本团队建立的一个DeFi套利基金,联合链上流动性和链下机器人来寻求套利机会。PeckShield为区块链安全公司。

最新进展:2月18日bZx发推宣布再次暂停,疑似再次被“攻击”,“攻击”者或获利2388个ETH。

在交易世界中,套利是一种利用市场之间的价格差异来获利的策略。套利机会在金融市场中以各种形式存在。加密货币也不例外,很多交易所之间有着套利机会。套利有助于减少资产在不同市场中的价格差异,它还有助于提高流动性。

我们(AbitrageDAO)专注于在以太坊上运行的具有合约可填充流动性(Contract Fillable Liquidity ,CFL)的去中心化交易所。有CFL的去中心化交易所包括Oasis,0x relayers,Uniswap,Bancor和Kyber。有CFL的交易所允许交易者在以太坊区块链的一个区块交易中利用套利机会。

什么是闪电贷(flash loans)

闪电贷(flash loans)是为开发人员设计的,可以在无需提供任何抵押的情况下立即进行贷款。所有这些都要在一个交易(一个以太坊区块)中完成。开发人员可以从Aave储备池中借钱(注:flash loans最早讨论来自Aave协议,第一笔flash loans也来自Aave),条件是在交易结束之前将流动资金返还到资金池中。如果这种流动性未能及时返回储备库,则交易将被撤回,从而确保储备池的安全。

闪电贷有许多有趣的用例,包括:

去中心化交易所之间的套利

多个借贷平台如Compound,dYdX或Nuo上清算贷款

再融资,例如从Aave提取DAI,关闭MakerDAO CDP,获取抵押品,在Compound上存款,开仓,取回DAI,退还DAI加手续费

这使得更多参与者可以在套利和清算间发挥作用,因为不需要任何资金就可以开始。套利机会通常不需要太多资金(在100-10000美元之间)。另一方面,清算需要大量资金来清算借款人头寸。Compound或单抵押DAI(SAI)的许多清算需要ETH或DAI超过100万美元。

观点:魁北克最多只能为矿工提供300MW的电力支持:加密货币评论播客Digiconomist今日发推反驳“仅加拿大魁北克省的水力发电量就足以支撑全球比特币网络运行”言论,并表示,加拿大魁北克的利用率甚至没有在全年均匀分布。它还必须应对冬季用电高峰,因此魁北克最多只能为矿工提供300 MW(每年2.6 TWh)的电力支持。另外,魁北克的比特币挖矿没有远大的未来。

此前消息,推特账户Documenting Bitcoin表示,仅加拿大魁北克省未利用的水力发电就足以支撑比特币网络的运行。加拿大整体拥有400 TWh的水电容量,而比特币网络运行每年只需要129 TWh。MicroStrategy首席执行官Michael Saylor等转发了该推文。[2021/8/15 22:15:34]

ArbitrageDAO是低抵押/无抵押闪电贷的最佳用例。但我们相信,在未来几个月中,将看到许多使用闪电贷的激动人心的项目。

第一笔闪电贷

ArbitrageDAO于2020年1月18日完成第一笔无抵押的闪电贷。见下图Camilla Russo的报道。

为了证明闪电贷的巨大潜力,我们决定聚焦于特定的套利策略,但也可应用于许多其他方面。你可以在此处查看ArbitrageDAO从钱包发起的交易:https://etherscan.io/address/0x8645abffe4fad9e0c6c18afff30ef6aea438008c

https://etherscan.io/tx/0x4555a69b40fa465b60406c4d23e2eb98d8aee51def21faa28bb7d2b4a73ab1a9

在上述套利交易中,AbitrageDAO在Aave上借出超过3100个DAI。

更多交易:

https://etherscan.io/tx/0xc47ed2ebce6a23c961e0d9f7e40444412a8a836bc53d5c72611e5d644940a9da

https://etherscan.io/tx/0x8b891a8a4fcbcec0fbdff85e0cbb6f425395b1cb43949c2f4641ce2e9cf0e5fc

https://etherscan.io/tx/0xcd774671f1c384d35560ebee21b28aae304adfd3db1fb21dae0d09f4a8a3671c

https://etherscan.io/tx/0x0f98dbea3cbeac172400e19c44623583bbdf974e38bd70fe4156dba624f2f187

泰国中部发生一起火车与巴士相撞事故 致17死30伤:泰国中部北柳府11日发生一起火车与巴士相撞事故,目前已导致17人死亡、30人受伤。据泰国媒体报道,当地时间8时30分,一辆载有约60人的巴士在北柳府一个火车站与一辆运载集装箱的货运火车相撞。事发时,该巴士待一列火车经过后正通过车站,但另一列火车正从另一铁轨驶过。该火车位于巴士司机视线盲区,导致相撞事故。(新华国际)[2020/10/11]

截止2020年1月23日,AbitrageDAO总共从Aave借了大约9400个DAI,盈利33个DAI。

最新套利案例:bZx 2月15日闪电贷套利过程全披露

bZx 2月15日闪电贷套利过程来自安全公司派盾的分析。

这不是预言机攻击。相反,这是一个非常聪明巧妙的套利,它确实利用了bZx智能合约中的一个错误,以允许本应锁定的bZx资金流向Uniswap,并进一步将泄漏的资金吸收到Compound头寸中。

套利五步骤

交易在这里0xb5c8bd9430b6cc87a0e2fe110ece6bf527fa4f170a4bc8cd032f768fc5219838,它是在2020-02-15 01:38:57 + UTC的区块高度9484688上。如上图所示,此次“攻击”可以分为五个不同的步骤:闪电贷借款、吸筹、杠杆拉盘、出货、偿还闪电贷(Flashloan Borrow, Hoard, Margin Pump, Dump, Flashloan Repay)。

1:闪电贷借款。这一步利用了dYdX的闪电贷功能借入10000个ETH。

执行此步骤后,“攻击”者资产负债如下资产,无收益。

2:吸筹。利用借来的贷款,“攻击”者将5500 ETH存入Compound作为抵押品,借入112 WBTC。这是正常的Compound操作,此吸筹的WBTC将在步骤4中出货。

完成此步骤后,“攻击”者的资产负债表如下,仍然无收益。

3:杠杆拉盘。吸筹之后,此步骤利用bZx保证金交易功能以卖空ETH兑得WBTC(即sETHwBTCx5)。具体来说,“攻击”者存入1300 ETH并调用bZx保证金交易功能,即mintWithEther(连续调用marginTradeFromDeposit)。保证金交易功能利用KyberSwap将借入的5637.623762 ETH交换为51.345576 WBTC。请注意,5倍杠杆借入ETH。实质上将1 WBTC的兑换率提高到109.8 WETH,大约是正常兑换率(~38.5 WETH/WBTC)的三倍。

具体来说,为完成此交易,bZx将订单转发给KyberSwap,后者随后会查询其储备金并找到最佳汇率,实际上KyberUniswap储备库。此步骤实质是将Uniswap中的WBTC价格提高了三倍。

此步骤应由内置的完整性检查阻止,此操作可验证掉期后头寸不会变为默认值。但是,此攻击发生时,没有进行此检查,我们稍后将在智能合约错误部分中检查详细信息。

4:出货。随着Uniswap中WBTC价格的飙升,“攻击”者将Uniswap中从Compound中借来的112 WBTC卖出换成WETH。

此出货步骤获得6871.4127388702245 ETH的净收益,平均兑换率为1 WBTC = 61.4 WETH。执行此步骤之后,攻击者获得可观的利润,资产负债表如下:

5:偿还闪电贷。“攻击”者使用从112 WBTC出货中获得的6871.4127388702245 ETH,将10000ETH的贷款偿还给dYdX,从而完成闪电贷。

这一步后,可以重新计算一下资产负债。最终,“攻击”者获得71个ETH的套利,外加两个头寸,一个头寸为Compound(+ 5500WETH / -112WBTC),另一个头寸为bZx(-4337WETH / + 51WBTC)。当bZx头寸处于缺省状态时,Compound头寸非常有利可图。在利用漏洞之后,“攻击”者立即开始安排偿还Compound债务(112BTC)来赎回抵押品(5500WETH)。对于bZx头寸,“攻击”者不再显示任何兴趣。

考虑到1 WBTC = 38.5WETH(或1 WETH = 0.025BTC)的市场均价,“攻击”者可以获得112 WBTC等价的4300 ETH。结果,“攻击”者获得了71 WETH + 5500 WETH -4300 ETH = 1271 ETH,大约35.59万美元(假设ETH价格为280美元)。

bZx智能合约错误

这次“攻击”背后的魔力是Uniswap WBTC/ETH是如何被操纵至高达61.4的利润的。如第3步所述,当正常市场价格仅为38左右时,WBTC / ETH价格被拉升至109.8。换句话说,这一巨大价差是被有意操纵的。但是,如此巨大的价差会导致bZx头寸处于抵押不足状态。但是为什么要允许抵押不足状态存在,这自然导致在bZx智能合约实现中发现隐藏的错误。

保证金拉升功能从marginTradeFromDeposit()开始。

如上图所示,marginTradeFromDeposit()在第840行将第四个参数设置为true的情况下调用_borrowTokenAndUse()

在_borrowTokenAndUse()内部,当amountIsADeposit为true时,在行1348中调用_getBorrowAmountAndRate()。返回的借款金额将存储在sendAmounts 中。

同样在_borrowTokenAndUse()中,在amountIsADeposit == true的情况下,在1355行中将sendAmounts 的值填充为sendAmounts (将在后面看到)。稍后,在第1370行中调用_borrowTokenAndUseFinal()。

在第1414行中,_borrowTokenAndUseFinal()通过IBZx接口调用takeOrderFromiToken(),以使交易流进入bZxContract。

下面有趣的部分到了。在第145–153行中,有一个require()调用以检查该头寸是否健康。不幸的是,在loadDataBytes.length == 0 && sentAmounts == sentAmounts 的情况下,完整性检查(sanity check)bZxOracle :: shoudLiquidate()被跳过了。这正是触发漏洞以避免完整性检查的条件。

如果我们看一下bZxOracle :: shouldLiquidate(),则第514行中的检查getCurrentMarginAmount()<= loanOrder.maintenanceMarginAmount可以通过捕获保证金提升步骤来完成这项工作,从而可以防止这种“攻击”。

参考资料:

Flash Boys | Arbitrage DAO

https://medium.com/@bneiluj/flash-boys-arbitrage-dao-c0b96d094f93

bZx Hack Full Disclosure (With Detailed Profit Analysis)

https://medium.com/@peckshield/bzx-hack-full-disclosure-with-detailed-profit-analysis-e6b1fa9b18fc

标签:zcashTRAADEZECzcash币上交易所时间Metavault TradeDash 2 Tradezec币还能不能暴涨

以太坊交易所热门资讯
金色观察 | 减半矿币Zcash全面信息总结 11月或将爆发

Zcash项目基础资料 Zcash是首个使用零知识证明机制的区块链系统,它可提供完全的支付保密性,同时公链提供一个去中心化网络。与比特币相同的是,Zcash代币(ZEC)的总量也是2100万,不同之处在于,Zcash交易自动隐藏区块链上所有交易的发送者、接受者及数额。只有那些拥有查看密钥的人才能看到交易的内容。

金色观察 | 130亿美元收购案 摩根斯坦利曲线进军加密货币?

据华尔街日报2月20日报道,投行巨头摩根士丹利拟以130亿美元收购互联网券商公司E-Trade。这将是自2008年经济危机以来美国银行最大的收购案。 E-Trade是纳斯达克上市公司,总部位于美国纽约,是美国的一家提供免佣交易的互联网证券经纪商,类似于中国投资者熟悉的盈透证券、老虎证券。E-TRADE拥有500万个人客户,管理资产近3600亿美元。

Paxos涉足区块链股权结算业务 瑞士信贷和野村证券是其客户

稳定币发行公司Paxos已正式涉足基于区块链的股权结算业务。 Paxos周四官方宣布了这一消息。该公司表示,瑞士信贷(Credit Suisse)和野村证券(Nomura)旗下的Instinet是最早使用其结算服务的两家公司,Paxos提供的服务可以帮助其客户结算在美国上市的股票交易。 该服务可在私有和许可的网络上运行。

经济日报:重点发展区块链等核心数字化产业

中央经济工作会议提出,着力推动高质量发展,“要大力发展数字经济”。数字经济具有技术创新、产业融合、绿色发展、信息共享等显著特征,发展壮大数字经济与我国经济社会现阶段的发展规律相适应,亦是推动高质量发展的重要抓手,将为我们更好解决人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾提供助力。 当前,数字经济在世界范围内的发展如火如荼。

金色深度丨Telegram听证会:SEC应慎重考虑“经济现实”

金色财经 区块链2月20日讯  美国联邦法官表示,在确定Telegram是否进行非法证券发行时,美国证券交易委员会不应给这家加密即时通讯应用平台挂上相关“标签”。

金色深度丨“大牛”将至 传统风投如何把握加密投资策略

金色财经 区块链2月22日  比特币已经诞生超过10年,那么10年之后的加密行业会是什么样子呢?不出意外的话,加密货币也可能集成到现有数字价值链中,同时一批全新的应用程序也将孕育而生。