不同证明方案的比较:理解 ZK 证明系统的优缺点

Hill.bit
2023-05-17 10:17:34
收藏
在零知识证明系统中,有三个实体参与:设置者、证明者和验证者。

作者:Hill.bit

编译:深潮 TechFlow

 

零知识证明的概念大家耳熟能详,但具体到技术细节可能很多人都一头雾水。

零知识和证明实际上是2个名词,证明方案是零知识协议安全假设的基本组成部分。 在本文中 Hill.bit 将通过解释多种不同的证明方案以及它们的优缺点,来帮助更多人理解 ZK 证明系统。

在零知识证明系统中,有三个实体参与:设置者、证明者和验证者。不同的证明方案会以各种方式影响它们的行为,从而影响效率、安全性和整个系统的性能。

设置者阶段生成 ZK 系统所需的必要参数和公钥。证明方案会影响设置者阶段的复杂度、计算、通信以及它是受信任的还是无需信任的。证明者生成一个证明,证明其掌握了一个秘密输入的信息,而无需透露该信息。证明方案影响证明者的计算时间、内存需求和证明大小,从而影响通信和存储需求。验证者检查证明的有效性。证明方案会影响验证时间、内存需求以及向证明请求的数量和复杂度。 这里有三种不同类型的证明方案。

线性 PCPs + 仅线性编码:

  • 利用线性概率可检验证明(PCPs)和线性运算;

  • 提供强零知识属性;

  • 生成最短的证明;

  • 需要受信任的设置;

  • 以前的改进主要集中在减少证明者时间上。

线性 PCPs 是一种证明系统,其中验证者通过查询少量证明来检查语句的有效性。术语“线性”指验证者的查询是证明的线性函数。

仅线性编码是一种加密技术,用于隐藏信息,仅允许对隐藏数据进行线性操作。这可以确保数据隐私同时使某些计算得以执行。

多项式 IOPs + 多项式承诺方案:

  • 利用代数结构;

  • 通常比基于线性 PCP 的系统更高效;

  • 支持通用/不受信任的设置;

  • 允许定制电路;

  • 以前的改进主要集中在提高验证者效率上。

多项式交互式预言机证明(IOPs)是一种证明系统,其中证明者和验证者在多个回合中交换消息。证明者生成预言(对多项式的承诺)并将其提供给验证者。

验证者在特定点查询预言机,而证明者以相应的多项式评估响应。多项式方案承诺多项式而不透露有关多项式本身的信息。

与线性 PCPs + 仅线性编码相比的效率提高来自于:

  • 更好地利用代数结构;

  • 更高效的证明生成/验证;

  • 压缩多项式表示;

  • 批处理验证技术

然而,多项式 IOPs + 多项式承诺方案存在以下缺点:

  • 更复杂的设计和实现;

  • 特定目的的加密假设;

  • 不同的性能权衡,例如可并行性。

折迭方案:

  • 允许递归证明组合;

  • 实现嵌套证明以提高效率和可扩展性;

  • 快速且易于并行化的证明者;

  • 之前的改进主要集中在构建递归 SNARKs 上。

递归证明组合可以降低验证者的计算和内存需求,这在像区块链这样的应用中特别有用。证明聚合可以减小最终证明的大小和验证时间,但生成这样的证明可能对证明者的计算要求更高。 与多项式 IOPs + 多项式承诺方案相比,折迭方案的效率提高来自于:

  • 递归证明组合;

  • 证明聚合;

  • 改进的可扩展性;

  • 更快的验证时间。

折迭方案的潜在缺点包括:

  • 更复杂的设计和实现;

  • 定制化的加密假设;

  • 增加证明者的计算时间和内存开销;

  • 适用性可能因用例而异 。

总之,线性 PCPs + 仅线性编码提供强大的零知识属性和最短的证明长度,但它们需要受信任的设置,并且与其他类别相比在效率上具有局限性。多项式 IOPs + 多项式承诺方案通过更高效的证明生成和验证过程,在效率上比线性 PCPs + 仅线性编码有显著改进,但设计和实现可能更为复杂。

折迭方案在效率和可伸缩性方面表现出色,得益于递归证明组合,这在区块链应用中尤其有用。但是,证明者的计算时间和内存开销可能会增加,并且其适用性可能因使用情况而异。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击“举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界