再思考DeFi“乐高”可组合性

复盘Uniswap和Lendf.Me被攻击始末 再思考DeFi“乐高”可组合性

“DeFi很棒,但其最大风险是可能中心化归零。”投资者对DeFi的评论可谓一语成谶。

4月18日和19日,对DeFi圈来说是黑暗的两天。在这两天,DeFi前七大应用中的两个(Uniswap和dForce)陆续遭到黑客攻击。

Uniswap损失了约1278个ETH,而dForce的借贷平台Lendf.Me则损失惨重,其合约里的资产几乎全部被盗,近2500万美元。而就在其被攻击前3天,dForce刚刚宣布获得Multicoin Capital领投,招银国际和火币资本跟投的150万美元融资。

两期被攻击事件时间线

北京时间4月18日,一名攻击者利用Uniswap和ERC777的兼容性问题,通过多次迭代调用名为「tokensToSend」的方法函数来对Uniswap平台上的ETH/imBTC交易对进行重入攻击。

4月18日,Tokenlon观察到异常后,暂停了imBTC的转账功能并通知imBTC合作伙伴自查安全风险。

4月18日,Tokenlon得到Lendf.Me及其他imBTC合作平台确认安全风险评估没问题后,重启了imBTC的转账功能

4月19日,Tokenlon收到Lendf.me反馈,遭遇类似Uniswap事件的重入攻击,出现大量异常借贷行为。Tokenlon再度暂停imBTC转账功能。

黑客利用ERC777与Uniswap和Lendf.me的合约兼容问题,可以产生任意数量的imBTC。在Uniswap中耗尽其ETH-imBTC池中的1278个 ETH,多亏Uniswap中imBTC交易对资产只有这么多,所以对Uniswap的影响不大。截止发稿,Uniswap中锁定的资产仍然有3900万美元,保持DeFi前五位置

而在Lendf.Me中,据派盾统计分析,Lendf.Me中的十余种资产几乎全部被盗走,总价值约2524万美元,具体盗取的币种、数额和占比如下:

4月20日凌晨3点左右攻击者向Lendf.Me平台admin账户转回了38万枚HUSD和320枚HBTC。更早之前,慢雾团队曾监测到,攻击者向Lendf.Me平台admin账户转回12.6万枚PAX,并附言“Better future”。

4月20日,dForce官方发布公告表示将采取3项措施挽救。1、与顶尖安全团队合作,对Lendf.Me进行更为全面的安全评估;2、与合作伙伴积极探讨可行的解决方案;3、与主流交易平台、OTC交易商、公安机构积极配合展开相关调查,竭尽全力追索被盗款项,追踪黑客动态。

4月20日,以太坊无损彩票平台PoolTogether宣布已移除ERC-777标准代币plDai,这是为第三方的开发人员提供的小型资金池,尽管仅有约480个plDai。

漏洞来自可组合性涌现

上文可以发现,这次黑客的攻击手段是增加任意数量imBTC,然后转移走imBTC交易对的资产。

攻击为何会发生可能需要一点背景知识,我们简单捋一下。

以太坊上的每个代币都是一个合约,而符合同一个标准的合约才能和别的合约交互。比如最常见的ERC20标准。然而ERC20标准下代币在合约之间转账有些不便的地方,于是2018年的时候Open Zeppline推出了ERC777标准,在兼容ERC20的基础上加了一些新的内容。目的是对ERC20标准进行改进,不但实现了功能扩展,还有ERC20标准一样良好的兼容性,愿景是成为ERC20标准的有效继承者。

Uniswap v1有两个合约,一个是工厂合约一个是交易合约。通过工厂合约每个代币都可以和以太坊生成一个交易合约。Uniswap是根据ERC20标准设计的,因此任何满足ERC20标准的合约不需许可都能够通过工厂合约注册到Uniswap上,当然ERC777标准也可以。

