时间:2023-08-12|浏览:186
除了频繁被用于DeFi套利攻击,闪电贷还能做什么?
原文标题:《DeFi科普丨深入浅出闪电贷》
撰文:jakub
翻译:屏风
闪电贷是怎么回事?如何在没有抵押物的情况下,可以借到价值数百万美元的加密货币的呢?本文将对闪电贷进行简单的介绍。
闪电贷可以让我们在无需抵押品的情况下从指定的智能合约池中借入任何可用的资产金额。闪电贷是DeFi中有用的一个构件(building block),因为它可以用于套利、交换抵押品和自我清算等。
闪电贷款虽然最初是由Marble协议引入的,但由Aave和dYdX普及。
那么,闪电贷有什么好处呢?
闪贷必须在同一区块链交易中进行借贷和快速偿还。
Ethereum等区块链上交易的概念与计算机科学中对交易的传统定义一致。
一个交易代表了一组必须以「原子方式」执行的操作,原子方式指的是要么所有的步骤都被执行,要么交易被回滚,一个步骤都不会被执行。
让我们以一个简单的数据库交易为例。熟悉这一概念的读者可以跳过这个部分。
想象有一个代表用户账户余额的数据库表
爱丽丝账户的余额是1000美元,鲍勃的余额是500美元。爱丽丝给鲍勃发了500美元。在这种情况下,我们要从Alice的余额中减去500美元,并在Bob的余额中增加500美元。数据库更新报表应这样写:
如果第一个更新执行了,但第二个更新因为某些原因失败了,会怎么样?(也许id=2在系统中并不存在,但我们犯了一个错误,以为这是Bob的id)
如果发生这种情况,我们就会发现出现错误的结果:Alice的余额为500美元,Bob的余额也等于500美元。
为了避免这样的情况,我们必须使用transactions。
在上面的情况下,在SQL中,我们只需要用BEGIN和COMMIT关键字来打包这两条语句。一旦这样做,要么这两条语句都正确执行了,要么都没有执行,保证Alice和Bob的余额不受影响,我们就可以放心了。这就是我们常说的原子化交易,如果不同的步骤是同一个交易的一部分,它们是不可分割的,要么全有,要么全无。
说到Ethereum,每一个常见的操作,如发送ETH、发送ERC20代币、与智能合约交