这是一篇对在交互式证明协议中经常出现的若干性质的简短的总结。
Properties
1— Completeness 完备性
是指诚实的 P 可以说服诚实的 V。
2— Soundness 可靠性
是指当 $x \notin L$ 时,所有 P*(包含恶意和诚实)都无法说服 V。
3— Zero-Knowledge 零知识性
是指对任意的 V*(不管恶意还是诚实),V* 都无法从和 P 的交互中得到更多的信息。
4— Proof-of-Konwledge(也称 Knowledge soundness)
是指若 P 能说服 V,那么说明 P 一定知道 $\omega$,并且可以用知识抽取器(Knowledge extractor)计算出来。与性质-2 Soundess 所考虑的不同,Knowledge soundness 防范的是 P 不知道 $\omega$ 的情况。
5— HVZK(Honest Verifier Zero Knowledge)
在 ZK 的基础上,放宽限制,只要求针对诚实的 V,V 无法从和 P 的交互中得到更多的信息。
6— Special soundness
与性质4-Konwledge soundness 类似,只不过 special soundness 一般指 $\Sigma$-协议中的相应性质。
7— Special HVZK
与性质5-HVZK 类似,只不过 special HVZK 一般指 $\Sigma$-协议中的相应性质。
Discussion
以上这些性质,大抵可以分成三类:
Completeness | Soundness | Zero-Knowledge |
---|---|---|
1 | 2、4、6 | 3、5、7 |
对于常见的几种交互式协议,可以将其性质按照上述三类进行划分:
Completeness | Soundness | Zero-Knowledge | |
---|---|---|---|
IP | 1 | 2 | — |
ZK | 1 | 2 | 3 |
ZKPoK | 1 | 4 | 5 |
$\Sigma$-protocol | 1 | 6 | 7 |