首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"Pinocchio zk-SNARK“是zk-SNARK的一种特殊类型吗?

"Pinocchio zk-SNARK“是zk-SNARK的一种特殊类型吗?
EN

Ethereum用户
提问于 2018-08-29 14:45:44
回答 2查看 444关注 0票数 4

"Pinocchio zk-SNARK“是"zk-SNARK”的一种特殊类型吗?如果是的话,有什么区别?

EN

回答 2

Ethereum用户

发布于 2020-05-16 20:28:58

皮诺奇( Pinocchio )是在不借助概率检验证明(PCP)的情况下早期实现SNARK (简洁、非交互式知识论证)的方法之一。2010年,Groth在公共引用字符串(CRS)模型中构造了一个非交互式零知识(NIZK)参数。有趣的是,他的论点并没有使用PCPs。2011年,Lipmaa将CRS的尺寸缩减为准线性,但验证器的计算仍然是二次的.Rosario Gennaro,Craig Gentry,Bryan Parno和Mariana Raykova (GGPR)发明了一种新的NP复杂性类的特征,称为二次跨度程序(QSP)。这有助于构建NP语句的简洁论点,这些语句能够快速构建和验证,比概率校验证明(PCP)好得多。

在Pinocchio中,客户端创建一个公共评估键来描述她的计算;此设置与计算一次的评估成正比。然后,工作人员对特定输入的计算进行评估,并使用评估键生成正确性的证明。无论所执行的计算或输入和输出的大小如何,证明都是常数大小。任何人都可以使用公开的验证密钥来检查证据。Pinocchio通过改进探地雷达的二次算法程序,获得了较强的渐近效率。

Pinocchio最初被认为是一种高效的公共可验证计算(PVC)方案。然而,它推广到零知识证明,在基本协议上的成本可以忽略不计。因此,皮诺奇的工具链成为了斯纳克体系结构的参考。Pinocchio采用了一个高级C程序,一直到一组分布式可执行程序,这些可执行文件以一种经过验证的方式运行该程序。它既支持算术电路,又支持二次算术程序,布尔电路支持二次扩展程序。

票数 3
EN

Ethereum用户

发布于 2019-05-30 11:18:41

是的,Pinocchio是一种实用的zk-SNARK,它允许验证程序执行加密可验证的计算,其验证工作可能少于执行计算本身。最近的一个提案展示了如何使Pinocchio具有适应性(或“散列和证明”),即能够对独立于计算的承诺进行证明。这使得能够在作出承诺后选择计算,并使不同计算之间以灵活的方式共享数据。不幸的是,这个提议并不是零知识。在一般情况下,它不能与亭诺奇系统相结合,在这种系统中,皮诺奇被外包给三名由于多方计算(MPC)而不了解输入的工人。

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/57685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档