让矿工红眼!“闪电贷”的多米诺骨牌效应或加快以太坊2.0的到来

转载
1522 天前
4732
Coindesk中文站

来源:Coindesk中文     作者:哈西布·库雷希(Haseeb Qureshi)


近日,转移黑客利用闪电贷(flash loan)攻击了保证金交易协议bZx,先是一次涉及金额为35万美元的攻击,而是一次涉及金额为60万美元的模仿攻击(copycat Attack)。

总而言之,这些攻击令人惊叹。在多次攻击中,一个身无分文的攻击者可以瞬间借入价值数十万美元的以太币(ETH),通过一系列易受攻击的链上协议,从被所有这些操作都在一瞬间完成,从而,在以太坊的一个交易中完成。

我们不知道这些攻击者是谁,也不知道他们来自哪里。两个攻击者基本上都是空手而来,然后卷走了价值几十万美元的资产,没有留下任何痕迹。

自从这些攻击发生后,我一直在思考有关闪电贷以及其对去中心化金融(DeFi)安全性的影响。我认为,这需要拿出来与你们共同思考。

简而言之:闪电贷是一个巨大的安全威胁。但闪电贷并没有消失,我们需要仔细思考它们对未来去中心化金融安全带来的影响。


01
什么是闪电贷?

2018年,以太坊区块链链上的开源银行Marble首次提出了闪电贷的概念。实现零风险贷款。

如何做到零风险贷款?

一个是违约风险:如果超过人卷钱跑路了,那显然很糟糕;另一个是非流动性风险:如果是贷方在错误的时间里出借了太多资产,或者没有没有及时收到还款,贷方可能会失去流动性,从而无法延续自己的义务。

闪电贷的基本工作原理如下:在这笔交易中,你想要多少资金,我都会借给你。但是,在这笔交易结束之前,你需要至少将借走的资金还清。如果你没法还清,我会自动回滚你的交易!

简单一点,如果你没有还清贷款,整件事情就会被还原,就好像这笔贷款从未发生一样。

这种操作只能发生在区块链网络上。你不能在中心化交易所上实现闪电贷。因为智能合约平台一次只处理一笔交易,交易中发生的所有事件都作为一个批量操作被串在区块链中,中心化交易所中可能存在竞态条件,以至于你的交易订单无法正常执行。在区块链上。链网络上,所有代码都能一行接一行地运行。


图|雷贷漏洞检测代码,来源:0x研发人员雷姆·科布洛门(Remco Bloemen)

让我们思考一下这其中涉及的经济学原理。传统的贷方会得到两方面的补偿:他们承担的风险(违约风险和非流动性风险)以及借出资本的机会成本(例如,如果我可以从其他地方获得该借出资本2%的利息,借款人必须支付给我超过2%的无风险利息)。

这是因为过多的人在其闪电贷期间拥有“冻结时间”,在其他人看来,该系统的资金从未处于风险之中,也从未遭受其累。因此,它不可能在其他地方赚取索引(它没有机会成本)。

这意味着,从某种意义上说,成为一个闪电贷贷方很容易,且无需成本。这完全不合常理。那么,在市场供求平衡时,一笔闪电贷的成本应该是多少?

基本上,闪电贷应该是免费的。或者,更适当的情况,会有一笔很小的费用,主要用于分摊包含额外的三行代码在以太坊上执行的成本,以使资产可以快速借出。

闪电贷不能收回传统意义上的利息,当然,如果闪电贷贷方收回更高的利率,就会很快被其他补偿利率的闪电贷池所取代。

结果,交易平台dYdX的闪电贷费用为零。而AAVE对闪电贷本金弥补0.09%的费用。我认为,这是不可持续的,事实上,他们的社区也已经开始重叠将费用削减为零。


02
闪电攻击对安全的影响

我越来越相信,闪电贷的重要影响是解锁了闪电攻击,即由闪电贷进行资本密集型攻击。我们在最近的bZx黑客攻击中就能够看到这一点,我认为这只是一个开始。

为什么闪电贷对攻击者特别普遍?主要有以下两个原因。

  • 如果你在价值1,000万美元的以太币上获得正投资回报率(ROI),这可能不是套利。
  • 就算我知道如何用1,000万美元的以太币来操纵预言机,如果我拥有那么多以太币,我也不想用自己的资金去冒险。我的以太这简直太冒险了!但是,如果我用闪电贷贷出的1,000万美元,有谁会在乎呢?一切都会币都会被标上污垢点,交易所可能会拒绝我的存款,很难再进行洗钱。顺利进行。dYdX的抵押池,基本上没有可能被污染,而那就是我的贷款来源。

