8月份的立秋刚过不到一个星期,加密市场的恢复让人们再次憧憬牛市的到来,然而近期ploy network被黑事件引起o3swap资金被盗引起了人们的关注,虽然之后黑客在众多安全专家的帮助下成功找到黑客ip,黑客转换角色化身“白帽”退还资金,一场DeFi领域里最大的资金失窃事件似乎得到了解决,但是就在大家以为事情会平稳过去的时候,8月12号下午,市场又传来消息,DAO Maker因为因为合约问题,资金被黑客窃取,这次的资金相对刚刚发生的失窃事件来说,不算多,700万美金,但是这也不是一个小数目。
DeFi的安全性一直以来是很多人关注的事件,但是投资者的记忆也是会被时间所冲散的,从去年compound发币进行流动性挖矿以来,前前后后已经有数不清的项目出现问题,要么是项目代码漏洞被攻击,要么就是项目方跑路,而即使这一切发生之后,大部分人还是愿意将资金放在DeFi合约之中,DeFi的tvl也在牛市里不断上升。
这么多安全漏洞的出现无疑是整个加密货币圈内对DeFi的安全性没有清晰的认知,人们还是普遍追求短平快形式的繁荣,最主要表现为以下方面:
1、DeFi体系复杂性导致项目代码的不成熟
DeFi项目的合约从去年刚开始的项目本身流动性挖矿,到后来的各类协议和合约之间的套娃挖矿,再到后来衍生出来的各种协议和机制的玩法,使得DeFi从一开始的简单模型逐渐转变为一个复杂的机制,再到后面连成一片,这个过程中,这个过程中DeFi就显得复杂多了。
我们都知道系统一旦变得复杂,那么也最容易出问题,比特币运行了十几年,出现较大影响的漏洞没有几个,而在以太坊上第一个是the DAO的问题,接着就是接二连三的各类链上协议等问题,其实这已经说明了DeFi体系复杂程度和出现漏洞是成正比的。
2、DeFi急速发展过程中出现的后遗症
在2020年compound进行流动性挖矿之前,DeFi世界中最大的项目是MakerDAO,而在此之前MakerDAO已经运营了很长时间,另外kyber这类的DeFi项目其实时间也不短,而大部分项目基本上是在2020年年初才开始组建的,也就是短短半年的时间里,市场上诞生了大量DeFi项目。而更多的是在compound之后,这种DeFi项目的诞生速度进一步提升,也就形成了人们常说的DeFi Summer。
那么这么多项目是如何来的呢?其实简单来说,就是抄袭来的代码,最为明显的就是eos链上的DeFi项目,项目方在群里公开说自己的代码有人出高价买,后来过了几天,市场上出现了类似的项目,连网页模板都是一个风格。很明显,这类抄袭来的或者买来的代码确实在很大程度上使得DeFi得到资金的关注,但是这也留下了很多后遗症,那就是代码漏洞的问题。
项目方为了项目快速上线,审计机构的经验不成熟,这两方面造成了早期漏洞的产生,也导致一部分用户做了DeFi“小白鼠”。
3、代码的抄袭和售卖导致漏洞的扩散
漏洞的产生主要是有意和无意的,有意也就是代码漏洞是开发者故意放在里面,合适时机就卷款跑路,或者卖给对方的代码是故意放一个漏洞进去,等到对方部署好合约,然后上线之后,就利用代码漏洞盗取资金。无意的则是代码编写者技术能力低,只顾抄代码,没有吃透代码发现里面的漏洞,或者自己技术能力欠佳,导致一些问题的产生,毕竟DeFi爆发也就短短几个月,程序员学习也需要时间才行。
先编写代码的合约后面可以根据一些权限来进行修补,而后面的抄袭者却没能及时将漏洞的修补策略也抄袭更新上,因此也会导致一些合约打补丁正常了,另一部分没能及时打补丁,结果问题依旧存在,于是市场上不断有同一个漏洞的问题在不同项目上出现的情况。
4、DeFi合约之间的配合导致资金失窃
有一部分DeFi合约本身代码没有漏洞,但是它的运行机制被人所利用,导致出现类似被黑客薅羊毛的情况发生。这种现象最常见的就是“闪电贷”,闪电贷导致不少区块链项目最终被规则所利用,黑客薅了羊毛,受损的只有项目方自己。
DeFi项目的增多直接导致了很多玩家开始进行类似搭积木的方式来玩DeFi,比如从这个项目里借入大量资金,通过短时间影响币价,来实现在不同DeFi项目之间的套利策略。如果我们单独看待项目,好像代码没问题,但是往往组合在一起之后,就出现问题了。
DeFi的创新性越高,不同的玩法越多,那么DeFi项目之间的组合可能性也就越多,出现类似的套利策略也自然会越多,这样就会在一定程度上导致资金最终被“薅羊毛”,而这种情况已经和代码本身没多大关系了,完全是在规则之内的游戏。
5、跨链、L2等复杂协议导致的漏洞问题
和前面DeFi体系越复杂漏洞越多的道理是一样的,在DeFi内部,简单的存币理财和AMM流动性挖矿基本上已经成熟,于是创新的DeFi比如不同链之间的跨链、侧链和L2等技术都纷纷出现,于是DeFi内部的复杂程度进一步上升,人们为了将不同链打造成一个整体,解决资金流动和链上交易成本问题而做的侧链、L2等技术,其实已经可以看成是专为DeFi而服务的底层技术,这在一定程度商进一步压榨了DeFi仅有的创新空间。
而不同链甚至不同合约语言之间的融合是一个复杂的过程,比如我们常说的L2,从去年到现在已经大半年,而生态还没有完全发展起来,可见这个工程量是非常大的,加上这部分技术方案百花齐放,于是不同协议之间为了兼容,于是进行各类连接,使得复杂程度直线上升。在这种情况下,不出问题是非常难的事情。
比如我们这次看到的ploy network事件就是这个案例,而近一段时间里跨链桥频出问题,也正说明了这种现象的存在。
DeFi的成熟是需要市场的检验,也需要黑客对代码安全性进行的检验,正是因为有了theDAO事件,后面的生态项目才重视安全性,正是因为前期LP掏空、闪电贷等问题,才会使得后面这类问题的减少,同样,跨链桥出现问题也会使得后面的跨链项目对安全性进行不断增强。从这个角度来说,其实DeFi资产被盗,其实在一定程度上也促进了DeFi生态多安全性的重视,不仅如此,还考验和培养了代码审计机构、智能合约编程人员的经验,在这个角度上来看,是对DeFi未来的发展有一定积极作用的,但是比较无奈的是最后买单的只能是投资者自己了。