AppliedZKP公开了zkEVM的设计思路。zkEVM采用数据总线(Bus Mapping)的思路,将存储和计算分开。在Bus Mapping抽取了正确的存储数据的基础上,State proof证明数据的一致性,EVM proof证明计算逻辑的正确性。
理解Halo2,可以从两部分着手:1/ 电路构建 2/ 证明系统
我们带来了 circom-batch-ECDSA,一个基于circom-ECDSA(由0xPARC 社区中其他人之前完成的工作)之上的概念验证实现,其灵感来自halo2-batch-ECDSA,它允许在单个 SNARK 中显著更快地验证一批 ECDSA 签名。
本文介绍了抽象代数中的基本概念,如群、半群和 Monoid ,并解释了它们在零知识证明中的应用。
这篇文章将详细讲解EVM Circuit各个Column的设计,每种Opcode如何约束以及多个Opcode之间是如何约束以及组合。
本文档是一个关于 zkVM(零知识虚拟机)的精选列表,zkVM 是一种允许在不泄露隐私数据的前提下进行计算的技术。该列表包含 zkVM 项目、技术细节、性能基准、相关论文、资源、教程和工具,旨在为开发者、研究人员和对零知识证明技术感兴趣的受众提供有价值的参考。
随着ZKP的应用越来越多,零知识证明的证明隐私代理也变的越来越重要。在一些场景下,本地证明的生成时间比较长,如何既保证数据的隐私同时实现快速的证明外包是一个很有意义的话题。在zkSummit7的这个演讲给出一个方案:在PIOP+多项式承诺的零知识证明方案中,可以结合MPC实现证明隐私代理。
如果每个用户都可以验证自己部分的资产是否有财务作假行为,那么只要验证的用户足够多,那么一个组织想要去做财务欺诈难度就会非常高。
本文深入探讨了FRI(快速Reed-Solomon交互式Oracle证明)协议,该协议用于证明某个函数接近于低阶多项式,这在构建STARKs等证明系统中非常有用。文章详细解释了FRI协议的原理、实现过程,包括多项式的随机折叠、使用Merkle树进行承诺,以及验证过程,并讨论了该协议的安全性依赖于有限域的大小、哈希函数的安全性以及查询的数量。
本文深入探讨了STARKs中约束的概念,并通过Lambdaworks库,以Cairo的非确定性连续只读内存的约束实现为例,详细解释了如何使用多项式来总结trace values之间的高度复杂关系。文章详细介绍了连续只读内存的定义,以及如何通过引入排序和辅助列,将验证内存属性简化为验证连续性约束、单值约束和排列约束。
介绍 SNARK 及证明媒介
该文档介绍了micro-zk-proofs库,一个用于并行创建和验证零知识SNARK证明的工具,它支持Groth16协议,并计划支持PLONK等。
powersoftau,采用MPC以及随机Beacon,完成可信设置。通过POK算法实现可验证的密钥对,并建立和上一个参与方计算结果的绑定。参与可信设置的人数可扩展,并且参与方只需要按照顺序一个个的进行指定的计算即可。协调方在接收到某个参与方的计算后,验证后,发送给下一个参与方。
PLONK算法的电路采用新的描述模型。整个电路由门电路约束和Copy约束(连线约束)组成。门电路约束和Copy约束都转换为多项式表达。Copy约束通过累加算法实现。
本文深入探讨了Signal应用使用Ristretto哈希和零知识证明的隐私保护机制,介绍了Ristretto哈希的实现原理及其在用户名生成中的应用。通过对源码的分析,本文展示了如何保护用户隐私,并确保服务器无法推导用户的真实用户名。