本文介绍了 Circle STARKs,它通过利用具有最快有限域算术的梅森素数,展示了卓越的性能。Circle STARKs 通过移动到圆群来解决梅森素数上定义的字段的非平滑结构,并密切遵循其经典的 STARKs 类似物,虽然有一些细微之处,但幸运的是,大多数细微之处都对开发人员隐藏了,Circle STARKs 以及高效的查找可以帮助提高通用 ZKVM 的性能。
该团队在两周内用五名新员工完成了以太坊虚拟机(EVM)75%的功能,并通过最先进的编译器后端将 VM 操作码逻辑编译为本地机器代码。他们创建了 EVM-MLIR 项目,旨在提供比 revm 更快的替代方案,并计划将其集成到新的以太坊执行客户端 ethrex 中,以提高性能并增加实现的多样性。基准测试显示,在运行阶乘和斐波那契程序时,吞吐量比 revm 高 300% 到 600%。
本文介绍了零知识证明(ZKP)在Web3中的应用,以及在以太坊上验证ZKP的挑战和高成本。Aligned Layer通过构建去中心化的验证器网络,利用EigenLayer,旨在提供快速且经济高效的证明验证服务,支持多种证明系统,从而降低ZKP的使用门槛,加速其在各种应用中的普及,并与以太坊协同创新。
本文介绍了零知识证明(SNARKs/STARKs)中的证明聚合技术,用于将多个证明合并为一个,以减少验证时间和证明大小的开销。讨论了包括证明递归、曲线循环、折叠方案、SNARKPack和Continuations等多种技术,并分析了它们在Prover时间、验证时间和证明大小方面的权衡,同时提到了像Starknet、Polygon ZKEVM、zkSync等实际应用案例。
CairoVM 性能分析与优化,通过lambda works-felt功能,使用来自密码库LambdaWorks的Felt实现替换了原有的BigInt实现。在多线程环境中,由于缓存未命中导致性能下降。通过重新设计MemoryCell结构,优化了内存布局,减少了缓存未命中,显著提高了多核系统上的虚拟机扩展性,但在ARM架构上,这种优化对执行性能没有明显影响。
本文介绍了基于平方跨度程序的简单SNARK的实现,并对协议的工作原理以及为什么需要不同的检查来实现安全性进行了直观的解释。本文还介绍了如何使用lambdaworks来实现零知识证明(ZKP)的基本构建块,包括有限域、椭圆曲线、哈希函数、签名、公钥加密和对称密钥加密方案等。
本文回顾了自 20 世纪 80 年代中期以来 SNARKs 的发展历程,重点介绍了零知识证明领域的一些关键概念与技术,如zk-SNARKs、sumcheck协议、GKR协议、KZG多项式承诺方案以及Pinocchio、Groth16、Bulletproofs、Plonk、STARKs等多种SNARKs方案,并分析了它们在性能、安全性及应用方面的特点与优势,并展望了未来发展方向,例如新型多项式承诺方案和可定制约束系统。
本文介绍了lambdaworks库中的一种多项式承诺方案Basefold,它是FRI承诺方案的推广。Basefold适用于多线性多项式,且与所使用的域无关。文章详细解释了Basefold的工作原理,包括其基于可折叠线性码的构造方式,以及如何结合sumcheck协议和邻近性测试来构建评估协议。
本文介绍了Mina与以太坊之间的桥梁,该桥梁旨在实现无缝的跨链交易,并使以太坊上的dApp能够利用Mina的zk能力。文章概述了Kimchi(Mina的证明系统)、Pickles(一种支持增量可验证计算的协议)以及KZG承诺的工作原理,并讨论了与外域运算相关的一些挑战。
lambdaworks 是一个用 Rust 编写的密码学库,旨在提供高性能和开发者友好的密码学原语,用于构建零知识证明系统。该项目在过去一年中取得了显著进展,包括合并了 464 个 PR、拥有 60 位贡献者、发布了 8 个版本,并包含 49k 行 Rust 代码。未来计划包括集成到其他证明器、改进文档、支持 GPU 加速以及添加新的多项式承诺方案和证明系统。