区块链/等级 IV · 深入协议/4.2 升级/课程 7
比特币上的零知识:证明与隐私转账
可装进一笔交易的沉默数学
材料《Shielded Bitcoin》论文一份(2026年9月)Zcash Sapling/Orchard 协议规范Bitcoin Core v30 关于数据载体限制的版本说明具有交易过滤功能的区块浏览器
好奇
- 在不改变共识规则的情况下,加密的价值如何在公链上转移?
- 作废符(nullifier)会揭示已花费票据的哪些信息,又会隐藏哪些信息?
- 为什么一个协议要依赖索引器,而不是全节点,来验证其核心状态?
探索
- 2026年9月24日,Clara Shikhelman、Mikhail Komarov 和 Aleksei Moskvin 发表了《Shielded Bitcoin》。这篇56页的论文提出了一种设计,借鉴 Zcash 的 Sapling 和 Orchard 池架构用于比特币。价值以加密票据而非标准 UTXO 的形式持有。花费一张票据时会公开一个作废符以防止双花,但该标识符无法关联回具体的票据或其原始来源。
- 每次转账都由一笔普通比特币交易构成,其中带有一个 OP_RETURN 输出。该输出包含一个封装,内含一个约192字节的 Groth16 零知识证明。该证明可以在不暴露底层数据的情况下,证明转账有效且收支平衡。一个标准的两输入、两输出封装约占610字节,OP_RETURN 输出约为625 vB。比特币共识规则完全忽略这些数据,将其视为不可花费的载荷。
- 由于全节点不验证 OP_RETURN 的内容,索引器必须按区块顺序重放这些封装,以重建票据树、作废符集合和默克尔根。如果某个区块中出现无效转账,索引器只会忽略它,而不会拒绝该区块。这就把验证工作从全节点转移到了索引器软件。不诚实的索引器可以提供过时或不完整的状态,但无法拿走资金,而且任何人都可以运行自己的索引器。
- 该设计对链上分析隐藏了金额、发送方、接收方以及在交易图谱中的位置。不过,时间、手续费、载体结构和输入/输出数量仍在链上可见。这类交易的中继依赖于 Bitcoin Core v30 更大的默认数据载体限制,这是一项策略调整,而非共识升级。如果许多节点运营者设置更严格的限制,这类交易将更难中继,不过愿意接受它们的矿工仍然可以将其打包。
- 论文明确将锚入(peg-in)和锚出(peg-out)机制排除在这一初始设计的范围之外。作者计划基于 Bitcoin PIPEs v2 构建这些组件,利用见证加密将私钥锁定在密码学陈述之后。这种方法通过现有的 Schnorr 签名而非新的操作码来实现可编程性。目前,该项目没有任何实现、用户或流通中的资金;它仍然只是一份理论规范。
- 该设计存在已知的局限。Groth16 需要一次性的可信设置,只要至少有一名仪式参与者是诚实的,就是安全的。新池的匿名集从零开始,因此早期用户更容易被区分开来。据报告,一笔转账约为700 vB,是普通付款的数倍。这些证明依赖于椭圆曲线,而大型量子计算机可能破解它们。此外,在索引器能够低成本地证明其状态之前,轻钱包必须信任它们所查询的索引器,尽管索引器无法拿走它们的资金。
- 比特币脚本的设计追求简洁和安全,因而限制了其执行任意代码的能力。标准的零知识证明(例如 Groth16 SNARK)需要基于配对的椭圆曲线运算,而比特币当前的操作码集无法以合理的成本完成这类运算。这一计算能力上的差距意味着,若没有软分叉或每笔交易耗费大量资源,网络本身无法原生验证这些证明。
- BitVM风格的协议通过乐观验证来解决这一问题。它们不会立即检查每一个证明,而是先假定其正确性,只有在出现争议时才会进行成本较高的验证。如果在规定时间内没有人对状态变更提出质疑,该状态就会被视为有效。其安全性依赖于激励机制:操作者需要提交抵押物,一旦作弊就会失去这些抵押物,同时任何观察者都可以提出质疑。
- Citrea 的 Clementine 桥于2026年1月采用这一 BitVM2 架构上线主网。其争议路径使用一个约1 GB(早期估计接近3 GB)的 Script 验证器来验证 Groth16 证明,该验证器被拆分成多个分块,只有在提出挑战时才会执行。这一设计让复杂的状态转换能够在“至少一方诚实”的假设下由比特币保障安全,而无需每个全节点都为常规交易执行繁重的密码学检查。
- Alpen 的 Glock 项目展示了一种使用混淆电路的替代方案,于2026年7月上线 signet 测试网。Glock 利用混淆电路,使争议期间在链上验证证明的成本大幅降低。它仍然基于争议机制,但链上占用要小得多;两种方案都承认,用原生 Script 验证高级密码学对于一般用途而言仍然成本过高。
- 客户端验证提供了另一条路径:证明由用户或索引器检查,而不是由基础层检查。RGB 和 Taproot Assets 等协议依靠参与者在本地验证所有权证明。同样,屏蔽比特币的设计需要索引器重放交易封装以重建票据树,无效转账虽然被共识忽略,但可以被在节点之外运行完整验证逻辑的监控软件检测出来。
- 这些系统各有特定的权衡。Groth16 需要可信设置,必须通过一场仪式确保没有人保留可能使证明失效的有毒秘密。乐观系统中的争议交易体积大且复杂,给中继带来挑战。此外,Groth16 所依赖的配对友好曲线与比特币自身的 secp256k1 一样,容易受到大型量子计算机的攻击,因此量子计算机可以伪造证明并破解基于 ECDH 的票据加密,不过 Groth16 证明本身并不泄露任何秘密。
部分 I屏蔽比特币(Shielded Bitcoin):无需软分叉的私密转账
部分 II当今比特币上的零知识证明
关键事实
- 屏蔽比特币以带有作废符的加密票据形式持有价值,沿用了 Zcash 的 Sapling/Orchard 架构。
- 转账时使用 OP_RETURN 输出,其中包含一个长度为 192 字节的 Groth16 证明,该证明被封装在约 610 字节的结构中。
- 比特币共识会忽略 OP_RETURN 数据;索引器通过按区块顺序重放封装来重建状态。
- 尽管金额和身份被隐藏,时间、手续费和载体结构仍在链上可见。
- 中继依赖于 Bitcoin Core v30 关于更大数据载体限制的策略,而非共识规则。
- 该论文(2026年9月24日)目前没有任何实现、用户或流通中的资金。
- 由于缺乏配对运算,比特币脚本无法以合理的成本验证 Groth16 SNARK。
- BitVM 协议采用乐观验证机制,仅在发生争议时才对证明进行核查。
- Citrea的Clementine桥于2026年1月在主网上上线,其争议验证器采用BitVM2风格,大小约为1GB。
- 2026年7月,Alpen 的 Glock 混淆电路验证器上线 signet 测试网。
- 像 RGB 这样的客户端验证协议会在本地对证明进行验证,而非通过共识机制。
- Groth16 实现需要可信设置,并使用易受量子攻击的曲线。
练习 九、六、三、一
9收集列出屏蔽比特币设计的9个组成部分或特性。
6归类按每项所依赖的对象,将这9项分为6组。
3提炼将这6个类别归纳为该设计相对于标准比特币交易所做的3种根本权衡。
1凝结用一句话说明索引器能对屏蔽比特币用户做什么、不能做什么。
事实核查
日期、数字及数据均依据下方列出的已发表资料进行核实。
- Shikhelman, Komarov & Moskvin, 'Shielded Bitcoin' ([alloc] init, September 24, 2026)
- D. Hopwood et al., Zcash Protocol Specification (Sapling and Orchard)
- Bitcoin Core v30 release notes
- news.bitcoin.com coverage of Shielded Bitcoin (2026)
- R. Linus et al., 'BitVM2: Bridging Bitcoin to Second Layers' (2024)
- Citrea documentation and mainnet announcement (2026)
- Alpen, 'Glock is here' (July 2026)