从已知的信息来看,过去一周,已经发生了4起闪电贷攻击,包括ValueDeFi(540万美元)、CheeseBank(330万美元)、Akropolis(200万美元)以及今天的OUSD(700万美元)。
我们特意查看了一下记录,发现自今年年初以来基本每个月都要发生几起闪电贷攻击。说明闪电贷攻击已经不是一种偶然事件了。
此前的一次闪电贷攻击
最近的一次是OUSD,攻击方案的核心就是闪电贷+重入攻击。大概的流程是:
1. 攻击者先用闪电贷借了一大笔ETH这样的主流资产,然后注入到各类DeFi协议中,进行类似铸币、流动性挖矿这样的操作。 2. 然后由于攻击者手上有一大笔资金,它们可以操控价格并利用某些设计上的漏洞操控系统的判断。(很多合约都是基于价格或者资产价值比例来最后攻击者会重复这些操作,最后在合约中取回或者在DEX卖掉获得的超额资产。 4. 然后攻击者再拿着一部分钱去还之前在闪电贷中借到的钱,就结束了整个攻击过程。
本质上这些攻击的核心逻辑就是借助巨额资金来进行非正常的套利操作。
闪电贷不是漏洞,但是扩大了漏洞的风险
在这其中我们发现,虽然近期的几次事件都把「闪电贷」这个概念作为关键词,但是闪电贷本身和攻击事件本身并没有直接的关联。
在攻击发生的前一天,ValueDeFi项目方还在宣称自己是最安全的协议
但不可否认的是,闪电贷成为了其中极其重要的攻击工具。用一句话来形容它的作用:「它允许你在交易期间像巨鲸一样的行动」,最可怕的是,如果说那些资金雄厚的人更容易成为攻击的来源,闪电贷可以让一个一无所有,甚至没有基本信用的人在短时间内变成一个手握重金的巨鲸,最重要的是这些人不需要任何许可、不需要良好的信用凭证也不需要付出等额或者超额的抵押品作为代价,完全是空手套白狼。
闪电贷本身不是一种漏洞,但它无形之中扩大了那些漏洞被攻击的风险,因为第一攻击者不需要任何代价,第二攻击的来源大大增加,它可能会被任何一个洞悉漏洞的人作为攻击的工具。
危险的创新:闪电贷错在哪里?
事实上闪电贷在遭受非议之前被认为是DeFi最伟大的创新之一。闪电贷概念最早由Marble协议于2018年提出,当时开发者的想法是通过智能化合约完成的零风险贷款。智能合约平台一次性处理交易,如果借款人不能偿还贷款,整个交易就会回滚,就像贷款根本没发生一样。
重点是区块链交易回滚这个特性,用户和合约发起一笔交易,合约借给用户一笔钱,然后同样的用户在这个交易里还回借出的金额和相应的利息就可以了。如果没还那么这个交易就会被判定不生效,然后被回滚,也就不存在借款转移的事情了。这在传统观念来说是完全不可思议的事情,因为借贷既不需要信用也不需要抵押品。
其实一开始闪电贷的用途是给那些套利者提供便捷的套利资金工具,例如分散交易所之间的额套利、清算多个借贷平台的贷款或者进行再融资等这些操作,最简单的就是,闪电贷可以帮助交易者从Marble银行贷款,在一家去中心化交易所DEX中买币,然后在另一家DEX以较高价格卖出代币,然后获得差价收益。这样的目的是正常的,传统金融中也会出现这样的场景。唯一的区别就是闪电贷的零门槛零代价。
很不幸的是,我们能够封堵漏洞,但永远防不住人心。黑客或者潜在的攻击者会发现闪电贷完全可以为攻击提供充足的启动资金,这其中产生的另外一个后果就是,由于黑客的钱是借来的,所以钱和黑客本身并没有直接的关联,他们的身份也更加地难以追踪。
因此一句话总结:闪电贷减小了攻击者的