早就想写写这个,今天有空写一下。

在 DeFi 里,存款、借贷、兑换都由智能合约自动完成,没有人工审核,也没有客服能把转错的钱追回来。合约写对了,它就是最可靠的规则;写错了,漏洞同样会被一丝不苟地“执行”。

相关币种:$ETH 现价 2489.99(24h -0.97%)。

📌 代码即规则,漏洞也是

智能合约部署上链以后,就按代码自动执行。这带来了透明和可预期:谁都可以读代码,不可升级的合约,规则也不会因为某个人改变主意而变化。

反过来,代码里的漏洞一旦被人发现并利用,资金可能在几笔交易之内被转走,而且很难追回。2016 年的 The DAO 就是一个例子:合约因为重入漏洞被攻击,以太坊随后通过硬分叉处理,没有分叉的原链延续为以太坊经典(ETC)。

📌 审计到底审了什么

安全审计,是第三方安全团队在某个时间点,针对某个版本的代码做的检查。审计报告一般会列出发现的问题、各自的严重程度,以及项目方是否已经修复。

常见的检查对象包括重入、权限控制错误、计算精度问题、预言机被操纵的可能等。审计有助于发现和减少这类常见漏洞,但它受时间、人力和审计范围的限制。

📌 为什么审计过还会出事

第一,审计只覆盖指定范围的代码,范围外的合约、后来新加的功能都不在其中;审计之后又改了代码,或者实际部署的版本和审计的版本不一致,结论就不能直接套用。

第二,有些风险不在代码本身:协议依赖的预言机或其他协议出了问题、掌握升级权限的管理员密钥被盗、网页前端被篡改并引导用户签下恶意交易,都可能造成损失。

📌 普通用户能做什么

看审计报告时留意日期、范围和还没修复的问题,别只看“已审计”这几个字。也可以看看合约能否被单方面升级,升级权限是不是由多签和时间锁控制。

运行时间长、经受过大量资金考验的协议通常被认为更可靠,但也不代表没有漏洞。所以在 DeFi 里只放亏了也扛得住的资金,大额资金分散到不同协议,不再使用的协议记得撤销授权。

📌 写在最后

审计是安全的起点,不是终点。把智能合约风险当作参与 DeFi 必须面对的成本,比相信“已审计”三个字更实际。任何收益后面都伴随着相应的风险,多想想最坏的情况。

大家最早是什么时候弄懂这个的?

个人分享,不当作具体的买卖建议。