4月18日和19日,DeFi前七大应用中的两个(Uniswap和dForce)陆续遭到黑客攻击。
黑客利用ERC777与Uniswap和Lendf.me的合约兼容问题,可以产生任意数量的imBTC。从而通过多次迭代调用名为「tokensToSend」的方法函数来对Uniswap平台上的ETH/imBTC交易对进行重入攻击。
最终Uniswap损失了约1278个ETH,而dForce的借贷平台Lendf.Me则损失惨重,其合约里的资产几乎全部被盗,近2500万美元。
在DeFi频繁被盗的背后,业内有关DeFi的讨论再次升级,对其的思考进入了新的阶段。
DeFi被盗原因
随着时间的推移,以太坊代币的应用范围越来越广泛。随着代币的用例和应用日益增多,基本ERC-20代币标准无法满足更加复杂的智能合约,因此其部分局限性也随之开始显现。
于是2018年的时候Open Zeppline推出了ERC777标准,在兼容ERC20的基础上加了一些新的内容。目的是对ERC20标准进行改进,不但实现了功能扩展,还有ERC20标准一样良好的兼容性,愿景是成为ERC20标准的有效继承者。
但是,由于ERC-777代币标准是去年才引入的,所以这些特征可能与某些协议不相兼容,尤其是某些先前部署的智能合约。
随着该新标准的采用率越来越高,其他项目也就必须支持ERC-777代币,或者以其他方式实施必要的安全措施,以保护自身项目免受此类攻击。
但是早在2019年6月人们就发现,Uniswap和ERC777标准存在兼容安全性问题。Uniswap上的ERC777交易对会因为ERC777标准里有,而不存在于ERC20里的一个tokensToSend()方法被重入攻击 。
不幸的是,许多项目并没有做到以上两点,包括上述盗币的Uniswap和dForce。
这恰恰证明了DeFi可以防范集中式平台的一些风险,但也更容易受到其他风险的威胁。
随着DeFi中锁定的资产越来越多,吸引的黑客火力也越来越足。这从近一年来爆发的DeFi安全事件可以看出来。
2019年6月Synthetix损失3700万枚sETH;2020年2月bZx损失90万美元;2020年3月iEarn损失28万美元;2020年4月Uniswap损失1278枚ETH,Lendf.Me损失2500万美元。
DeFi安全性
DeFi的全称Decentralised Finance,直译就是去中心化金融的意思。但实际上,称为“分布式金融”或者“开放金融”更合适,DeFi的大多数场景里都是不同程度的中心化和去中心化应用的结合。
在1CO之后,以太坊的叙事已经转向DeFi。与传统金融相比,DeFi的最大优势之一是可组合性,目前以太坊生态系统上出现了MakerDAO、Compound、Uniswap这样的货币乐高。在已经建立好的代码或协议上开发,开发者可以像搭建“乐高积木”一样大大加快开发速度,而且可以利用现有用户基础。
然而,要注意的是,DeFi的可组合性也伴随系统性的风险。可能就单个“乐高”来看,都是符合标准也没有问题的,但是在它们组合起来的时候,就会涌现出漏洞。
更何况DeFi的核心是金融,从普通情境中看,金融是关于资金的全部业务,基本是在去中心化结构上实现部分银行业务。
HelloEOS创始人梓岑曾在4月20日发文表示,DeFi是一个未经历长时间的安全攻防对抗检验的新生态,逃不开各种未知,包括黑天鹅。Uniswap和Lendf.me相继受到攻击,带来了对DeFi更尖锐的拷问,如果不能保证开源系统的资金安全,你甚至没有能力证明自己不是一剂毒药。DeFi在证明自己真的是一场变革之前,至少需要摆脱暴雷阴影。
对于金融,首先思考的一定是Defi的安全性,任何安全不达标的技术都不适合金融业务。
彭博社前撰稿人Camila Russo在推特上表示,DeFi需要更完善的安全标准,否则我们将继续看到这类事件发生。
如何加强DeFi的安全保护?这是DeFi发展路上必须面对的问题。
作为一个2019年刚刚出现的概念,DeFi更像是区块链行业内的新生儿,未来的路依然很漫长。

网友评论