零知识证明(ZK Proof)是一种密码学技术,让证明者在不泄露任何秘密内容的前提下,向验证者证明某个命题为真,广泛用于区块链隐私保护与 zk-Rollup 扩容方案。

| 类型 | 密码学技术 / 证明协议 |
| 所属领域 | 密码学、区块链、理论计算机科学 |
| 提出时间 | 20 世纪 80 年代 |
| 核心性质 | 完备性、可靠性、零知识性 |
| 主流实现 | zk-SNARK、zk-STARK |
| 典型应用 | Zcash、zkSync、StarkNet 等 |
零知识证明(Zero-Knowledge Proof,简称 ZK Proof 或零知识协议)是密码学中的一类证明方法:证明者能够让验证者相信某个命题为真,但除了「命题为真」这一结论之外,不向对方泄露任何额外信息。
日常生活中,想证明自己知道某个秘密,最直接的办法就是把秘密说出来——但这样秘密也就不再是秘密。零知识证明要解决的正是这个矛盾:如何在完全不透露内容本身的情况下,让对方确信「我确实知道」。因此它也常被通俗地理解为「零泄密证明」。一个常用的比喻是:你能反复从一个环形洞穴中被指定的任意一侧走出来,就足以证明你掌握了打开洞中暗门的咒语,而咒语本身始终无人知晓。
这一概念由密码学家在二十世纪八十年代提出,最初属于理论计算机科学的研究成果。近年来,随着区块链行业对隐私和扩容的需求爆发,零知识证明从论文走向了大规模工程实践,成为 Web3 领域最热门的底层技术之一。
一个合格的零知识证明协议需要同时满足三个性质:
零知识证明在加密货币领域有两大用途。一是隐私保护:如 Zcash 等隐私币利用它验证转账合法性,而无需公开金额与地址。二是扩容:zk-Rollup 方案(如 zkSync、StarkNet、Scroll 等)在链下批量处理交易,只向以太坊主网提交一个简短的有效性证明,从而大幅提高吞吐量、降低 Gas 费。常见的技术路线包括 zk-SNARK 和 zk-STARK,两者在证明体积、验证速度和是否需要可信设置等方面各有取舍。此外,它还被用于匿名身份认证、合规审计等场景,例如证明「我已年满十八岁」而不出示身份证件。
问:零知识证明就是加密吗?答:不是。加密解决的是「安全地传递信息」,接收方最终能解密看到内容;零知识证明解决的是「证明而不泄露」,验证者自始至终看不到秘密本身,两者是不同的密码学工具。
问:zk-SNARK 和 zk-STARK 有什么区别?答:zk-SNARK 证明体积小、验证快,但通常依赖一次「可信设置」;zk-STARK 不需要可信设置且被认为更抗量子攻击,代价是证明体积更大。具体项目会根据需求选择路线。
问:普通用户会接触到零知识证明吗?答:会,只是通常感知不到。当你使用 zkSync 等二层网络转账,或使用隐私币交易时,背后就是零知识证明在工作,用户只需正常操作钱包即可。

| 类型 | 密码学技术 / 证明协议 |
| 所属领域 | 密码学、区块链、理论计算机科学 |
| 提出时间 | 20 世纪 80 年代 |
| 核心性质 | 完备性、可靠性、零知识性 |
| 主流实现 | zk-SNARK、zk-STARK |
| 典型应用 | Zcash、zkSync、StarkNet 等 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