但是早在2019年6月人们就发现,Uniswap和ERC777标准存在兼容安全性问题。Uniswap上的ERC777交易对会因为ERC777标准里有,而不存在于ERC20里的一个tokensToSend()方法被重入攻击 。

而据Compound联合创始人Leshner,Lendf.Me的代码“copy/pasted Compound v1 without changes.”他指出,Compund v1代码本身“没有缺陷”,但因为imBTC是ERC777代币,必须格外谨慎并编写额外的代码以防止“重入攻击”。

imBTC是与BTC 1:1锚定的ERC777代币,由Tokenlon发行和管理。而imBTC采用ERC777代币标准规范,本身也并没有安全问题。但ERC777代币与Uniswap/Lendf.Me的合约组合起来,如果不进行额外的安全审查并修改代码就会产生漏洞。

几个基本事实

综上,我们可以得到几个基本事实,更好把握整体事件。

1、2018年Open Zeppline推出兼容ERC20的ERC777标准。

2、2019年6月人们就发现,Uniswap和ERC777标准存在兼容安全性问题。而Uniswap允许任何参与者上架任何ERC20代币,Uniswap是Hayden Adams一个人创造的实验性项目,2019年时仅有三名员工。可能是Uniswap人手太少一直没有解决兼容问题,亦或者因为imBTC交易对资产较少,这个问题一直没有暴露。

3、Lendf.Me代码拷贝自Compound v1,没有进行修改,也没有发现问题。

4、4月18日,Uniswap被攻击,imBTC交易对里的ETH被盗。

5、4月18日,Tokenlon观察到异常后暂停了imBTC转账功能并通知imBTC合作伙伴自查安全风险。

6、4月18日,Tokenlon得到Lendf.Me及其他imBTC合作平台确认安全风险评估没问题,重启imBTC转账。

7、4月19日Lendf.Me因为同样问题被盗走几乎全部资产。

Lendf.Me被盗后,的确在推特上有一些人发表了歧视华人的言论,歧视固然不对,但是“打铁还得自身硬”。即便上架交易对时没有做到详尽的调查,拷贝的代码也没有完全掌握,但事后也是有挽救机会的,正如名为“白特幂”的受害者质问的那样,“我想不通,这些DeFi项目方,好像也跟我一样毫无警惕……看到别人被黑客攻击,不自查一下风险的么。”

可组合性再思考

在1CO之后,以太坊的叙事已经转向DeFi。与传统金融相比,DeFi的最大优势之一是可组合性,目前以太坊生态系统上出现了MakerDAO、Compound、Uniswap这样的货币乐高。在已经建立好的代码或协议上开发,开发者可以像搭建“乐高积木”一样大大加快开发速度,而且可以利用现有用户基础。

然而,要注意的是,DeFi的可组合性也伴随系统性的风险。可能就单个“乐高”来看,都是符合标准也没有问题的,但是在它们组合起来的时候,就会涌现出漏洞。

这样一旦某个“乐高”的资产遭到攻击,可能会殃及利用这个“乐高”的其他DeFi项目,导致一系列资产暴跌,从而引发加密世界的金融危机。

随着DeFi中锁定的资产越来越多,吸引的黑客火力也越来越足。这从近一年来爆发的DeFi安全事件可以看出来。2019年6月Synthetix损失3700万枚sETH;2020年2月bZx损失90万美元;2020年3月iEarn损失28万美元;2020年4月Uniswap损失1278枚ETH,Lendf.Me损失2500万美元。

还记得由次贷危机引起2008年的金融危机吗?金融机构把次级贷款包装成各种金融产品卖给投资者,每一个金融产品单看起来都是没有问题的,但是它们组合起来之后,2018年因为次级贷款问题出现违约,导致建构在其上的整个金融体系瓦解,引发世界性的经济危机。

而在加密货币的DeFi世界,本身具有多重抵押、无需许可这些特性,再加上合约完全由代码决定,而代码漏洞谁也无法保证全被发现。甚至DeFi上的资产也完全处于热钱包的状态,DeFi面临的安全危险更甚。

