通过闪电贷攻击讲解什么是闪电贷
闪电贷(Flash Loan)和昨天发生的 Harvest Finance 被黑事件密切相关。
个人声明一下,最近公众号讲了不少关于安全、黑客相关文章。均属于技术分享,不存在任何诱导之说。我们了解黑客是如何行骗的,可以更好地帮助我们防范黑客犯罪。
最近 DeFi 安全事件频发,很多攻击事件都和闪电贷有关。我们先了解一下什么是闪电贷。
闪电贷(Flash Loan)不同于其他形式的借款。一般形式的借款均为抵押贷。例如你在 Compound 平台抵押 ETH 借出 USDT。一般来说你可以借出抵押物的 n%(例如:60%)。还款时,你还出借出物的本金+利息,赎回抵押物。抵押借贷一般借贷时间较长,你可以选择合适的时候进行还款。
而闪电贷在两个方面明显地区别抵押贷款:
从借出方而言,闪电贷永远是安全的,因为借出和还款必须同时发生才有效,否则交易失败。
有人肯定要问,既然借出,又必须立即要还,闪电贷还有什么用呢?
如果你用传统的思维考虑问题,闪电贷似乎无用。但是如果你用(全新的)智能合约的思路考虑问题,就不一样了,它大有用处!要知道,闪电贷的要求是在同一笔交易中借出和归还。如果你在一个交易的头部借出闪电贷,在尾部归还闪电贷,那么在交易中部可以做大量的事(调用智能合约使用闪电贷),从而让你的借款获得收益。
我们来看个例子:
有两个去中心化交易所(DEX1 和 DEX2),均有交易对:ETH/A。DEX1 中当前价格是 1 ETH/A,而 DEX2 中价格为 1.1 ETH/A。也就是说两个DEX中同一交易对价格出现了偏差(DEX2 中的A价格高10%)。那么此时你可以:
这是一个典型的用闪电贷获取利润的例子,我们可以看到它的几个典型特点:
昨天发生的 Harvest Finance 攻击例子和上面的例子剧本是一样的,只是一些细节不同。以下是慢雾团队梳理的关于本次攻击事件的逻辑:
可以看到,这几乎是一个教科书式的攻击。和我们前文举的例子主要的不同点在于:
现在,你似乎已经感觉到,所谓黑客,就是找现有程序漏洞,或者主动制造出漏洞。然后攻击该漏洞,从而获利。
闪电贷的攻击在此之前发生的也不止一次了。bZx 此前就发生了至少三起攻击事件。我们看其中一起来加深一下对于闪电贷攻击的印象:
哈,多么清晰的攻击!以上的所有例子都利用了同一弱点,价格差。尽管,现在很多 DeFi 协议都使用了相对强壮的 oracle 来管理价格,但是价格差一直都存在。
以上的例子都是通过闪电贷进行黑客攻击,不当牟利。但是,闪电贷也可以被用来正当获利。只要有价格差,就有闪电贷获利的空间。闪电贷也是 DeFi 区别于传统金融最神奇的地方之一,它让智能合约散发出这个时代最耀眼的光芒。
转自公众号”谈谈区块链“ 链接:https://mp.weixin.qq.com/s/Rpmzags-VCeHy9VPwK2EUA
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!