如今,交易所黑名单已经成为了区块链网络安全模型的一部分,你可能不喜欢这一点。它相当脆弱和中心化。而是是一个很重要的现实,因为它揭示了这些攻击背后的基本原理。

中本聪(Satoshi)在比特币报纸中说过,比特币不会受到安全攻击,因为:

“攻击者会发现遵守规则会比破坏财富的体系和合法性更有利可图。”

有了闪电贷,攻击者在攻击游戏中不再需要进行伪装。闪电贷从根本上改变了攻击者所承担的风险。

记住,闪电贷可以累积!但只能于gas的限制,你可以在一次交易中(超过5,000万美元)将每个闪电贷的可贷资金池集合起来,然后将所有资金投入到一个容易克服攻击的合约中。这是一个价值5,000万美元的重锤,现在任何人都可以去砸一个链上糖果盒,可以很容易就砸出钱来。这太可怕了。

从长远来看,这一切意味着什么?我认为对bZx的攻击改变了一切。

这不会是最后一次闪电攻击。第二次bZx攻击是对第一次攻击的模仿,我认为,在未来几个月内,将会掀起一波攻击浪潮。现在,来自世界最偏远地区的数如果他们能够成功地找到并利用一个突破, ,他们就可以赚到几十万美元,这对世界大多数地区的人来说,都是一笔能够改变人生命运的资金。

bZx遭到闪电攻击,与DAO黑客入侵后肢重入攻击(重新进入)一样令人尴尬:你将为加密货币行业的笑柄。你应该已经看到这种情况发生了。

这些事件也让我想到了密码学中的一个老概念:矿工可提价值(MEV)。MEV是矿工可以从区块链系统中获得的总价值,包括区块链奖励和手续费,但也包括更恶性的价值提取方式,针对交易进行重新排序或将恶意交易插入区块链等。

归根结底,应该把这些闪电攻击都称为是内存池中可以赚大钱的单笔交易。例如,在第二次的bZx攻击中,黑客在单笔交易中获得了价值64.5万美元的以太币。如果你是一名矿工,并且你将要开始挖矿一个新的区块链,想象一下,看看前一个区块链包含的交易,然后对自己说:“等等,什么?上一个区块链包含64.5万美元的利润?我还要挖一个大约只有500美元交易的新区块链?”

想到对:只是这一笔交易,就比矿工老老实实挖矿4个多小时赚得多!

就好像有一个特殊的超级区块链,里面包含1,000倍的正常区块链奖励。如你所料,这样的一个超级区块链,正常情况应该是一堆矿工竞争,然后某个矿工自己获得这个区块。

(请注意,最终他们也应该盗取所有的链上套利和流动性。)但具有讽刺意味的是,这将对闪电攻击进行威矿作用,因为这将使攻击者无法利用他们发现的裂缝来获利。也许矿工们最终会通过私人渠道来收集攻击代码,并向未来的攻击者们支付一笔中介费。从技术上讲,这可以通过零知识证明来实现。

这些都相当科幻,矿工们显然不会这么做。

为什么?

首先,操作起来很困难,会涉及大量的工作,以太坊虚拟机(EVM很难被模拟,风险也很高,存在导致资金损失或造成孤块的裂缝,从而引发轩然大波,流氓采矿)。池,可能会出现公关危机,并被冠以“以太坊敌人”的称号。结果,如果矿工这样做了,可能会在商业规模以及在孤块上损失更多,这比他们尝试攻击的成本更高。

这是目前的真实情况,但不会持续很久。

这为以太坊加速过渡到以太坊2.0提供了另外一个动力。以太坊上的去中心化金融,虽然令人惊叹和着迷,但已经绝对和不可挽回地被打破了。去中心化金融在开展工作量证明的区块链链上下波动,因为所有高价值交易都会被矿工重新分配。

对于可以大规模运行的系统,经常需要最终性(finality),即矿工无法对已确认的区块链进行转换。这将保护以前的区块链不被重新分配。另外,如果去中心化金融协议存在于独立的以太坊2.0分片上,它们将不容易受到闪电攻击。

据我估计,闪电攻击给了我们一个很小但有用的启示,即:这只是一个开始,我们离建好未来金融体系的可持续架构还有很长的一段路要走。

目前,闪电贷仍会是新常态。也许从长远来看,以太坊上的所有资产,包括交易所,Uniswap持有的所有抵押品,甚至ERC-20本身,都可以用于闪电贷。

但谁知道呢?毕竟也只是写几行代码的事。