如何避免加密货币世界的金融危机?这是DeFi发展路上必须面对的问题。

对于普通投资者来说如何选择呢?如果你是一名builder,当然是可以投入DeFi项目中,但请一定多注意安全;而如果你不是一名builder,但又看好DeFi行业,最好的策略是去投资ETH本身而不是某个DeFi具体项目。

24小时热点

狗狗币一夜暴涨700倍创下历史新高!

最近一段时间狗狗币暴涨幅度达到700倍,出现了巨大的涨幅,这 ...

3186796

波场区块链浏览器

诈骗披露:成功学周文强

又一个“成功学”大师周文强翻车 你想一夜暴富吗?你想年薪百 ...

3855809

Lazy Lions

链圈打诈之缅北将女子虐待打傻后开火车、四轮定位

缅北将女子虐待打傻后遣返,不能正常进食享受电击,回国时人已疯 ...

1481976

抹茶

链圈打诈之缅北十大酷刑之:吃冰棍

吃冰棍 对女孩的另一种残忍惩罚,先用模型注水放进冰箱 ...

2406116

中币交易所

2024年美元兑人民币汇率预测:会涨到8元吗?市场密切关注

2024年美元兑人民币汇率吸引了许多投资者的关注,涨到8元的 ...

4251335

波场区块链浏览器

F8Coin货币交易所交易量如何?

F8Coin是一种加密货币,它是在比特币发展了八年之后推出的 ...

209901

YoBit

中国十大传销币之:派币(π币、pi币、pi network、兀币)

是骗局。pi币”的数字货币,有不少人在购买,不知道是不是所谓 ...

692511

中值联资讯

链圈打诈:缅北恐怖视频截图

缅北诈骗集团真实画面,电击剁手只算最轻惩罚,自杀都成一种奢望 ...

949949

ZPLAN元宇宙

链圈打诈之缅北十大酷刑之:开火车

缅北美梦,女性酷刑:吃冰棍,开火车,喝珍珠奶茶... ...

1640641

ZT GLOBAL 交易所

Token在线解析

Token在线解析是一种在线token解析工具,可以帮助用户 ...

1228410

IOST

热点专题

2024年美元兑人民币汇率预测:会涨到8元吗?市场密切关注

2024年美元兑人民币汇率吸引了许多投资者的关注,涨到8元的 ...

4247167

波场区块链浏览器

诈骗披露:成功学周文强

又一个“成功学”大师周文强翻车 你想一夜暴富吗?你想年薪百 ...

3855530

Lazy Lions

狗狗币一夜暴涨700倍创下历史新高!

最近一段时间狗狗币暴涨幅度达到700倍,出现了巨大的涨幅,这 ...

3186312

波场区块链浏览器

专门忽悠企业家的中国十大骗子大师

区块链网创立于2015年初,为国内第一批有资质的区块链媒体, ...

2825546

希壤

中国十大骗局之pi network(π币、pi币、派币、兀币)

中国十大骗局之pi network(π币、pi币、派币、兀币 ...

2578800

Gemini 交易所

2023年打假总结:Pi Network项目的传销性质Pi币

曾经,号称“走路就能赚钱”拥有大量用户和广泛影响的国内APP ...

2471845

文昌链

国内460种传销币套路和骗子币名单大曝光

打着区块链旗号,以聚集性传销、网络传销为手段,以每枚3元的价 ...

2173330

Coin Metrics

原力元宇宙佛萨奇骗局

原力元宇宙佛萨奇骗局是一种不可思议的幻想计划,它由一群英勇可 ...

2108576

聚币网

柴犬币SHIB来了

因其可爱形象和马斯克代言,近段时间最耀眼的加密货币非狗狗币莫 ...

1295270

Luart

链圈打诈:3000名解放军去缅甸真的假的?

3000名解放军去缅甸这个是假新闻,出兵这是个大问题,如果我 ...

1231199

a16z