# 零知识证明是什么？证明、隐私与区块链ZK应用

整理：链小知（AI 辅助）
更新日期：2026-10-31
引用地址：https://lianxiaozhi.com/learn/zero-knowledge-proof-basics

零知识证明让证明者证明某个陈述成立，同时不向验证者额外泄露应保密的见证信息。它可以用于隐私凭证或状态计算验证，但证明正确不等于数据来源真实，ZK Rollup也不自动隐藏公开交易。

## 证明一个条件，为什么不必公开全部资料？

假设机构需要验证某人是否达到规定年龄。系统可以设计成由证明者使用出生日期和可信签发凭证生成证明，让验证者只核对“年龄达到门槛”这一陈述，而不直接取得出生日期。这个示例说明选择性披露的目标，不保证现实系统都正确实现。

其中被验证的规则与公开输入是什么，哪些信息被当作私有见证，以及凭证由谁签发都需要说明。验证证明不能凭空证明签发资料真实，也不自动阻止同一个人重复注册。

依据：[Ethereum：零知识证明的基本性质](https://ethereum.org/zero-knowledge-proofs)
依据：[Ethereum：隐私、选择性披露与证明系统](https://ethereum.org/roadmap/privacy/)

## 完整性、可靠性和零知识分别指什么？

完整性要求正确陈述在参与者按协议执行时能够通过验证；可靠性要求不成立的陈述难以骗过验证；零知识要求证明本身不泄露超出公开陈述所能推知的私有见证信息。不同证明系统的安全条件和概率界限可能不同。

证明生成和验证只是系统的一部分。公开输入、网站记录、设备泄露、关联交易、可信设置或实现漏洞都可能影响整体隐私或安全；看到“ZK”标识不能代替对实际设计的核对。

依据：[Ethereum：零知识证明的基本性质](https://ethereum.org/zero-knowledge-proofs)
依据：[Ethereum：隐私、选择性披露与证明系统](https://ethereum.org/roadmap/privacy/)

## 与ZK Rollup有什么联系？

某些Rollup用有效性证明让底层验证一批状态更新符合约定规则，而不要求底层逐笔重复执行所有计算。该证明说明的是所证明的计算关系；它本身不决定资产价格，也不保证项目的合约、升级控制或桥都没有风险。

用于有效性验证的证明未必具备完整隐藏属性；即使证明隐藏了私有输入，系统仍可能把交易数据、地址或其他公开输入放在链上。因此ZK Rollup并不必然是隐私链。

依据：[Ethereum：ZK Rollup与有效性证明](https://ethereum.org/developers/docs/scaling/zk-rollups/)
依据：[Ethereum：隐私、选择性披露与证明系统](https://ethereum.org/roadmap/privacy/)

## 阅读一个ZK项目时应问什么？

先找清楚陈述、公开输入、秘密输入、证明生成者及验证位置，再核对代码、证明系统的安全假设、数据发布范围和升级权限。涉及凭证时还要确认签发、撤销与过期规则。

简洁证明可以减少验证方需要重复执行的工作，但生成证明可能需要计算资源；性能与成本取决于具体电路和实现。本文解释概念，不评定各项目的匿名性或安全排名。

依据：[Ethereum：零知识证明的基本性质](https://ethereum.org/zero-knowledge-proofs)
依据：[Ethereum：ZK Rollup与有效性证明](https://ethereum.org/developers/docs/scaling/zk-rollups/)

## 继续核对
- [Layer1和Layer2的区别](https://lianxiaozhi.com/learn/layer1-layer2-explained)
- [数据可用性与有效性](https://lianxiaozhi.com/learn/data-availability-vs-validity)
- [隐私支付模型](https://lianxiaozhi.com/learn/private-payments-models)
