Skip to content

零知识证明

Zero-knowledge proof

证明者使验证者相信陈述为真而不泄露额外知识的交互证明。

形式陈述

对语言 L 的交互证明系统 (P,V),零知识要求同时满足:完备性——xL 时诚实证明者使验证者接受;可靠性——xL 时任意欺骗证明者的接受概率受限;零知识——对任意允许的概率多项式时间验证者 V,存在不知见证的模拟器,其生成视图与真实交互在完美、统计或计算意义下不可区分。模拟对象包括验证者随机性、接收消息和最终状态。

直觉

验证者学到“命题确实成立”,却学不到任何不能自行高效生成的额外知识;模拟器是这一“不额外泄漏”的操作化证据。

例子与边界

图同构的经典交互协议可让证明者回答验证者随机置换后的图来自哪一边,重复降低作弊概率,而单轮对诚实验证者不泄漏具体同构。只对诚实验证者可模拟称 HVZK,通常弱于面对任意恶意验证者的零知识。零知识性质不隐藏公开陈述 x,也不自动蕴含证明者“知道”见证;后者需要知识可靠性或提取器定义。

推论与应用

零知识用于身份认证、隐私交易、可验证计算和复杂协议编译。非交互零知识还需要公共参考串、随机预言机或其他设置假设,不能从交互定义直接免费获得。

参考资料
  • Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023,Chs. 19–20, zero-knowledge proofs and simulation。
  • Oded Goldreich, Foundations of Cryptography, Vol. 2, Cambridge University Press, 2004,Chs. 4–5, zero knowledge and proofs of knowledge。