a16z推出零知识证明新工具Lasso和Jolt:提升SNARK性能与开发体验
时间:2023-08-14 来源:区块链网络 作者:区块律动BlockBeat
原文来源:Felix, PANews a16z Crypto 推出了两项与 SNARK 相关的技术:Lasso 和 Jolt。其中 Lasso 是一种新的查找参数,可以显著提高证明者成本;Jolt(Just One Lookup Table)是一个专为与以太坊虚拟机兼容的 Rollups 设计的框架,一种利用 Lasso 构建 SNARK VM 的新颖方法。Lasso 和 Jolt 可以显著加快 Web3 中的扩展和构建应用程序,它们共同代表了一种全新的 SNARK 设计方法,可将广泛部署的工具链的性能提高一个数量级甚至更多级。此外提供了更好、更方便的开发者体验,并使审计变得更加容易。Lasso 和 Jolt 解决了三个关键问题:性能、开发人员体验和可审核性。 更快的性能 Lasso 是一种新的查找参数,其中证明者承诺比以前的工作更少且更小的值。a16z crypto 的研究团队表示,Lasso 可以显著提高 SNARK 证明者的整体速度,与Halo2 工具链等工具相比,性能提高十倍,从而有助于开发更快的 ZK-rollups。预计优化完成后性能将提高约 40 倍。因此,该团队认为 Lasso 的证明者技术将超过主要以太坊 L2 扩展解决方案所采用的所有现有零知识 SNARK 证明者技术。 Jolt 实现了「查找奇点(lookup singularity)」——这是以太坊基金会的 Barry Whitehat 最初提出的愿景,旨在实现更简单的工具和轻量级、以查找为中心的电路。相对于现有的 zkVM,团队期望 Jolt 能够实现类似或更好的性能,而且重要的是,能够提供更加简化和易于访问的开发人员体验。 更便捷的开发者体验 与现有方法相比,Lasso 为实现 zkVM 提供了一条对开发人员更加友好且可审核的路径。 先前的 SNARK 设计方法将 CPU 指令制定为电路并进行手动优化——这是一项低级且易出现错误的任务,需要特定领域语言的专业知识。相比之下,不同语言生态系统的开发人员应该能够相对轻松地使用 Lasso。 这是因为在 Lasso 中,一条指令是通过其子表分解来定义的:它的「大」查找表可以由一些较小的「子表」组成。更重要的是,这样的分解可以用高级编程语言简洁地描述。例如,一条指令只需 50 行 Rust 即可实现。此外,不同指令集中的许多指令在概念上是相同的,大量代码允许重复——例如,WASM、EVM 和 RISC-V 都指定相同的基本算术、按位和比较操作。 更容易审核 Lasso 简化开发人员体验的方式也使其比以前的方法更容易审核。zkVM 的可审计性尤其有价值,因为如今许多 SNARK 已经在区块链上获得了巨大的价值。由于 Lasso 在 Rust 中实现指令逻辑,并鼓励跨指令集的代码重复,因此它将要审计的区域集中到相对较小且可读的代码库中。 目前,除了完全实现 Jolt 所需的工作之外,还有许多任务正在进行中或等待其他开发人员完成,包括: - 实现/集成不同的多项式承诺方案,例如KZG的 Multilinear Variants(PST、Zeromorph等)、Dory、Ligero、Brakedown和 Sona - 实现 Quarks 论文第六节中描述的产品参数优化 -更广泛的基准测试和错误处理 - 利用 SNARK 递归实现高效的链上证明验证 参考资料:The Block,a16z Crypto 相关阅读:零知识证明| 什么是 ZK-STARK 以及有哪些技术优势? 来源链接 A16z Crypto zk-SNARK a16z Lasso Jolt 行业洞察 从现象看到本质,寻求加密真相 |