闪电贷是去中心化金融世界中一种相对较新的无担保贷款。最初由 Aave 于 2020 年初率先推出,此后它越来越受欢迎,并在许多借贷协议中可用。
许多加密行业专家已成为闪电贷的真诚拥护者,因为它们提供了创新的套利方式、执行快速交易,并提供了许多以前在传统金融中无法实现的其他新颖功能。
我们大多数人都熟悉传统贷款,贷方将钱贷给借款人,然后在固定的时间段内以固定的溢价或除本金之外的利息偿还。闪贷具有相同的基本原理,但包括几个独特的特征:
这是一种无抵押贷款,这意味着借款人不需要用任何资产或存款来获得贷款。此外,与传统的无抵押贷款不同,没有信用检查流程。
所有闪贷都是通过区块链上的智能合约完成的,并且规定如果借款人没有在单个区块链交易中归还资金,则贷款过程将被逆转,就好像它从未发生过一样。这个关键的区别就是为什么借款人能够在没有任何抵押品或信用检查的情况下获得快速贷款,因为它消除了贷方的任何风险。
贷款过程是即时的,因此一旦贷款延期,借款人必须调用其他智能合约来利用闪贷尝试执行几乎即时的交易,然后在单块交易结束前将资金返还,通常在几秒钟内。
鉴于贷方的资本风险为零,借款人没有抵押或信用检查义务,因此自去年以来,闪电贷在整个 DeFi 中增长如此迅速也就不足为奇了。
让我们看几个闪贷用例。在第一种情况下,假设用户借用了 DAI,使用 ETH 持有量作为抵押。如果 ETH 的价格开始下跌,抵押品的价值就会下降,用户将面临贷款在某个时候被清算的威胁。
为了解决这种情况,用户可以利用闪贷。通过此闪贷功能,借款人可以将波动的 ETH 换成稳定币。抵押品的价值立即变得稳定,从而消除了任何清算范围。
虽然此用例属于抵押品交换类别,但您也可以使用闪电贷来换出您的债务。考虑前面的示例,您在 DAI 中借入了资金。
如果对 DAI 贷款的需求突然增加,DAI 的利率将比你之前必须支付的利率增加更多。为了避免支付更多的利息,您可以将 DAI 换成任何其他借入较少的货币,从而保护您的投资资本。
闪电贷攻击
原则上,闪贷允许用户随心所欲地借贷,而无需任何抵押。因此,借款人可以将价值数千美元甚至数十万美元的以太币作为贷款,而无需任何抵押品或 KYC 流程。
这导致了闪电贷攻击的兴起,其中恶意代理人拿出大笔闪电贷,然后利用这些资金来操纵市场并利用各种 DeFi 协议以获取可观的利润,通常以牺牲普通投资者和平台为代价用户。
这些攻击者通过一系列易受攻击的链上协议将借入的闪电贷款金额串连起来,以在偿还贷款之前获取数十万美元的被盗资产。
过去一年发生了多次闪贷攻击,而且这些攻击的频率似乎还在增加。
我们将详细查看其中的一些,以更好地了解该现象。
闪贷攻击的例子
第一次闪贷攻击发生在 2020 年,借款人使用 DeFi 借贷协议 dYdX 获得了 ETH 闪贷。然后,他们将贷款分成两部分,并将其发送到贷款平台 Compound 和 Fulcrum。
在 Fulcrum 上,部分闪电贷被用来做空 ETH 对 WBTC。Fulcrum 继续通过另一个称为 Kyber 的 DeFi 协议从流行的去中心化交易所 Uniswap 手中收购了 WBTC。
由于 Uniswap 的 WBTC 流动性较低,因此资产价格上涨。结果,Fulcrum 支付了比平时更高的价格来收购 WBTC。
与此同时,借款人还从 Compound 处获得了一笔 WBTC 贷款,并在 Uniswap 上进行了交易,WBTC 的价格已经上涨。
通过操纵多个协议并人为地提高 WBTC 的价格,借款人获得了可观的利润——不仅偿还了他的 ETH 贷款,而且还赚取了超额的 ETH 利润。
虽然借款人获得了显着收益,但 Fulcrum 被欺骗以远高于市场价格的价格收购了 WBTC。
在另一次单独的闪贷攻击中,攻击者再次利用并操纵了构建 Fulcrum 的 bZX 协议。首先,借款人拿走了他的一部分 ETH 贷款,并在 Kyber 上下了一个大订单购买 sUSD。
智能合约识别货币及其价格,但它们不理解稳定货币与美元挂钩。大订单导致 sUSD 的价格飙升,每只价格飙升至 2 美元,这与稳定币应该能够做的事情的基础背道而驰。
由于 sUSD 的购买力翻了一番,借款人利用它借入了比他之前所借的更多的 ETH 贷款。随后,他还清了第一笔 ETH 贷款,并带着剩余的钱跑路了。
在这种情况下,用户欺骗 Kyber 相信 sUSD 的定价可能远高于 1 美元。
如何防止这些闪贷攻击?
由于这些攻击利用 DEX 相信它们自己的或单一的喂价,可以通过为货币下大笔订单来操纵这些信息,因此谨慎地利用去中心化定价预言机来确定资产的正确价格。
dApp 可以通过多种方式保护自己免受闪电贷款攻击,其中一些最常见的是:
去中心化预言机——最安全的选择无疑是使用去中心化预言机,利用多个来源找出“真实价格”。一些去中心化的预言机,例如我们自己的 Umbrella Network,更进一步,通过将数据提交到区块链来确保数据的可靠性。
这意味着,如果不法分子试图对从去中心化预言机获取其提要的 dapp 进行快速攻击,价格操纵将失败,交易时间将过去,并且整个交易将逆转——未经处理。
高频定价更新——这是纸面上的一个简单修复,但在实践中可能会更昂贵。在这里,我们只是增加了流动性池向预言机查询新价格的次数的频率。逻辑是,随着更新次数的增加,池中代币的价格会更新得更快,并使价格操纵无效。
时间加权平均定价——通常的做法是使用平均值(或最近的中值)来计算流动性池中的价格。但是,TWAP 建议使用跨多个区块的平均价格。
这有助于抵消闪贷攻击,因为整个攻击交易序列需要在同一个区块内处理,但如果不操纵整个区块链就无法操纵 TWAP。
防止此类攻击的另一个战略建议是在交易周期中使用两个交易块而不是一个。
可以想象,这会使过程更加复杂,并且对攻击者来说是一种劝阻。然而,它也有对 DeFi UI 造成损害的风险。
一些协议还集成了闪贷攻击检测工具,有助于及时识别、快速响应和中和。然而,除非没有足够的避免攻击的例子,否则很难确认这些工具的有效性。
结论
DeFi 仍然是一个新兴领域。它的运作方式正在经历许多创新和快速的根本转变。快速的变化,即使是创新的,也常常导致忽视极度脆弱的群体。
攻击者将继续探索存在的漏洞,但随着每次事件的发生,随着整个生态系统的发展,预防机制也将变得更加强大。
虽然有一些方法可以帮助降低风险,例如使用去中心化预言机、更高频率的定价更新或 TWAP 策略,但随着整个 DeFi 行业采用更有效的方法,闪贷不再成为潜在的剥削工具还需要一些时间来对抗它。