点评:本是DeFi创新的闪电贷,是如何沦为黑客的套利工具的?

2021-05-31, 10:53
北京时间5月28日,BSC链上的AMM协议(自动做市商)BurgerSwap确认遭闪电贷攻击,损失逾700万美元。30日,BSC链上的多策略收益优化AMM协议Belt Finance也确认遭受总共8次的闪电贷攻击,攻击中总共4个池遭受影响,损失逾620万美元。而自5月以来,BSC链上已共有13个项目遭受攻击,总损失金额超过2.6亿美元。


根据派盾(PeckShield)的2021年1月份发布的数据统计,在2020年DeFi攻击事件达到60起,总损失超过2.5亿美元。在DeFi协议越来越流行的同时,频频发生的闪电贷攻击事件让交易者不得不重新评估DeFi的安全性问题。


图源:Medium.com

闪电贷的起源

加密货币市场的发展为其带来了像传统金融借贷一样的服务。与传统贷款类似,借款人需要投入抵押品,即加密货币,才能申请贷款。在贷款结束后,借款人偿还所借的币和约定的利息,这部分利息将分配给各个出借人。

而传统金融机构放贷时一般面临两大风险:违约风险和流动性风险。前者常指贷款人携款潜逃或是无力偿还,后者指一家机构放出贷款太多,且借款人未能及时还款,导致机构本身业务无法进行。加密货币市场中的借贷同样也存在着这两大风险。

为了能够降低这两种风险,闪电贷(Flash Loan)概念最早于2018年由Marble协议提出,之后随着Aave和dYdX两个交易平台的兴起逐渐普及起来,于2020年逐渐进入区块链用户的视野中。而自诩为“智能合约银行”的Marble提出的闪电贷概念,当时是属于非常简单但又非常智能的DeFi创新,即通过智能化合约完成零风险贷款。由于当前几乎全部DeFi项目都是在以太坊区块链上进行的,所以闪电贷的对象也主要是基于以太坊的项目。


闪电贷的功能原理

闪电贷让交易者可以在无需抵押品的情况下,从特定的智能合约池借入任何可用的资产金额,并在同一个交易内,将借款归还并支付利息。

同一个交易内完成借款、用款和还款?在传统的金融市场中确实不可能发生,但在加密货币市场中是确实可能的。在闪电贷的过程中,一个交易指的是一组以“原子方式”执行的操作,即要么所有的步骤都被执行,要么交易回滚,所有步骤都不执行,所有的步骤是不可分割的,而这所有的步骤都会被记录到一个交易(区块)上。

目前以太坊的出块速度为13.52秒。也就是说,在目前闪电贷的过程中的借款、使用和还款需要在13.52秒内完成。而如果发现借款人无法在时限内完成还款,交易则会被复原。


闪电贷的应用场景

在Marble协议提出闪电贷的概念时就公开指出,用户可以通过从Marble中借款,于一家去中心化交易所中买币,再到另一家去中心化交易所中以较高价格卖币,归还贷款并赚取差价。因此闪电贷最主要的一个应用场景即是套利交易。

假如我们发现在Uniswap和Sushiswap上的DAI/USDT池存在着价格差异,在Uniswap上1DAI可以换取1.5USDT,而在Sushiswap上0.5DAI就可以买到1.5USDT,可以通过以下操作完成套利:
1. 通过闪电贷于Aave借得100个DAI;
2. 在Sushiswap上将100个DAI换成300USDT;
3. 在Uniswap上用300USDT换成200DAI;
4. 回到Aave偿还借出的100DAI及相关交易费用;
5. 剩余差额即利润为100DAI。

实际操作过程中,还存在网络费用、价格滑点、先来先得等因素,因此并没有看起来这么简单。

另外,闪电贷还能够被用于更换抵押品以及自我清算的场景中,操作过程与套利过程类似。


闪电贷沦为黑客攻击手段

在各起攻击事件中,攻击者先是借助闪电贷获取大量资金,再以此通过一系列抵押、借贷、交易等操作后操纵、扭曲相关资产价格,归还本金,最终达到“空手套白狼”的目的。


2020年2月,bZx遭受了第一起闪电贷攻击。攻击者通过调用多个DeFi协议,完成了0成本获利1193个ETH(当时总值34万美元),根据相关区块链的记录,具体流程如下所示:
1. 通过闪电贷0抵押从dYdX借出10000枚ETH;
2. 将其中5500枚于Compund中抵押借贷112WBTC;
3. 将1300枚ETH通过bZx发送到fulcrum,并打开ETH/BTC交易对的5倍杠杆空头头寸;
4. 通过Kyber Reserve到Uniswap的WBTC pool卖了价值150万美元的5637枚ETH,购入51.34BTC,价值51万美元;
5. 将Compund中借出的112BTC在Uniswap对应池中卖112WBTC,获得6800ETH;
6. 最后将3200ETH和6800ETH还给dYdx。


图源:peckshield.medium

就在第一起攻击的3天后,bZx就遭受了第二起闪电贷攻击,据估算,攻击者获利2388枚ETH,约64.4万美元。


为什么DeFi频频遭受闪电贷攻击

目前,DEX(去中心化交易所)如Uniswap等,主要是通过自动化做市商和价格预言机来达到获取和汇报价格、汇率等功能的。但与CEX(中心化交易所不同),DEX的数据更加独立化,资产池的价格很容易因为交易量、流动性等剧烈变化,导致不同的DEX之间相同交易对的资产池产生差价,产生出套利空间。

因此,攻击者只要能够通过闪电贷借入大笔资金,再借助智能合约在交易平台操纵兑换率,最后通过不同平台间的兑换率差进行套利,便能达成“0成本”的无风险攻击。


拿走了却还回来?闪电贷攻击者的趣事

有趣的是,部分闪电贷攻击者在攻击之后,选择了归还部分甚至全部不义之财。

2020年,Value DeFi协议在推特上公开表示,他们是目前拥有最好的抵御闪电贷攻击机制的DeFi平台。同年11月,Value DeFi就遭受到了黑客的闪电贷攻击,最终造成了逾700万美元的损失。

但显然攻击并不是这名黑客的主要目的。最后该黑客归还了200万枚DAI,并留下了一条嘲讽性极强的信息:“你真的懂闪电贷吗?”


图源:Value Defi官方推特

闪电贷到底是好是坏?

闪电贷本身确实是一种创新金融工具,在一般的情况下的确能满足数字货币市场中不同角色参与者的需求,促进资金的流动和价值循环。但凡事都有两面性,目前闪电贷以频繁被黑客用于攻击套利而熟知,为许多交易者所诟病。

闪电贷的攻击确实对DeFi生态圈造成了资产损失,但这类攻击并不是就该停止闪电贷服务的理由。毕竟是由不同的人使用所造成的不同后果。而且,频频发生的闪电贷攻击事件,能让目前火爆增长的DeFi生态圈敲响警钟并正视自己的缺点,只有正视缺点,不断改进才能够让整个生态圈更加完善。


作者:Gate.io 研究员:Gazer. C
*本文仅代表研究员观点,不构成任何投资建议。
*本文内容为原创,版权为Gate.io所有,如需转载请注明作者和出处,否则将追究法律责任。
分享一下
gate logo
荣誉积分榜
完成动态任务,升级荣誉等级