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

金色晚报 | 11月12日晚间重要动态一览:12:00-21:30关键词:俄罗斯财政部、BitMEX、比特币UTXO、德意志银行报告、A16Z

1. 俄罗斯财政部将放宽加密税收报告要求。

2. BitMEX和Eventus Systems达成合作,增强其贸易监督和反交易能力。

3. 数据:比特币UTXO利润比例超过98%,利润达到1.1亿。

4. 德意志银行报告:长远来看央行数字货币将取代现金。

5. 以色列区块链公司Kirobo为以太坊交易提供“撤销”功能。

6. 数据:拥有1万枚以上比特币的钱包数量创2020年新高。

7. Messari报告:就风险调整后的收益而言,比特币的表现优于全球最大的对冲基金。

8. 比特币11月11日在656477区块高度出现废区块。

9. Ripple首席执行官:比特币控股公司将受到拜登政府的审查。

10. A16Z支持的工资支付平台Deel宣布支持比特币、以太坊和瑞波币。[2020/11/12 14:09:02]

什么是闪电贷(flash loans)

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

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

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

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

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

金色财经合约行情分析 | BTC在9000美元上方盘整,保持低波动:据火币BTC永续合约行情显示,截至今日18:00(GMT+8),BTC价格暂报9115美元(+0.61%),20:00(GMT+8)结算资金费率为0.010000%。

BTC今日处于下跌后的低位盘整状态。根据火币交割合约数据,BTC当季合约成交额稳定,持仓量出现下降,精英多头占比稳定,当季合约溢价稳定。BTC目前在9000美元上方盘整,市场人气在价格下跌后进一步受到打压,BTC仍保持低波动率,操作难度大。

USDT于火币全球站OTC的报价为6.95元,溢价率为-0.67%。[2020/7/17]

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

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

第一笔闪电贷

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

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

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

金色财经现场报道 EOS引力区联合创始人李万才 :每个区块链都是一个经济体:6月10日,清华数据院区块链产业发展论坛在清华大学召开。EOS引力区联合创始人李万才作《区块链共识经济体 》的主题演讲。他提到:“每个区块链都是一个经济体,它需要包含共识机制、通证模型和社区活力三要素”,他认为区块链的灵魂在社区,没有生态载体和社区生态的项目,和互联网项目没有区别。[2018/6/10]

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

更多交易:

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

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

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

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

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

金色财经现场报道 聚空间CEO范李悦:监管应该转向技术层面:金色财经现场报道,在世界区块链大会·三点钟峰会中,进行以《交易所的自我监管与共识机制》为主题的圆桌论坛。聚空间CEO范李悦指出:加密货币交易所还是应该自律的,如果有交易异常的情况,交易所应该进行跟踪,并逐渐生成KYC模型,进行预防。监管应该转向技术层面,中心化与多中心化交易所都有各自的特点,可以满足不同用户的需求。[2018/4/25]

最新套利案例: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。

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

金色财经讯:比特币强势上涨!据CoinDesk比特币价格指数(BPI)显示,比特币价格已攀升至6832.61,顺利突破6800美元大关。[2017/11/2]

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

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

银河链

Gate.io全球究竟有多少人持有超过1个比特币?

比特币本周已经稳定在10000美元以上,对于一类加密货币来说,这是一个相当不错的数字,因此大部分人可能想知道全球究竟有多少人持有至少1个比特币。我们将首先通过BitInfoCharts提供的地址检查比特币的分布.

火币交易所由浅入深了解交易所(3):一家交易所如何被割?

由浅入深了解交易所(3):一家交易所如何被割?作者:村头二旧 (加密二锅头)本文是本系列文章的第三篇,主要讲述交易所被割的方式和平台币的基本逻辑。备注:割,动词,一般指损害别人利益满足自身利益的行为,多和金钱直接相关.

[0:31ms0-1:609ms