输入以搜索 · Esc 关闭
文章2026-09-06 · 3 分钟阅读

在信任一个协议之前,如何核查它

一个协议关于自身的说法,大多可以在一个晚上核查完,而且不需要会写代码。下面是最省时间的顺序。

从不可编辑的东西开始

网站是一种说法。白皮书是一种说法。已部署的合约是唯一必须为真的产物,因为它才是真正在运行的东西。

所以第一项核查,是您所读的源码是否就是被部署的源码。在区块浏览器上,「已验证的源码」意味着公布的代码编译后与该地址上的字节码一致。如果一个协议在一个站点上给您看代码,在另一个站点上给出未经验证的地址,那么您在读到第一行之前就已经知道了一些事情。

第二项核查是地址本身。请在项目无法悄悄更改的地方找到它——一条签名消息、一个仓库标签、一份带时间戳的文件——而不是只在一个两次访问之间就可能被编辑的页面上。

然后看谁能改什么

每个协议都为某些人保留了权力。问题从来不是这些权力是否存在,而是它们涵盖什么、受到怎样的约束。

带着三个问题去读。运营方在没有投票的情况下能做什么,它是立即生效还是延迟生效?投票能做而运营方不能做的是什么?以及,谁都不能做的是什么——是否存在一份清单,列出合约根本没有对应函数的那些事?

最后那份清单才是有用的,也是多数项目不公布的。一个能够改写自己铸造价格、变更支撑分配规则、或推迟返还资金的协议,等于告诉您:您的退出取决于某个人的克制。要去寻找这些函数的缺席,而不是不使用它们的承诺。

然后是储备与预言机

有支撑的代币生死系于储备,所以请自己给储备定价。拿到地址,在链上读余额,核对这些资产究竟是什么:由发行方控制的稳定币、跨链包装物,还是换了个名字的协议自有代币。由协议自身发行物构成的储备,不是储备。

然后找预言机。一份读取价格的合约必须决定:数据源过期时怎么办,答案荒谬时怎么办,以及在二层网络上,排序器宕机、所有价格都是一小时前的怎么办。请寻找有名有姓的数据源、按资产设定的明确过期上限,以及排序器检查。一个读取价格就直接使用的协议,总有一天会用上一个错误的价格。

然后读失败章节

跳过引言。直接去看文档中描述「事情变糟时会发生什么」的部分:某种货币脱锚、预言机停止、大持有者一次性退出、投票走向反面。

如果这些章节根本不存在,这本身就是结论。如果存在却含糊,请当作广告来读。如果它们既点出具体机制,也点出这些机制覆盖不到的地方,那么您读到的,是由认真设想过自己会错的人写下的东西。

用到本协议上,诚实的简短版本是:走廊的下沿由数个机制同时守护,而它们全都以储备的计量单位来衡量。如果储备持有波动性抵押品,所有这些水平都会随抵押品自身的价格移动。这句话值得拿去对照我们自己的页面,也值得向任何别的项目索要。

然后是时间戳

文件会变。想知道一份文件在您读过之后是否被改动,办法是校验和,加上一份证明该校验和在某个日期已经存在的凭据。

我们发布的每一份文件都列出了它的校验和,旁边配有锚定在比特币区块链上的 OpenTimestamps 证明。核验只需一条命令,而且不需要信任我们,这正是要点所在。如果一个协议要求您信任一份由它自己掌控的版本历史,那么这份历史值多少,取决于这份掌控值多少。

全部文章