储备金证明(PoR)能证明什么
又证明不了什么
先把结论摆在前面
储备金证明(Proof of Reserves,多数平台写作 PoR)只证明一件事:在某个被选定的时间点,交易所控制的那些链上地址里,确实有报告里说的那么多币。
时间点之前和之后发生了什么,它不管。平台一共欠用户多少,得看它有没有同时做负债端的证明。链下的借款、关联方之间的往来、银行里的法币,密码学在这几处根本使不上力。
一份通过的 PoR 报告,位置大概相当于体检里的一张血常规:指标不对基本可以直接排除,指标正常并不代表没病。
| 你想知道的事 | PoR 能不能回答 | 要靠什么才能回答 |
|---|---|---|
| 交易所在某一刻手里有多少 BTC | 能 | 公开的链上地址 + 那一刻的快照 |
| 所有用户余额加起来是多少 | 只有做了负债端才能 | Merkle 求和树或零知识证明 |
| 我的余额有没有被算进总数 | 能,但要你自己去验 | 平台或第三方提供的验证工具 |
| 平台在链下欠了谁多少钱 | 不能 | 完整财务审计、极端情况下的破产程序 |
| 银行里的法币储备够不够 | 不能 | 会计师事务所的鉴证 |
| 昨天和明天是不是也足额 | 不能 | 只能靠提高快照频率把盲区缩短 |
下面按机制、页面、验证、局限、清单的顺序走一遍。看完你能自己判断任何一家的报告值多少,不用记住谁现在做得好——那个排名每年都在动。
Merkle 树和零知识证明各自在解决什么
先说负债端,因为难的是这一半。
交易所要证明「所有用户的余额都算进总数了」,又不能把每个人的余额公之于众。常见做法是:每个账户的余额凑成一片叶子,两两向上合并,父节点存的是两个子节点余额之和加上两个子哈希,一直合到只剩一个根哈希,公布出去。
你要自查,平台会给你从你那片叶子走到根的一条路径,也就是沿途每一层的兄弟节点。你在本地一层层算上去,如果算出的根和公布的根一样,说明你的余额确实在总数里,而且没被改小。
为什么必须是「求和」树
普通 Merkle 树只能证明「我在这份名单里」。求和树多出来的那一步才是关键:如果交易所往树里塞一个负余额的假账户,好把总负债做小,那个负数所在的子树算出来的中间节点就是无效的,挂在这棵子树下面的真实用户一验就会发现。Vitalik Buterin 在 2022 年 11 月那篇《Having a safe CEX: proof of solvency and beyond》里举的正是这个例子:中间节点出现 -230 ETH 的合计,整条路径当场作废。
零知识证明补的是隐私那一块
Merkle 路径有个副作用:你会顺带看到兄弟节点的余额。用户一多,把很多人的路径拼在一起,能反推出不少东西。零知识证明换了一种说法——不给你路径,直接证明「所有账户余额都非负,且加起来等于公布的这个数」,过程中不暴露任何单个账户。
落到具体平台上做法并不统一。2026 年 9 月我逐个打开公开页面时看到的是:Binance 标的是 zk-SNARKs,OKX 用 zk-STARK 并提供可下载的验证器,Kraken 走的则是独立第三方会计师执行、用户凭 Merkle 叶子编号自查的路子。三条路各有取舍,没有哪条明显更高级。
PoR 页面上其实就那几行
各家版式差别不小,但核心字段是重合的:审计时点、验证机制、根哈希,再加一个下载或验证的入口。
拿图里这几行说:
- Audit Time(审计时点)——这一期快照锁在哪一刻,后面常常跟一个区块高度。
- Verification Mechanism(验证机制)——用什么方法证明,图里写的是 zk-SNARKs。
- Merkle Root Hash(根哈希)——当期所有账户余额压缩成的一个指纹。它本身不说明任何事,价值在于报告发出去之后它就改不了,你算出来的必须和它一致。
有个细节值得单独说。图里审计时点写的是 01/08/26 00:00:00 UTC,日在前还是月在前,光看这一格判断不了;真正没有歧义的是后半截那个 BTC 区块高度 962079——任何人拿这个数去区块浏览器一查,就知道快照卡在链上的哪一秒。我自己记的是区块高度,理由只有这一个。
多数平台允许回看历史期。能翻到多久以前、中间断没断过档,比最新一期长什么样更能说明问题。
自己验一次的四步
步骤跟平台没什么关系,基本都是这四步:
- 进 PoR 页面,或者账户里的储备金证明入口,选一个审计时点。
- 下载属于你的那份数据。它可能叫 Merkle 路径、验证文件,或者只是一个叶子编号。
- 拿验证工具在本地跑一遍。多数平台提供自家的验证器,也有第三方写的开源实现。
- 看结论。包含性校验通过,说明你那一期的余额确实在总数里。
我照着走了一遍,慢的地方在第一步找入口,不在第三步算。
用平台自家的验证器有个绕不开的问题:被验的和给工具的是同一家。这不等于工具有问题,但如果能找到独立于平台的实现,优先用那个。
它答不上的四个问题
一、负债端到底做没做
只公布链上地址和资产总额、不碰用户余额那半边的,是半截 PoR。这种报告只能说明交易所有钱,不能说明它的钱够还。翻一份报告的第一件事,就是确认负债端在不在。
二、时点之外的那些天
快照是点,不是线。Vitalik 那篇文里有一句说得很直接:交易所之间把抵押品来回倒腾去应付储备金证明,是很容易做到的事(原话是 Shuttling collateral back and forth between each other to do proof of reserves is something that exchanges could easily do)。把发布频率提上去能让盲区变短,但消不掉。
三、链下负债与关联方
借款合同不在链上。一家平台可以链上资产足额,同时在表外欠着一大笔;也可以把用户的钱借给一个关联实体,而链上看起来一切正常。2022 年真正出事的那批平台,问题基本都在这一层,PoR 在结构上就照不到。
四、法币和其他不在链上的资产
银行账户里的美元没法用哈希证明。涉及法币的部分只能靠会计师事务所,而强度取决于它做的是完整审计,还是一套事先约定好的程序——这两者差得不少,报告封面上的措辞值得多看两眼。
还有一项经常被跳过:覆盖币种。同样叫 PoR,有的报告覆盖二十来个币,有的只覆盖六个主流币。你手里那个币在不在名单里,得自己对。
看报告我会先翻的六项
- 有没有负债端。只有资产端的,后面五项都不用看了。
- 最近一期的日期,而不是宣称的频率。写着「定期发布」但最新一期停在半年前,这条就没过。
- 覆盖哪些币种,含不含理财和保证金余额。只覆盖现货的报告,对做合约的人价值有限。
- 用户能不能自助验证,工具是否公开。能不能拿到、有没有第三方独立实现,比用了哪种证明系统更实际。
- 有没有第三方机构参与,出的是什么性质的文件。审计、鉴证、约定程序,效力不一样。
- 历史期能不能回看。连续性本身就是信息,断档过的地方值得问一句为什么。
把三家的公开页面并排放,这六项上的选择差得挺明显:
| 维度 | OKX | Binance | Kraken |
|---|---|---|---|
| 发布节奏 | 页面写按月发布,期数已到第四十多期 | 页面提供按审计时点回看多期 | 我查看时最新一期快照停在 2026 年 6 月底 |
| 验证机制 | zk-STARK,附可下载的验证器 | zk-SNARKs + 公布 Merkle 根哈希 | 第三方会计师执行,用户凭 Merkle 叶子编号自查 |
| 覆盖范围 | 页面写覆盖二十余个币种 | 页面主张用户资产 1:1 支持 | BTC、ETH、SOL、USDC、USDT、XRP,含质押与保证金余额 |
| 第三方机构 | 公开页上我没看到具名机构 | 公开页上我没看到具名机构 | 明确写由独立第三方会计师执行 |
以上是 2026 年 9 月 1 日打开各家公开页面时的记录。发布节奏、期数、覆盖币种都在变,看到本文时请以页面当时显示的为准;「没看到具名机构」是指公开页上没有,不等于没有。
PoR 在风险判断里排第几
第一道门,不是最后一道。
没有 PoR、或者只有半截 PoR 的平台,可以直接从候选里划掉——到 2026 年还做不出来,无非两种解释:能力不够,或者不愿被看。反过来推却不成立。有 PoR 不构成安全背书,它只是把「像 FTX 那样直接挪用用户资产」这一类风险的概率压低了些,剩下的运营风险、合规风险、提币通道风险,一项都没被覆盖。
⚑ 只有资产端,没有负债端
一半的问题它根本没回答,却常常被宣传成「已通过储备金证明」。
⚑ 最近一期快照隔了大半年
频率写在页面上,日期才是事实。看日期,别看承诺。
⚑ 只能用平台自己的工具验,且不公开实现
你验的是一个黑盒,验证这个动作本身就失去了大半意义。
⚑ 平台币在自家储备里占大头
FTX 拿 FTT 撑账面是这条的来历。自家发的币撑自家的账,行情一转就是连锁反应。
⚑ 报告照常发,同时提币开始变慢
这两件事一起出现,比其中任何一件单独出现都值得警惕。报告是过去时,提币是现在时。
这篇本来打算给几家的 PoR 打个总分,写到第六节我把评分表删掉了。分数会让人停止翻细节:一份月度、零知识、可回看的报告完全可以打九分,可它要是不覆盖你手里那个币,对你就是零分。所以这篇只说该翻哪几页,不给分。
顺着往下看:单家平台的完整审视去 资产、监管、历史三个层面怎么看一家交易所;挑平台的阶段,PoR 只是 交易所选择的六维度框架 里的一维;如果结论是干脆少放一点在平台上,托管与自托管的取舍 有五个维度的对照;验证之外的账户设置,看 账户安全教程。
常见问
PoR 通过了,就说明这家交易所不会暴雷吗?
不能这么推。PoR 证明的是某个审计时点上链上资产的数量,它照不到链下借款、关联方往来和法币账户。过去出事的平台,问题多数就出在这些照不到的地方。合理的用法是把它当成一道门槛:没有它直接排除,有它也只是过了第一关。
我不动手验证,平台公布 PoR 对我个人有意义吗?
意义会小很多。负债端证明的设计前提就是用户会去抽查——抽查的人越多,平台漏报某些账户被发现的概率越高。你不验,等于把这份证明当一句宣传语来读。第一次验大概十几分钟,时间主要花在找入口上。
zk-SNARK 和 zk-STARK 有区别吗,我需要在意吗?
对普通用户来说,两者要解决的是同一个问题:在不公开别人余额的前提下,证明所有账户余额非负、且加总等于公布的数字。差别在证明体积、验证速度和是否需要可信初始设置。真正该在意的不是缩写,而是验证工具能不能拿到、有没有独立于平台的实现。
报告里写资产覆盖率超过 100%,是好事吗?
是必要条件,不是安全承诺。这个比率的分母是平台自己申报的用户负债,分子是它在选定时点控制的链上资产。分母若少算了一部分账户,比率就会好看。所以先看负债端怎么算,再看比率。比率本身随行情和资金进出天天变,以平台页面当时显示的为准。
多久验一次自己的余额比较合适?
跟着平台的发布节奏走。月度发布的,每隔一两期抽验一次够用;季度发布的,每期都可以验。仓位有明显变化之后、或者平台刚经历舆论事件时,值得额外验一次。
交易所临时借币做一次快照,能被发现吗?
不容易。Vitalik Buterin 在 2022 年 11 月讨论交易所偿付能力的那篇文章里直接写过,交易所之间把抵押品来回倒腾去应付储备金证明,是很容易做到的事。能部分对冲这个问题的办法是提高快照频率、看多期报告的连续性,以及留意快照时点是不是可以被提前预知。