速览a16z推出的基于SNARK的零知识证明新工具Lasso和Jolt’ 可以翻译为: ‘A quick look at a16z’s new SNARK-based zero-knowledge proof tools Lasso and Jolt

'A quick look at a16z's new SNARK-based zero-knowledge proof tools Lasso and Jolt'

a16z Crypto推出Lasso和Jolt:加速Web3的扩展和应用构建

综编:Felix, LianGuaiNews

a16z Crypto最近推出了两项与SNARK(Succinct Non-interactive Argument of Knowledge)相关的技术:Lasso和Jolt。这些新技术可以显著提高Web3中的扩展能力和应用程序构建速度,代表了一种全新的SNARK设计方法,可以将广泛部署的工具链的性能提高一个数量级甚至更多级。同时,Lasso和Jolt还能提供更好、更方便的开发者体验,并使审计变得更加容易。这两项技术解决了性能、开发人员体验和可审核性三个关键问题。

更快的性能

Lasso是一种新的查找参数,可以显著提高SNARK证明者的速度。与之前的工作相比,Lasso能够减少并优化证明者承诺的值,从而提高整体性能。根据a16z Crypto的研究团队的表示,与诸如Halo2工具链等其他工具相比,Lasso的性能提高了十倍。预计优化完成后,性能将提高约40倍。因此,该团队认为Lasso的证明者技术将超过主要以太坊Layer 2扩展解决方案所采用的所有现有零知识SNARK证明者技术。

Jolt是一个专为与以太坊虚拟机兼容的Rollups设计的框架。它实现了以太坊基金会的Barry Whitehat最初提出的“查找奇点(lookup singularity)”愿景,旨在实现更简单的工具和轻量级的、以查找为中心的电路。相对于现有的zkVM(零知识虚拟机),团队期望Jolt能够实现类似或更好的性能,而且重要的是,能够提供更加简化和易于访问的开发人员体验。

更便捷的开发者体验

Lasso为实现zkVM提供了一条更加友好和可审核的开发路径。与以往的SNARK设计方法相比,Lasso大大简化了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递归实现高效的链上证明验证

以上这些任务将进一步推动Lasso和Jolt的发展,以实现更快速、更便捷、更安全的Web3应用程序构建。

参考资料:The Block,a16z Crypto 相关阅读:零知识证明| 什么是ZK-STARK以及有哪些技术优势?