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)和约束。
本文介绍了STARKs及其在以太坊扩展中的应用,并深入探讨了STARK prover的特性和实现中的一些权衡。文章分析了Miden和Cairo虚拟机如何处理它们的执行轨迹以及AIR的描述,讨论了主要类型的约束以及在执行轨迹上强制执行这些约束的方法,并对虚拟列、芯片和内建函数的不同设计方案进行了对比分析,总结了各种方案的优缺点。
本文是关于Binius证明系统的第二部分,重点介绍了连接码(允许扩展小字段的多项式承诺方案)和用于检查多元多项式上语句的不同协议。Binius中几乎所有的协议都归结为sumcheck协议,并提出使用Plonkish算术化,与HyperPlonk的主要区别在于trace包含属于不同子域的元素,因此门约束将表达不同子域的关系。