本文介绍了零知识证明(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 加速以及添加新的多项式承诺方案和证明系统。
本文提出了一种新型的跨链桥设计方案,旨在解决现有桥梁的安全性和经济效率问题。该方案利用多重存储证明和以太坊与Layer 2网络之间的原生消息传递系统作为后备机制,简化了桥的设计,提高了模块化程度,并降低了用户资金损失的风险。该设计已在Starknet和以太坊之间实现,并计划扩展到其他L2网络。
本文介绍了Lambdaworks STARK Platinum prover为支持Starknet Stone prover所做出的改进,特别是关于如何更灵活地定义和测试代数中间表示(AIR)和约束。