先说结论。
9 月 24 日,[[alloc] init] 发了一篇 56 页的论文,叫 Shielded Bitcoin。它把 Zcash 那套隐私转账,几乎原封不动搬到了比特币上。
不分叉,不发新币,不另起一条链,也没有运营方。
设计很漂亮,我读完挺佩服的。
但得泼盆冷水:对持有 BTC 的人来说,最要命的那一半——币怎么存进去、怎么取出来——这篇论文一个字都没写。
作者之一 Komarov 在采访里说得很直白:「基本上就是 Zcash。」
它到底干了什么
一句话:把比特币降级成一块公告板。
钱进了池子以后不再是 UTXO,而是一张张加密「票据」(note)。票据明文只有三样东西:金额、接收路径、一个随机种子。链上只看得到密文。
花一张票据的时候,你不说花的是哪张。你公开一个「作废标记」(nullifier),再附一个零知识证明,证明四件事:这张票据确实存在;我有权花它;作废标记算对了;进出金额相等。
到这儿还是 Zcash 的老套路。
新东西在后面:它没有自己的共识。
这些加密数据被打包成一个「信封」,塞进比特币交易的 OP_RETURN 里。矿工看不懂,也不需要懂,它们只干一件事——把信封按顺序钉在链上。
验证交给链下的索引器。每个索引器按区块顺序把所有信封重放一遍,验证证明,维护票据树和作废集合。规则是确定性的,只要大家跑同一套规则,从同一段比特币历史里算出来的状态必然一模一样。
不用投票,不用挑战期,也不用欺诈证明。
玩过铭文和符文的人会觉得眼熟。对,就是 Ordinals / Runes 那种索引器模型。区别在于,那边的规则靠社区约定,这边的规则靠密码学硬约束。
它比前人聪明的地方
讲真,有几处设计我是认真点了头的。
数据全在链上,助记词就能恢复。
对比一下 Shielded CSV。CSV 走的是客户端验证路线,币的历史证明要你自己存着,本地数据一丢,币就找不回来了。这对普通用户是灾难级的设计。
Shielded Bitcoin 反过来,所有东西都加密写在比特币上。拿着种子重新扫一遍链,余额、收发记录全回来。
做了这么多年冷存储,我太清楚「备份一套助记词就够」这件事有多重要。
作废标记绑定了票据在树里的位置。
原始 Zerocash 有个老坑:发送方要是复用了随机数,两张票据可能撞出同一个作废标记。这里把位置编进去,从结构上堵死了。论文专门点名说是在修这个问题。
查看权限只读,没有后门。
入账查看密钥、出账查看密钥可以分别交给审计方,但谁都拿不到花费权。没有什么全局解密钥匙。
附录里还埋了个彩蛋:可选的 KYC「血统证明」。机构可以验证一张票据最初来自批准过的存入、中间只经过认证地址,却看不到具体路径。
这是冲着机构和监管去的,野心不小。
没写的那一半
好,说最关键的。
论文反复强调:peg-in 和 peg-out 不在本文范围内。
翻译成人话:钱怎么进池子、怎么出池子,下回再说。
问题是,这恰恰是持币者唯一真正关心的事。
你想想,池子里流转的那些「比特币」到底是什么?严格说,是以 BTC 计价、由某座桥锁住的债权。手里的票据值不值钱,完全取决于那座桥守不守得住真金白银。
隐私层写得再严密,你的 BTC 归根结底还是在信那座桥。
他们打算用自家的 PIPEs v2 做这座桥。原理是用见证加密(witness encryption)把一把比特币私钥锁起来,只有拿出合法证明的人才能解开、才能签名。
思路很美:不要多签联盟,不要软分叉,不要 BitVM 那种挑战博弈。
可见证加密到今天还是密码学前沿的硬骨头。PIPEs v2 押注的是一种基于 AADP 的构造,论文自己的措辞是「有前景的研究方向」。也有报道提到,解锁一个 PIPE 需要相当重的计算。
所以现在的状况是:上半场写完了,写得很好;下半场的地基还在实验室里。
四个我会一直盯着的地方
一,Trusted setup。
证明系统用的是 Groth16,每种输入输出组合都要单独办一次可信设置仪式。陷门一旦泄露,攻击者可以凭空造币。在一个全隐藏的池子里,你根本看不出来。
这不是杞人忧天。Zcash 2018 年就发现过一个能无限伪造的漏洞,团队悄悄修掉,快一年后才公开。
好在这里有个天然闸门:取出来的 BTC 不可能超过桥里锁的总量。但这也意味着,真出事了,是排在队尾取钱的人买单。
二,硬件钱包很难接进来。
这点论文几乎没展开,但对冷存储党来说是硬伤。
在这个设计里,「有权花钱」不靠签名来证明,而是在零知识证明里证明「我知道花费私钥」。换句话说,私钥本身得喂给证明程序。论文也承认,证明要是交给别的机器算,那台机器就在你的信任边界里。
Zcash 的 Sapling 专门把这两件事拆开了:硬件钱包只管签名,重活交给电脑算。这里没拆。
结果只能二选一:要么在硬件钱包上跑完整的 Groth16 证明,又慢又吃资源;要么把私钥导到电脑上。
后者?那冷存储就白做了。
三,看得见,就挡得住。
每个信封开头都有固定的协议标识。矿池想过滤,加一行规则的事。抗审查能力,完全看矿池愿不愿意打包。
时机也尴尬。它依赖 Core v30 把 OP_RETURN 默认上限放开,而这事去年吵得有多凶,大家都看到了。一个 600 多字节、专门做隐私转账的 OP_RETURN 协议,大概率会变成 Knots 和过滤派的新炮弹。
四,贵,而且一开始藏不住。
按论文给的 2 进 2 出算,信封 610 字节,塞进 OP_RETURN 是 625 vB,加上付手续费的输入和找零,一笔大概 700 多 vB。Komarov 自己给的数字也是 700 左右。普通转账才 100 到 200 vB。
三四倍的手续费。
这还不是最麻烦的。隐私靠的是人多,新池子冷启动,匿名集小得可怜。一笔大额存进去,没多久同样金额取出来,密码学再强也挡不住这种对账。已经有人在 X 上质疑过这点,作者在论文里也老实承认了。
Zcash 的实证研究早给过教训:池子名义上很大,不等于每个人真藏得住。
放进坐标系里看
方案 | 金额 / 交易图 | 要不要动比特币共识 | 数据放哪 | 你在信谁 |
CoinJoin / PayJoin | 公开,只是更难聚类 | 不用 | 比特币链上 | 协调者(弱信任) |
Zcash | 隐藏 | 自己一条链 | Zcash 链上 | ZEC 本身 |
Shielded CSV | 隐藏 | 不用 | 用户自己存 | 桥 + 你自己别丢数据 |
Shielded Bitcoin | 隐藏 | 不用 | 比特币链上(加密) | 桥(PIPEs)+ 索引器规则一致 + 可信设置 |
盯着「你在信谁」那一列看就行。往下每走一行,隐私更强,信任清单也更长。
那普通持币者该怎么看
我的判断:值得跟,不值得碰。
它是一份认真的研究,不是产品。没有上线时间,没有主网,桥还没设计完,哈希函数、曲线这些具体参数也没钉死。论文里的安全证明,大部分还是「证明梗概」。
说实话,真正要等的是 PIPEs 那座桥的论文。
什么情况下我会改主意?看三个信号:
- 桥的方案出来了,而且能被第三方独立验证,不需要信任任何人;
- 出现轻客户端证明,手机钱包不用信索引器也能确认状态;
- 硬件钱包可以只签名、不碰证明。
三条里能兑现两条,我会拿一小笔钱进去试试。
在那之前,冷钱包里的币,该在哪还在哪。
比特币的隐私问题折腾了十几年,到头来可能不是被某个 opcode 解决的。
而是被一篇还没写出来的论文。
参考