闪电贷主要用于 DeFi 中,在介绍闪电贷之前先介绍一下 CeFi 的模式。
CeFi 中的借贷
中心化借贷的核心是银行,商业银行吸取储户的存款然后以比存款更高的利息提供贷款。银行通过赚取存款和贷款利息的差额,实现盈利。但现实没有这么理想,其中风险在于,如果贷款无法收回,就成了坏账,造成了贷款的全部损失,因此风险控制对中心化金融极为重要。降低风险的具体措施诸如有抵押借贷、冻卡、征信等手段。
在区块链场景下也有类似 CeFi 中的借贷,模式类似,但有两点不同:
- 借款一般为数字货币/crypto资产;
- 需要对数字货币(crypto)超额抵押;
第二点,传统金融中,由于实名性、个人征信和法律保障多方面原因,小额贷款可以做到无抵押借贷。但区块链场景地址与真人身份的匿名关联以及法律难以有效的在这种“黑暗森林”中施加约束,借贷人链下的资产或信用难以被用于区块链上的借贷风险控制,因此存在较高的借贷风险。另一方面,数字资产/crypto资产波动较大,超额抵押和及时清算可以预防被抵押资产的快速贬值导致的借贷协议的资金损失。
DeFi 中的借贷
DeFi 中摒弃了银行的存在,而是由智能合约、资金池、清算方和价格监控来分权治之。主要介绍一下这里新的角色:
- 清算方:实时监控链上贷款安全,如果价格变动使得抵押物贬值到低于安全阈值(虽然目前还是超额,但预防接近等额或者亏损风险),主动以折扣价买下贷款中的抵押物然后平仓。
- 价格监控方:实时监控贷款中数字货币标的价格。为清算业务和借贷业务提供风控情报。
DeFi 中的闪电贷
如果借贷人没有超额抵押的资产怎么办呢?假设借贷人只是临时需要一笔资金去履行一笔交易完成交易后并且能立即还款,并且由于区块链和智能合约的特殊性,这些操作可以被放在同一笔交易中,这种场景如果还用超额抵押不能很好满足用户需求。
这里其实用到以太坊交易的一个特性:原子性。以太坊每一笔交易就是不可分割的最小单位,要么整笔交易成功,要么整笔失败。一笔交易中同时调用了多个智能合约,要么同时修改所有状态,要么交易失败。
闪电贷作为一个新兴的链上借贷方式就很巧妙地解决了这个问题。闪电贷在一笔合约交易中完成了借款、执行自定义金融操作、还款的全部流程。通过代码保证只有最终可以完成还款,交易才会被确认,这样一来就避免了需要超额抵押来确保贷款本金安全的风险控制策略,甚至可以做到无抵押借贷。
该设想最早由 Aave 协议实现。这种协议的落地减少了发起交易的资金成本,对 DeFi 的发展有重大意义。闪电贷的用途:
- 套利 比如跨DEX套利交易(Arbitrage),token M 在 DEX A 和 DEX B 的价格不一样,因此存在套利空间(但实际中这种情况很少见,因为有大量套利者会去抹平这种价格差异)、头寸清算、CDP(Collateralized Debt Positions, 抵押债仓)的迁移。
- 闪电贷攻击 (更普遍的场景)利用闪电贷获取资金,然后攻击有漏洞的智能合约获取收益。
Reference
- 去中心化金融(DeFi)和闪电贷(Flash Loan)
- CS251 Cryptocurrencies, blockchains, and smart contracts