风险提示:防范以"虚拟货币""区块链"名义进行非法集资的风险 —银保监会等五部门

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

原文作者:Hill.bit 

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

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

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

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

线性 PCPs + 仅线性编码:

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

提供强零知识属性;

生成最短的证明;

需要受信任的设置;

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

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

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

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

利用代数结构;

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

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

允许定制电路;

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

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

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

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

更好地利用代数结构;

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

压缩多项式表示;

批处理验证技术

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

更复杂的设计和实现;

特定目的的加密假设;

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

折迭方案:

允许递归证明组合;

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

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

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

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

递归证明组合;

证明聚合;

改进的可扩展性;

更快的验证时间。

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

更复杂的设计和实现;

定制化的加密假设;

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

适用性可能因用例而异 。

总之,线性 PCPs + 仅线性编码提供强大的零知识属性和最短的证明长度,但它们需要受信任的设置,并且与其他类别相比在效率上具有局限性。

多项式 IOPs + 多项式承诺方案通过更高效的证明生成和验证过程,在效率上比线性 PCPs + 仅线性编码有显著改进,但设计和实现可能更为复杂。

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

如有疑问联系邮箱:kotori825025560@gmail.com
*本文转载自网络转载,版权归原作者所有。本站只是转载分享,不代表赞同其中观点。请自行判断风险,本文不构成投资建议。*