零知识证明(有时也称为zk协议)是在证明者和验证者之间进行的一种验证方法。在零知识证明系统中,证明者能够向验证者证明其掌握了某条特定信息(如某数学方程的解等),而无需透露信息本身。现代密码学家可以利用该证明系统来提升交易的私密性和安全性。
zk证明必须满足两个基本要求,即完整性和健全性。完整性是指证明者能够证明其对相关信息的掌握达到了高度准确的程度。为使证明可靠,验证者必须能够可靠地确定证明者是否真正掌握该信息。最后,为达成真正的零知识,该证明必须在证明者和验证者未交流过相关信息的情况下同时实现完整性和健全性。
零知识证明主要用于高度重视私密性和安全性的应用程序。例如,依托zk证明,认证系统可以在不直接泄露凭据或身份信息的情况下进行验证。再举个简单的例子,zk证明可用于验证某人是否知晓某计算机系统的密码,而无需透露该密码的具体内容。
一种采用加密技术保护的数字货币,可用作点对点 (C2C) 经济体系中的交易媒介。
利用数学理论和计算加密和解密信息的科学。
“零知识简明非交互式知识证明”是一种实现零知识证明的方式。