去中心化金融一定安全吗?这份DeFi安全指南奉上
原文:Ignas
编译:Biteye 核心贡献者 Crush
FTX 的崩溃证明了自我托管和风险管理的重要性。但是在 DeFi 中,仍有许多漏洞、Rug Pull 以及合约 BUG,一不小心就会亏钱。
今天这篇文章,我就来说一下如何去评估一个项目的安全性,以保护好自己的资产。
如果你自己本身就是一个经验丰富的智能合约开发者,能够亲自去验证项目代码的安全性,这再好不过了,但是我相信大多数人都不是。
所以没办法,我们只能根据其他数据去评估一个项目,这涉及到一定程度的信任。
TVL 高就一定安全?
众所周知,大多数人通过存入智能合约的资产价值来评估一个 DeFi 项目的好坏。因此,不少人认为 TVL 在一定程度上,是可以反映这个项目的安全性的。
如果锁仓的资产越多,那么说明这个协议的安全性就越高。你可以这么想,能够锁仓这么多资金的协议,那这些存钱的人一定是进行了充分的调查,确认了协议的安全性才敢把钱放进去。
不幸的是,TVL 往往给人一种错误的安全感。一方面,你认为高 TVL 的协议更加安全,但同样黑客也会盯着这些协议进行攻击,因为攻击这些协议能赚取更多的利润。另一方面,低 TVL 也不一定就意味着协议就不安全。
因此,仅仅通过 TVL 去判断一个协议的安全性,不免有些似是而非。
我们根据TVL对现有的DeFi项目进行一个排名:
看完这张图后
-
你还认为高 TVL 一定代表着安全吗?
-
图中有哪些协议你觉得是不可信的?为什么?
亲自验证
「不信任,只验证」是我们进行智能合约审计的原因。如果不是这样,我们可能不需要审计。因为代码是开源的,社区可以找到代码中的所有问题。然而,社区可能没有正确的动机、激励或专业知识来验证代码。
因此审计人员必须要足够专业,但更加重要的是,审计人员自己不能出问题。例如,著名审计公司 Certik 经手审核的不少项目仍然被黑了,可以说是防不胜防。
同时,审计公司也在建立自己的声誉。如果他们审核(并评估为安全)的协议被黑,则给人一种不专业的印象。事实上,Certik 已经审核了超过 3422 个项目,所以其中一些项目遭到黑客攻击或存在漏洞也是难以避免的。
所以仅仅进行是通过审计,并不意味着协议是安全的。我见过一些项目自豪地宣布「完成审计」,但当你阅读审计报告时,却发现他们的安全分数实际上很低。
这给我的教训是,不要盲目相信项目方的审计公告,而是通过阅读实际审计报告来验证结果。
我不爱读审计报告怎么办?
事实上,大多数人都不会阅读审计报告,不过Certik 有一个包含所有已审项目的数据看板,在这个看板里面,你可以检查项目的「信任分数」,数字越高表示安全。
其它审计机构,例如 Hacken,也会有类似的数据看板。或者你可以简单地阅读一下审计摘要,例如下面这个 Trader Joe 的例子, 它是由 Paladin 审计完成的。
通过这里的数据我们不难看出,Trader Joe 修复了所有的中高风险问题,但是在低风险问题上,却仍有部分未进行修复。
审计只是开始
评估一个项目的安全性,还需要考虑更多:
-
充分的测试
-
赏金活动
-
文档的公开透明
-
管理控制
-
Oracle 文档
要考虑的方面那可太多了,要是全部都亲自验证,恐怕先得累死。说到这里,我们就不得不提到 DeFi Safety。它会对这些协议进行一个验证,然后给出安全评分。
根据它们提供的结果,我们可以很清楚地看到,Liquity Protocol、Synthetix 以及 Angle Protocol 是所有经过验证的 DeFi 协议中最安全的。
在 Defi Safety 上,你还可以查看更多细节部分的内容。例如,Liquidy protocol 仍然需要形式验证。
此外,你还可以通过 Exponential DeFi,对钱包的投资组合进行一个安全性评估。
「评价钱包」功能会为你提供当前投资的风险分析。例如,在 Tetranode 的资产中,就有 450 万美元的资产是被存入在风险较高(C 级)的协议中。
ExponentialDeFi 会根据项目评估给出评分,评估考虑了资产风险、代码质量和资产存放的区块链的安全性。这种简单易懂的风险说明,让我爱不释手。
就拿 Abracadabra 的稳定币 MIM 来举例,它会直接给出警告:SPELL 被用作抵押品可能会导致坏账。
不懂就问
最后一个要给大家介绍的方法就是,直接加入项目的社区,然后思考一下下面几个问题:
-
他们有保险基金吗?
-
他们会回避提问吗?
-
他们正在做什么来提高安全性?
例如我之前就曾问过 Stargate 团队,他们是否拥拥有保险基金,以防止项目被黑客入侵。但是有时想要得到一个准确的答案,却并不是那么简单,项目方往往会各种拐弯抹角地回避问题。这似乎是一种危险信号,让人不得不提高警惕。
但是无论发生什么,DeFi 都还很年轻,还有很长的路要走,所以最好不要把所有的鸡蛋都放在一个篮子里!