区块链:金色硬核 | 一文读懂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的交易所允许交易者在以太坊区块链的一个区块交易中利用套利机会。

金色财经行情播报丨BTC整体震荡,多头势能未完全释放:据火币行情显示,今日BTC行情整体震荡,中午出现下滑趋势,15时许出现了加速,最低探至9280USDT,随后小幅反弹。日线图继昨日冲高回落以后,今日呈小十字星,节奏保持震荡,且距均线产生定一定乖离值,但多头势能并未完全释放。4小时均线MA10构成支撑,1小时持续震荡过程中均线MA30上指。截至18:30,主流币的具体表现如下:[2020/7/22]

什么是闪电贷(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万美元。

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

第一笔闪电贷

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

金色晨讯 | 6月16日隔夜重要动态一览:21:00-7:00关键词:稳定币总市值、字节跳动、CME、联合利华、MakerDAO

1. 稳定币总市值突破110亿美元,创历史新高。

2. CME比特币期权市场在30天内增长10倍。

3. 字节跳动在新加坡申请数字银行牌照。

4. 联合利华将利用区块链技术对抗全球变暖。

5. CFTC主席:过度使用规定性规则或阻碍美国区块链发展。

6. MakerDAO发起有关添加KNC和ZRX作为抵押品的新执行投票。

7. 美国乔布斯法案之父:Libra或挑战美元主导地位。

8. RippleNet Cloud签署首家银行客户。[2020/6/16]

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

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

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

更多交易:

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

金色晚报 | 5月15日晚间重要动态一览:12:00-21:00关键词:中国银联、挪威政府、缅甸央行、BCH、HT销毁、灰度投资

1. 中国银联:防范以投资“区块链”、“虚拟货币”为噱头的欺诈行为。

2. 《知识产权强国推进计划》:促进区块链等在版权保护领域的应用。

3. 挪威政府将推出加密矿业激励机制,电费降幅超97%。

4. 缅甸央行禁止包括比特币在内的数字货币。

5. 火币4月销毁328.1481万个HT,销毁均价为3.79 USDT。

6. BCH基础设施融资计划宣告失败晚间22:00BCH将正式升级。

7. 灰度投资近一个月买入38392枚比特币。

8. 数据:5月CME比特币期权未平仓量较年内均值上涨10倍。

9. 黑客以曝光特朗普丑闻为威胁索取4200万美元加密货币。[2020/5/15]

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

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

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

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

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

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

金色财经行情播报丨BTC压力位在7400USDT附近:据火币行情显示,截至10:00,昨日BTC下午小幅回调后,晚上10点开始反弹。1小时图上形成局部上升楔形,而重要压力位在7400USDT附近。[2020/4/9]

这不是预言机攻击。相反,这是一个非常聪明巧妙的套利,它确实利用了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中出货。

金色财经现场报道 火币研究院院长袁煜明:区块链世界可改变企业追求垄断天性:金色财经现场报道,在2018全球区块链精英峰会上,火币研究院院长袁煜明进行以《如何利用区块链改造生产关系》的主题演讲,他指出:区块链可以从五大方面改造生产关系:降低信用门槛,律师费、审计费、公证费、承销保荐费等都将下降;打破公司组织边界,科斯定理中认为,企业的边界即为企业内部的交易成本等于市场的交易成本;削弱渠道生产价值,在传统世界中,渠道为王,实体与互联网渠道均存在盘剥现场,而区块链世界中,则是自来水传播的模式;组织长尾供给,在互联网层面,是分享经济为主,头部商家供给,消费降级,而区块链世界中,是共享经济模式,组织长尾供给,消费升级;改变企业追求垄断天性。[2018/4/28]

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

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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-3:444ms