最新的一种玩法叫做 “闪电贷(flash loan)”,就是说,你可以用代码来指定一系列的操作,只要你的操作能保证在一笔交易内完成还款,你就可以无条件地贷款。
区块链上的一笔 “交易”(transaction)里可以做很多事情;你不仅可以转一次账,你甚至可以在一笔交易中完成 50 笔资金转移。因为智能合约就跟计算机程序一样,你发交易,就等同于 “调用某个智能合约里的某个函数”;一笔交易中可以调用很多个函数,自然也就能完成很多操作。
“闪电贷” 所要求的是,所有的操作都必须在一笔交易内完成(如果不能在一笔交易内还款就不能贷出资金)。所以你必须把所有步骤都编程到一笔发往智能合约的交易里,把 “借款、转移(执行)、还款” 都包括进去。
如果交易结束时你不能还款,则交易就会失败,就像所有事情都没有发生过一样。
假设,一开始闪电贷合约给了你 1 万 ETH,如果交易结束时没有还上 1 万 ETH,那就相当于你从来没借出过 1 万 ETH,因为当节点在执行交易时,只要交易失败,则这笔交易中的所有操作都会全部回滚,就像没事发生过。
很反直觉对吧?要是没有执行所有操作并成功返回足够的资金,那些 ETH 就跟没有动过一样。
好吧,我们也觉得这就是魔法。这种魔法是一个图灵完备的网络(图灵完备的编程语言 + 可自动执行的 “账户” 即智能合约)上的最新发明。
所有运行以太坊软件的计算机节点都运行着这个闪电贷智能合约,当这个程序(智能合约)被上链的的交易激活之后,就相当于合约在执行这笔交易指定的操作,如果最后能完成还款,则合约传出 “执行成功”,整个网络的状态完成更改;而如果不能完成还款,合约传出 “失败”,交易影响到的其它合约状态更改失败,被改变的只有闪电贷合约的状态。
你要是听得云里雾里,那也正常,因为这是一个全新的领域。你得懂编程才能使用这种合约,因为你需要连贯地指定每一个步骤。不过,如果你愿意花几周学习 Solidity 教程,你也可以拿到免费的资金用于套利,用于捕捉一切可以用连贯的一系列步骤来完成的获利机会。
举个例子,有个家伙一把赚了 36 万美元,就一笔交易!这一事件也让闪电贷抓住了所有人的眼球。
但这并不是去中心化领域的唯一发明。比如,Fulcrum 具有超强的流动性;dYdX 智能合约支持免费的闪电借贷(flash borrowing),跟 flash loan 是一样的。一个新的 DeFi 项目,Aave,也在用 flash loan 的名义提供这样的功能。
还有一种观点认为,可以把 CDP(MakerDAO 单质押品稳定币系统中用户的稳定币债仓)这样有点近似于永久贷款的债,变成一种像期票的 token 。(译者注:在 MakerDAO 系统升级(2019 年 11 月)以前,只要你提供质押品,你就可以贷出 DAI,利息不会实时偿还,只在你还款时偿还,所以只要你的质押品足够多,你可以借钱借到永久,因此近似于永续债务。)