有两种流行的零知识 (zk) 证明类型,有时也称为 zk 协议 – SNARK 和 STARK。零知识证明是一种密码验证方法,一方(证明者)可以向另一方(验证者)证明给定的陈述是真实的,除了该陈述确实是事实之外,不需要提供任何支持信息true。
zk-STARK 代表“零知识可扩展透明知识论证”。 ” zk-STARK 是由以色列理工学院教授 Eli-Ben Sasson 构思的。与依赖于证明者和验证者之间的初始可信设置的 zk-SNARK 不同,zk-STARK 不需要初始可信设置,因为它们依赖于通过抗冲突哈希函数实现的更精简的加密技术。这种方法还消除了 zk-SNARK 的数论假设,这些假设的计算成本很高,而且理论上很容易受到量子计算机的攻击。
简单来说,zk-STARK 证明在密码学假设方面呈现出更直接的结构。然而,这有一个显着的缺点:它们的证明大小很大,通常比 zk-SNARK 大 10 到 100 倍。数据大小的这种差异使得它们更加昂贵,并且在利用该技术通过网络发送加密货币和其他应用程序时可能会受到限制。
零知识证明的常见用例是隐私和安全都至关重要的地方。一个例子是身份认证。使用某些在线服务需要证明您的身份和访问这些平台的权利。这通常需要提供个人信息,例如姓名、电子邮件、出生日期等。
零知识证明可以简化平台和用户的身份验证。一旦使用公共输入(确认用户平台成员身份的数据)和私有输入(用户的详细信息)生成了 zk 证明,用户可以在任何时候简单地出示它来验证自己的身份。需要访问该服务。这改善了用户体验,并使组织免于存储大量个人信息的责任。