重新认识闪电贷:信用风险解决方法与 DeFi 风险策源地
本文作者:Huobi Ventures
2018 年年中 Marble首次提出了闪电贷 这一概念,但在一年后闪电贷才开始慢慢发展起来,并于 2020 年进入区块链用户的视线中。闪电贷交易基于区块链的原子化特性而成立,是一种特殊的无抵押借贷交易。原子化特性要求用户所有的相关操作必须是在一笔交易哈希之中,包括还款操作。若有任意一个要求未达到,则涉及多个操作的整笔交易必须回滚,失败的交易无法被打包。
在这种设定之下,理论上闪电贷交易允许用户通过无抵押的方式借出流动性池内的所有通证,但需在进行一系列互换抵押清算操作之后、交易结束之前归还所借通证以及固定的借贷成本。这种借贷方式完美解决了当前链上借贷的违约风险,相较于传统链上借贷通过超额抵押完成借贷行为,闪电贷为区块链用户带来了一种新的可能。
在这种可能被发现之前,闪电贷却因为两笔攻击进入大众视野。2020 年 2 月份 bZx 分别于 15 日、18 日遭受了两次闪电贷攻击,损失金额各自达到 33 万和 64 万美金。同时自流动性挖矿引起 DeFi 浪潮以来,DeFi 迎来了闪电贷攻击密集期。
下图是截止至目前发现的 12 起闪电贷攻击事件,总损失高达 9965 万美金。损失金额最高来自于 21 年 2 月 13 日 Cream.Finance 所遭受的攻击,有趣的是在遭受攻击 2 个月后,Cream.Finance 于 4 月 8 日提出将提供跨协议闪电贷(Cross-Protocol Flash Loans)服务,该跨协议闪电贷将通过 Iron Bank 完成。
闪电贷攻击事件总结,来源: Huobi DeFi Labs
从区块链的区块时间维度看待闪电贷,闪电贷在区块链上的到期期限为零。这意味着闪电贷的借贷利息应该为零,即借贷利率乘以到期期限为零。但现有提供闪电贷服务的主流协议之中仅 dYdX 不收取所谓的借贷费用,Aave 要求收取 0.09%,而 Uniswap V2 要求收取更高的费用 0.3%。Huobi DeFi Labs 认为在较远未来,闪电贷协议的服务费费率将趋向于零,从这一角度看 dYdX 似乎对闪电贷用户更友好,而 Aave 与 Uniswap V2 在未来是否能剥离闪电贷业务,提供独立于协议整体设定的服务费率仍未可知。但在当前在这场闪电贷竞赛中,三者协议以各自优势和特色割据闪电贷市场,
Uniswap V2 在三者主流协议中最迟提供闪电贷服务,但作为 DEX 龙头,Uniswap V2 以流动性高的优势在交易频次和借贷通证比较中脱颖而出,瓜分了闪电贷 60-70% 的交易市场。而 dYdX 作为最早发现闪电贷交易的协议平台,尽管只提供三个主流资产借贷,即 ETH (WETH)、USDC 和 DAI,却同样不可小觑。dYdX 上闪电贷交易涉及的 DeFi 协议高达 21 个。Aave 在三者之中作为最纯正的借贷协议,与其它两者不同的地方是提供可直接调用的闪电贷函数;同时 Aave 目前是多个 DeFi 协议主要调用闪电贷的对象,如 DeFi Saver 和 Furucombo 都是 Aave 闪电贷交易的主要客户。
在这三者主流协议之外,Huobi DeFi Labs 同样关注到 Uniswap V2 同期的提供闪电贷服务的协议——Instadapp。这一协议在出现伊始提供 COMP 加杠杆流动性挖矿和债仓管理,并在上线内一个月引起了一个闪电贷交易的小浪潮。同时它是第一个提出批量闪电贷概念的协议,但该协议却在 Uniswap V2 上线和 Aave 爆红之后归于沉寂。
本报告聚焦这四个协议的链上数据,共追踪了约 11 万条闪电贷交易数据,力图通过分析该数据呈现闪电贷交易的链上全貌。分析角度涵盖了交易笔数、地址分析、借贷通证类型和主流资产的借贷金额等,同时总结并对比了市面上围绕闪电贷功能的几乎所有协议。
约 11 万笔闪电贷交易来自四个协议平台
报告中闪电贷链上数据截止至 2021 年 3 月 16 日,根据以太坊上提供闪电贷的协议有 Uniswap V2、Aave、 dYdZ 和 InstaDapp 这一基本事实,Huobi Defi Labs 追踪这四大协议获得闪电贷共 10 万 8 千笔历史交易数据。不同协议采用不同的方式提供基础闪电贷服务,Huobi DeFi Labs 根据不同协议的特色使用不同方法获得链上数据。
总体方法概括如图中所示,Aave 直接为用户提供封装好的闪电贷函数,通过闪电贷函数调用情况追踪闪电贷交易哈希;dYdX 则是基于四个事件日志获得交易哈希;Uniswap V2 的闪电贷链上交易数据通过 Dune Analytics 的 UNISWAPV2CALL 确定交易哈希;Instadapp 的交易数据获得方式与 Aave 一致,通过其闪电贷函数调用情况追踪获得。
闪电贷链上数据来源及其获取方式汇总,来源:Huobi DeFi Labs
四个闪电贷协议获取的闪电贷交易数据总览如下图,Instadapp 至 2020 年七月份之后再无新的闪电贷交易数据,但因其可观的交易数据仍为本报告闪电贷链上数据的研究对象之一。
闪电贷交易频发于 Uniswap V2
闪电贷市场随牛市进入稳定期
闪电贷交易笔数时间分布图,来源:Etherscan.io, Huobi DeFi Labs
以太坊上闪电贷历史交易的时间分布如图所示,第一笔闪电贷交易出现于 2019 年 6 月 21 日,由 dYdX 产生。闪电贷于 2019 年只发生于 dYdX 上,且这一年闪电贷笔数仅有 148 条,直至 2020 年 1 月 18 日第二个产生闪电贷交易的协议 Aave 开始出现。但到此时闪电贷仍并不被大众所知,直到 2 月 15 日和 18 日著名的 bZx 攻击事件发生。
2020 年四月和五月份 InstaDapp 与 Uniswap V2 先后上线提供闪电贷服务,六月份闪电贷交易笔数数据显示第一轮爆发开始。这一轮爆发与六月份 Compound 启动流动性挖矿有关。流动性挖矿引起 DeFi 狂热潮的开端,而 Instadapp 在同期适时推出 COMP 加杠杆流动性挖矿、债仓和抵押品互换管理功能,成为该轮爆发的主要驱动力。
第二轮爆发发生于去年 10 月,由 uniswap V2 推动,同时从当月起闪电贷攻击进入高发期。且在 Uniswap V2 上发生的闪电贷交易比例一直维持在 60% 左右,甚至最高曾接近 90%。但在 Aave V2 上线之后,Aave V2 瓜分了部分闪电贷交易市场。目前闪电贷市场交易频次稳定在 Uniswap V2 占七成,Aave 占二成,dYdX 一成。
闪电贷交易比例时间分布图,来源:Etherscan.io, Huobi DeFi Labs
Uniswap V2 闪电贷交易失败回滚率高达 9.1%
闪电贷交易由于其特性可产生失败回滚的结果,但由于获取数据的方式不同我们仅捕捉到 Uniswap V2 的失败回滚现象。Uniswap V2 的 6.6 万条交易中有约 6 千条交易失败回滚,Uniswap V2 闪电贷交易失败回滚率高达 9.1%。
Uniswap V2 分别于 2020 年 7 月 22 日、2021 年 1 月 22 日发生大量失败回滚的交易,具体数值为 1139 笔和 308 笔。此现象可能是由于当日有用户频繁调试其策略。在本报告中所有数据分析结果如无特别说明,均不包含此回滚交易的数据。
Uniswap V2 上失败回滚的闪电贷交易笔数历史分布,来源:Etherscan.io, Huobi DeFi Labs
批量闪电贷功能或仍处早期阶段
2020 年 12 月 3 日,Aave 宣布其 V2 版本主网上线,并伴随着多个功能的更新。这其中就包含批量闪电贷,批量闪电贷允许用户在闪电贷中一次性借多种不同的通证。但这并非批量闪电贷的先例。
在 2021 年 3 月 12 日之前以太坊上共发生 145 笔批量闪电贷交易,仅占总历史交易笔数的 0.13%。其交易数分布比例如下图,尽管 Aave 最晚提供批量闪电贷功能,但约超过六成批量闪电贷交易通过 Aave 发生。Uniswap V2 与 Instadapp_batch 均约有 15% 批量闪电贷交易,而 dYdX 并未发生任何批量闪电贷交易。
批量闪电贷交易协议分布图,来源:Etherscan.io, Huobi DeFi Labs
如下图为链上数据显示的批量闪电贷历史交易分布图,图中显示史上第一笔批量闪电贷为 2020 年 6 月 17 日 Instadapp 上发生的批量闪电贷交易。图中同时显示各个协议平台提供的批量闪电贷交易聚集在不同时间段,且存在似有后来者完全取缔前者批量闪电贷功能的现象。
自 Aave 上线批量闪电贷功能以来,几乎囊括了所有的批量闪电贷交易。但批量闪电贷交易数实在太少,由于相较于其它协议平台 Aave 上的闪电贷交易套利性较低,我们认为目前批量闪电贷的真正价值仍为被发现。
批量闪电贷历史交易频次分布图,来源:Etherscan.io, Huobi DeFi Labs
平均 1.5 个调用者对应 1 个策略智能合约
以太坊中存在两类账户:外部账户和合约账户。外部账户不包含代码,合约账户包含合约代码,基于该认识,通过 etherscan 解析的闪电贷交易 From Address 为外部账户或者合约账户,To Address 为合约账户。换言之,From Address 为调用合约账户的调用者,可为普通用户或者机器人,而 To Address 为闪电贷策略本身。
为了便于分析,本报告以一个 To Address 对应一种策略。但实际中情况较为复杂,To Address 应该为执行闪电贷策略的合约,即存在一个 To Address 包含多种策略的情况。
地址存续时间以短期为主
在此之前,Huobi DeFi Labs 首先对 From Address 与 To Address 时间序列进行分析。8365 个 From Address 中第一笔与最新一笔交易时间间隔最长为 583 天;5591 个 To Address 中第一笔与最新一笔交易时间间隔最长为 613 天。此外在本报告中,为方便表达第一笔与最新一笔交易时间间隔被定义为存续时间,但由于这些地址有可能在未来再次发生闪电贷交易,需注意最新一笔交易不代表最后一笔交易。
From Address 与 To Address 的个数比例为 1.5,表明平均约有 1.5 个用户 / 机器人调用并执行闪电贷策略的合约。
存续时间分布图显示,两种地址均存在约 60% 仅在当天发生闪电贷交易的情况,这表明可能存在大量闪电贷策略合约失败;或者链上市场条件并不符合闪电贷策略交易,而这些地址不得不等待链上市场条件达到预设的判断条件,才能再次触发 / 被调用等的情况。
而有约 35% 的 From/To Address 的时间间隔在半年以内,20% 在 30 天内,这一结果揭示出闪电贷策略作为特制化交易可能存续时间极短;或者多数为针对当下某个热点协议、通证、特殊目的等的特制化交易,因此受限于链上市场条件,多数策略随着市场变化可能仅能维持一段时间。
From/To Address 时间存续分布图,来源:Etherscan.io, Huobi DeFi Labs
存续时间与频数历史趋势
下图为 From Address 与 To Address 的所有交易、交易笔数大于 100、交易笔数大于 500 的历史数据图;图中圆形的大小表示交易笔数的大小,横轴为某一地址第一笔交易发生的时间,纵轴为相应地址最新一笔交易发生的时间。因而 From/To 两种地址均分布在图左上角区域。
2020 年 3 月以前,散点数量与面积均较小,表明闪电贷处于偶发状态。2020 年 3 月起散点数量之多显示 From/To 两种地址数量进入暴增阶段,同时散点面积随时间明显增加亦表示 From Address 发起与 To Address 被调用的次数呈现相同白热化趋势。
图中显示多数散点分布在 45 度线周围,这表明散点所代表的 From Address/To Address 都仅存在短期行为,即第一笔交易与最新一笔交易发生的时间间隔较短。部分散点分布在横轴顶部则表明这些地址在近期仍存在闪电贷交易行为。
From Address 与 To Address 交易时间与频数分布图,来源:Etherscan.io, Huobi DeFi Labs
不同协议的闪电贷呈现差异化地址分布规律
From Address 与 To Address 于各个协议的数量分布图,来源:Etherscan.io, Huobi DeFi Labs
前文已谈到 From Address 与 To Address 的总个数比例为 1.5,当聚焦于不同协议上时,AAVE_d119、Uniswap V2 与 dYdX 均比例的比例大约为 1.3,与 1.5 相近。而 AAVE_c7a9 与 Instadapp 及其批量闪电贷 Instadapp_batch 的 From/To 比例却十分不同。Instadapp 的 From Address 与 To Address 二者个数相等,而 AAVE_c7a9 则呈现完全不一的比例,其 To Address 仅有 33 个。
四大协议占领不同闪电贷借款通证市场
闪电贷交易半成以上借款通证为 ETH、DAI 及 USDC
闪电贷链上交易数据显示总共有 1015 种通证以闪电贷方式被借出,其中超过 53% 的交易其借款通证为 ETH、DAI 以及 USDC,分别占据 28%、15% 和 11%。三种通证在以太坊上有不同的角色,ETH 为以太坊原生资产,DAI 与 USDC 则为以太坊上的稳定币。
而前十个最常被借款通证占总交易笔数的 61%,在各个协议的频次分布图如下所示。除三大常被借款通证外,其余通证为:稳定币 TUSD,通证化资产 WBTC,以 14 个 DeFi 资产 为底层资产的可交易指数型通证 DeFi Pulse Index,算法稳定币项目的通证 Dynamic Set Dollar 和 Frax,预言机 Chainlink 的通证 LINK,以及只发生于 Uniswap V2 的 KP3R。
前十大借款通证各协议频次分布图,来源:Etherscan.io, Huobi DeFi Labs
通过前十大借款通证于各个协议上的比例分布,我们发现 Uniswap V2 上闪电贷交易中仅有三成来自这十大借款通证。Uniswap V2 作为头部 DEX,提供的可借通证为平台上所有池子的通证,实际数据表明总共有 927 个通证通过 Uniswap V2 闪电贷的方式被借用。这一优势表明 Uniswap V2 占据着长尾资产的闪电贷交易市场。
此外 dYdX 仅提供 ETH、USDC 和 DAI 的交易,并主要占领该三大通证的闪电贷交易市场,图中 dYdX 存在 1% 的其它通证为借款通证解析结果为空的情形。
前十大借款通证各协议比例分布图,来源:Etherscan.io, Huobi DeFi Labs
dYdX 前三大借款通证各累计借款数额为其它协议数倍
闪电贷历史交易数据显示最频繁的三种借款通证为 DAI、USDC 和 ETH,基于这三大通证我们通过进一步研究三大借款通证在不同协议上的借款数额分布情况。由于三个通证在不同时期的价格数值不一同,此处数额以数量多少表明;以及报告中的所有数据并不对 WETH 和 ETH 进行区分。
结果如下图显示,dYdX 前三大闪电贷借款通证的数额在多个协议中以压倒性的优势脱颖而出。这种情况的出现恰好反应 dYdX 上闪电贷交易手续费低廉甚至为 0 的绝对吸引力。而 dYdX 之外的 Uniswap、Aave 与 Instadapp 呈现不规律的通证数量分布。
闪电贷借款总累计数额分布图,来源:Etherscan.io, Huobi DeFi Labs
闪电贷交易涉及的协议覆盖面广
闪电贷交易所借通证常被用于其它平台交易,不同协议平台的交易手续费、流动性池数量和大小各异,因此闪电贷交易中所涉及的 DeFi 协议是一个可反映闪电贷当下策略的复杂及用途广泛程度。Etherscan 与 Bloxy 均对链上交易数据进行协议字段层面的解析,但二者解析程度不一,导致统计结果有所差异。为此,这部分数据结果为二者取最高值为最终统计结果。
下图为闪电贷交易所涉的 DeFI 协议情况,左边为提供闪电贷功能的四大协议平台 Uniswap V2、Aave、dYdX 和 Instadapp,右边为每笔闪电贷交易涉及的协议平台情况总共有 22 个(含 dYdX)。
数据统计结果显示发生在 dYdX 协议的闪电贷交易涉及的 DeFI 协议平台数量最多高达 21 个 DeFi 协议,这意味着在该协议上使用的策略更加复杂、多元,导致由它产生的闪电贷交易可以涉及较广范围的协议平台。相反 Instadapp 协议的闪电贷交易涉及的协议平台数量最为单一,只有 8 种,分别为 Curve、Kyber V3、Oasis DEX、Uniswap 及其 V2、Sushiswap、Aave V1 和 dYdX。
而在被调用的 DeFi 协议平台中被调用次数达上万的协议为 Sushiswap (~2.4 万次)、Uniswap V2 (~2.1 万次)、Balancer (~1.2 万次)和 Compound (~1.0 万次),被调用次数不足百笔的有 dYdX (79 次)、Bancor (37 次)、Lendf.ME (3 次)和 EtherDelta (1 次)。
闪电贷交易所涉 DEX 分布图,来源:Etherscan.io, Bloxy, Huobi DeFi Labs
基于闪电贷功能的生态正在建立
超 10 个协议平台直接或间接提供闪电贷服务
Huobi DeFI Labs 视闪电贷为区块链的一种功能技术,围绕该功能可发展出繁茂的生态。目前经统计至少有 10 个协议平台具有闪电贷功能,除了本报告前文分析对象之 Uniswap V2、Aave、dYdX 和 Instadapp,还有如 DeFi Saver、Furucombo、Kollateral、Deerfi、Collateralswap、NFT20 等项目直接提供闪电贷服务或者通过调用其它协议的闪电贷功能提供相关服务。
1: DeFi Saver 中的 Loan Shifter 下的抵押品和债务转换需要额外 0.25% 的服务费
2: USDC、ETH、USDC 小额闪电贷直接使用 dYdX。 其它通证或 DAI、USDC 的大额借贷需先向 dYdX 借款,而后抵押至 MakerDAO、Compound 和 AAVE 再借出通证。资料来源:
https://twitter.com/smykjain/status/1361325922591277058
3: 资料来源:
https://docs.collateralswap.com/for-devs/integrating-collateral-swap/assets
4: 资料来源
https://twitter.com/daveytea/status/1224760425272745991
Uniswap V2 的闪电贷服务拥有最高自由度
闪电贷功能常被用于套利的手段之一,因此调用闪电贷的自由度极大地限制了闪电贷被调用的可能性。闪电贷的自由度可从 2 个基本维度衡量其程度高低:
-
调用手段为代码层面或者前端层面。通常可通过代码直接调用闪电贷协议其自由度高于前端层面的闪电贷协议,因为代码层面的闪电贷协议可用于多种多样的闪电贷策略,这些策略通过智能合约实现。智能合约由复杂的操作指令组成,因此代码层面的闪电贷协议更容易与智能合约结合。如 Furucombo 尽管为没有编码经验的用户构建闪电贷工具,使用户通过简单的拖放即可定制 DeFi 策略,但其可实现的闪电贷策略与通过调用 Uniswap V2 的闪电互换功能相比较弱。
-
闪电贷协议所能提供的通证种类及额度大小。如 dYdX、Aave 与 Uniswap V2 相比能提供的闪电贷通证种类远小于 Uniswap V2 所能提供的种类,因此这两类协议自由度当小于 Uniswap V。闪电贷协议自由度排序(标记为目前项目流动性及经营状况尚可),来源:Etherscan.io, Bloxy, Huobi DeFi Labs
DeFi Saver 旨在打造 DeFi 协议一站式管理解决方案,凭借着一步 (去) 杠杆(Boost and Repay)、CDP 自动管理(CDP Automation)和一步 CDP 平仓(1-transaction CDP Closing)等独特功能,目前已经提供了以 Aave 为闪电贷基础的丰富产品体验。用户能够管理在 MakerDAO、Aave 和 Compound 的债务头寸。
Deerfi 协议基本沿用了 Uniswap 的模式,但其目前已有的池子数量较少,资产沉淀仍需较长时间;此外其提供前端页面,用户可提供含策略的部署合约地址后调用 Deerfi 闪电贷。
Kollateral 旨在将 dYdX、Aave 等大资金池的流动性汇总,并通过简单的界面提供给开发人员。劣势在于闪电贷资金为三方平台,对于开发人员而言不如直接自己开发。
Collateralswap 帮助用户快速 Swap 抵押资产,无需偿还未偿还的债务。其功能实现与 DeFi Saver 的 Loan Shifter 类似,只是目前 Collateralswap 的 ALPHA 版本仅支持 MakerDAO。
NFT20 作为 NFT 的去中心化交易所和交换协议,NFT20 团队 3 月 26 日官宣上线 NFT 闪电贷,支持无抵押从各个 NFT 池中借贷 NFT,目前池子流动性大于 0 的池子总数为 61 个,且暂不收费。NFT20 团队称其闪电贷功能的实现方式和 Aave 很相似,使用场景包括套利、领取奖励等。NFT20 作为闪电贷最异类的一种,其自由度较前端操控类型高。
Cream.Finance 作为近期新上线的跨协议闪电贷服务商,支持 64 种借款通证,仅收取 0.03% 的手续费。
总结
闪电贷市场总交易数仅有 11 万条,在以太坊上这是一个不十分起眼的交易数据。闪电贷作为以太坊的原生功能,可用于帮助用户实现抵押品转换、平仓、债仓管理等操作。同时闪电贷作为特殊的借贷工具以其无抵押的特色成为特殊的攻击、套利手段,并因之成为 DeFi 中的风险来源。可见闪电贷为以太坊提供了解决信用风险的方法,却也带来了攻击风险。闪电贷作为风险来源之一,目前 DeFi 项目需考虑如何有效预防闪电贷攻击,但今年 2 月份三起闪电贷攻击事件的出现表明当前的 DeFi 项目似乎没有有效的防御手段。
本报告中分析的 dYdX、Aave 以及 Uniswap V2 以各自独特的方式提供具有一定差异性的闪电贷服务。dYdX 只提供三大主流资产 USDC、DAI 和 ETH 并占领了这些资产的闪电贷市场。Uniswap V2 提供还款通证可以与借款通证不一致的特殊闪电贷服务,从套利角度来看,可以减少用户交易时必须换回借款通证的步骤因而降低一定 Gas 费用。而 Aave 提供封装好的闪电贷函数,在用户还款时可以直接通过调用智能合约(the flash smart contract)获得计算好的借款金额和手续费,而另外两个协议则需在外部计算并手动归还。同时 Aave 的闪电贷功能也是其他服务类协议(如 DeFi Saver、Frucombo)的主要调用对象。
当前市场这三个主流闪电贷协议提供的闪电贷服务在技术层面(调用方式)、生态条件(流动性池数量和大小等)存在多元化趋势,然而有人希望在技术层面实现融合。Yield Protocol 开发者于 2020 年 11 月提出标准化版本的闪电贷提案 EIP-3156,于 21 年 1 月底提出标准化版本的批量闪电贷提案 EIP-3234。技术层面的融合对闪电贷功能开发难度的降低有一定好处,但或许对闪电贷用户而言,闪电贷协议能提供的流动性大小和种类更重要。
闪电贷未来的发展方向仍值得思考,如跨链闪电贷交易实现的可能性。2020 年 9 月份,FlashEx 在 Medium 上发表了一篇关于跨链稳定币闪电贷的文章;该项目预想在比 特币、以太坊和波卡之间完成跨链闪电贷,但该项目官网及官方社区均再无任何更新。尽管如此,我们仍期待跨链借贷成熟之后,跨链闪电贷能有所突破。
此外基于闪电这个概念,闪电铸造也成为少数研究者和用户关注的议题,相比闪电贷借款金额受限于流动性池子的流动性大小,闪电铸造打破了流动性池大小的限制。但由于在本报告撰写期间未观察到闪电铸造成熟的协议或市场数据很匮乏,本报告并不针对闪电铸造进行分析。但并不代表 Huobi DeFi Labs 对该功能的不看好,相反,我们注意到如 Yield Protocol、WETH10 等具有闪电铸造特色的存在。我们期待有更多创新性的功能及相关协议出现以丰富区块链整体市场。