首页
术语表
零知识证明

零知识证明

高阶

零知识证明(有时也称为zk协议)是在证明者和验证者之间进行的一种验证方法。在零知识证明系统中,证明者能够向验证者证明其掌握了某条特定信息(如某数学方程的解等),而无需透露信息本身。现代密码学家可以利用该证明系统来提升交易的私密性和安全性。

零知识证明的概念最早出现于1985年麻省理工学院(MIT)的一篇论文中,该论文由Shafi Goldwasser和Silvio Micali联合发表。他们证明,可以在不透露具体数字或任何其他相关信息的情况下证明该数字的某些性质。此外,该论文还提出了一项具有重要数学意义的发现,即证明者和验证者之间的交互可以减少证明某一给定定理所需的信息量。

zk证明必须满足两个基本要求,即完整性和健全性。完整性是指证明者能够证明其对相关信息的掌握达到了高度准确的程度。为使证明可靠,验证者必须能够可靠地确定证明者是否真正掌握该信息。最后,为达成真正的零知识,该证明必须在证明者和验证者未交流过相关信息的情况下同时实现完整性和健全性。

零知识证明主要用于高度重视私密性和安全性的应用程序。例如,依托zk证明,认证系统可以在不直接泄露凭据或身份信息的情况下进行验证。再举个简单的例子,zk证明可用于验证某人是否知晓某计算机系统的密码,而无需透露该密码的具体内容。

零知识证明一个突出的现实用例体现在加密货币和区块链技术领域。依托一种名为“简明非交互式零知识”(zk-SNARK)的证明,Zcash等聚焦隐私性的加密货币可向其用户提供更私密的区块链交易。自2017年Byzantium升级以来,以太坊也在使用zk-SNARK证明。