传统银行系统如何运作?如果你想要贷款,你必须提供抵押品,你才可以用来贷款。这通常也是 DeFi 中超额借贷的贷款方式。
但是,有时候你可能只需要一大笔钱来执行某种短暂的交易,但你无法提供足够的抵押品,例如执行巨额套利交易或攻击某些合约。那么这时候,闪电贷就派上用场了。
闪电贷(Flash Loan)它是一种特殊类型的贷款,借款人只要在交易结束前归还借款金额和一些利息,就可以借入资产。由于借入的金额在同一笔交易中连同利息一起返还,所以任何人都不可能带着借来的钱逃跑。如果贷款在区块链中没有在同一个区块的交易内偿还,则交易整体失败并回滚到初始状态(即借款前)。
这个简单的贷款方法可以使你在没有足够的前期资本或抵押品的情况下借入数十亿美元,因为您需要在同一笔交易中自行偿还。但是,您可以在借钱和还钱之间无限制地使用这笔钱。但一定要记住的是,所有借款和还款都发生在同一笔交易中,同一个区块内。
闪电贷有助于资产之间的套利,也经常在 DeFi 黑客攻击能看到闪电贷。
在本教程中,我们只关注**Simple Flash Loan
**是运作的,包括能够借用一项资产。你也可以借用多种资产。要了解其他类型的闪电贷,可以参考Aave文档
让我们尝试深入研究一个套利用例。什么是套利?假设有两个加密货币交易所——A 和 B。现在 A交易所的**ETH
以低于 B 的价格出售。如果你从 A 购买ETH
**以换取 DAI,然后在 B 上出售它,就能获得比你最初数量更多的 DAI,你就完成了一次套利。假设现在有1万个ETH都有这种价差,那么需要巨额资金就能利用到闪电贷了。交易跨交易所的价格差异称为套利,套利者是一种必要的邪恶,有助于保持各交易所的价格一致。
任何闪电贷都有 4 个基本步骤。要执行闪电贷,您首先需要编写一个智能合约,其中包含使用闪电贷的交易。假设函数被调用**createFlashLoan()
**。当您按顺序调用该函数时,会发生以下 4 个步骤:
合约调用 Flash Loan 提供商(如 Aave)的函数,指出想要哪种资产以及需要多少
Flash Loan 提供者将资产发送到您的合约,并回调你的合约以获得不同的功能,executeOperation
**executeOperation
**是必须编写的所有自定义代码 - 你将在这里操作你借入的资金。最后,你批准 Flash Loan 提供商以撤回借入的资产以及借入费用。
Flash Loan 提供商会收回它借给你的资产以及费用。