三条性质

零知识证明 (ZKP) 让证明者使验证者相信「某命题为真」,却不泄露任何额外信息

  • 完备性:真命题,诚实证明者总能通过;
  • 可靠性:假命题,骗子几乎必被识破;
  • 零知识:验证者除「命题为真」外一无所获。

交互式与非交互式

经典Schnorr 协议证明「我知道离散对数 $x$(即 $y=g^x$)」而不暴露 $x$:承诺–挑战–应答三步,靠随机挑战防作弊。经 Fiat–Shamir 变换可去交互,变成非交互证明(用哈希代替挑战)。

简洁证明

zk-SNARK / zk-STARK 能为复杂计算生成极短、可快速验证的证明。

例题

 「三染色」直觉:证明一张地图可用三色染且相邻不同色,验证者每轮只随机翻看一条边的两端——多轮后几乎确信,却始终看不到完整染色方案。

应用

ZKP 用于隐私币 Zcash(隐藏交易额与地址)、zk-Rollup(区块链扩容:链下计算 + 链上简洁验证)、匿名身份认证与合规证明(证明「年满 18」而不暴露生日)。