速览a16z推出的基于SNARK的零知识证明新工具Lasso和Jolt
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递归实现高效的链上证明验证
Scan QR code with WeChat