零知识证明:是指一方(证明者)可以在不揭示信息本身或任何额外信息的情况下,向另一方(验证者)证明一个给定的声明是真实的。

为了实现这一点,零知识证明协议依赖于将一些数据作为输入并返回“真”或“假”作为输出的算法。

零知识证明协议需满足 3 个条件:

完整:如果证明者输入有效,则零知识协议始终返回为“真”。因此诚实的证明者能说服同样诚实的验证者。

健全:如果证明者输入无效,则零知识协议无法返回为“真”。因此作弊的证明者无法欺骗诚实的验证者相信该声明为真。

零知识:除了了解给定的声明为真或假以外,验证者不知晓该声明相关的任何其他信息。

常见的零知识证明有两类: