仅供教育参考,不构成投资或安全建议。有效证明只在证明系统的假设下保证已编码的陈述。
直接答案
零知识证明(ZKP)让证明者在不泄露用于建立陈述的秘密见证的情况下,使验证者相信该陈述为真。其形式化保证不是“交互记录中完全没有信息”,而是除公开陈述本身能够推出的信息外,合规验证者学到的内容都可以在不知道见证的情况下模拟出来。
证明系统需要分别考察三个性质:完备性,即持有有效见证的诚实证明者会被接受;可靠性,即虚假陈述仅以可忽略概率被接受;零知识性,即见证在规定的威胁模型下保持隐藏。许多实用系统属于计算型论证:可靠性只针对计算能力受限的攻击者成立,并依赖明确列出的密码学假设。
零知识性也不同于简洁性和有效性。证明可以是零知识但验证成本很高,可以很简洁却公开数据,也可以正确证明一个已编码关系,但该关系并不符合应用原本想执行的规则。
证明者执行一批交易或计算,得到状态变化。
工作原理
先定义公开陈述 x、私密见证 w 和精确关系 R。证明者生成证明,验证者使用公共参数或验证密钥进行判断。预期的可靠性主张可概括为:
Verify(vk, x, proof) = 1 => exists w: R(x, w) = 1
该式只说明已编码关系存在合适见证。它不会公开见证,也不会认证链下输入,更不能证明 R 已覆盖应用想要执行的所有业务规则。
- 交互式与非交互式。 早期 ZK 协议交换挑战和响应。非交互式系统把证据装入一个证明,通常依赖设置材料、随机预言机模型或两者。
- 设置模型。 Groth16 的证明很小,但需要针对电路的结构化设置。PLONK 类系统可使用通用、可更新的结构化参考字符串。STARK 构造不需要结构化可信设置,但通常证明更大,并依赖哈希和低度测试。
- 算术化与承诺。 实现会把程序转换成代数约束,对由见证推导的值作承诺,再用随机化检查,让验证者无需重做计算或查看见证便能检验结果。
- 知识证明。 有些系统还主张通过证明提取器形式化地说明,被接受的证明者“知道”一个见证。这是独立性质,不能仅从“零知识”标签推断。
示例
假设 x 包含一个承诺和 100 units 的门槛,w 包含被承诺的余额与致盲因子。关系会检查承诺能否正确打开,以及余额是否至少为 100 units。有效的零知识证明可以确认这项关系而不披露准确余额。
但结果本身不能证明证明者拥有该账户、资金未被占用,或同一承诺没有重复使用。这些主张需要额外约束和公开输入。
在隐私型加密货币中,电路可以在隐藏部分交易细节的同时强制检查授权、价值守恒与防重复。在有效性 Rollup 中,证明可以确认一批状态转换;系统仍可能公开交易数据,因此“ZK Rollup”不自动等于私密交易。
风险
- 不完整或错误的电路可能完美证明错误规则。
- 缺失域分离、链标识、根或承诺,可能把证明绑定到错误上下文。
- 对需要可信设置的系统,设置被攻破或“有毒废料”未销毁会破坏可靠性。
- 证明器、验证器、交互记录、曲线、哈希、编译器或智能合约的缺陷可能使理论保证失效。
- 公开输入、证明时间、交易图、费用和网络元数据可能泄露形式化 ZK 陈述之外的信息。
- 见证生成、浏览器、硬件或远程证明服务中的侧信道可能在生成证明前暴露秘密。
- 验证证明并不提供数据可用性、排序器活性、结算最终性、抗审查性或安全升级。
- 不同证明系统的密码学假设和具体安全余量不同;不能只按证明大小或验证速度评定安全性。
常见误区
- “零知识意味着不公开任何数据。” 公开陈述和有意暴露的输出仍然可见,证明模型之外的元数据也可能泄露。
- “证明有效就代表应用正确。” 它只表示已编码关系被接受,电路、集成和策略错误仍然可能存在。
- “所有 ZK 系统的信任假设相同。” 设置仪式、曲线、哈希、交互记录模型和升级控制均有实质差异。
- “ZK 就是加密。” 加密隐藏数据以供获授权者解密;ZK 证明无需发送见证供人解密便能建立主张。
相关主题
来源
- The Knowledge Complexity of Interactive Proof Systems - SIAM Journal on Computing(查阅日期:2026-08-22)
- On the Size of Pairing-based Non-interactive Arguments - IACR Cryptology ePrint Archive(查阅日期:2026-08-22)
- Scalable, transparent, and post-quantum secure computational integrity - IACR Cryptology ePrint Archive(查阅日期:2026-08-22)
- PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge - IACR Cryptology ePrint Archive(查阅日期:2026-08-22)
- Zcash Protocol Specification - Zcash Protocol Specification(查阅日期:2026-08-22)