解读 a16z 发布的 SNARK 工具 Lasso 和 Jolt

最近在看一些海外加密基金对 Crypto 生态的拓展和创新。今天就来看看本月 A16Z Crypto 新推出的两个 SNARK 工具。尽量只聊什么东西可以解决什么问题。

谈到 SNARK 那就先聊一聊 zkSNARKs 吧,实际上今天聊的话题中这是两个不同的方面。

既然从 zkSNARKs 开始聊起,零知识的基本原理证明就不再赘述,这项技术具有完备性,正确性和零知识性三个特点,可以实现即证明了结论又不需要透露任何细节。同时,在同态加密的背景下,验证难度要远远低于生成证明难度。

我们之前在聊 Layer2 的时候其实提到过 ZK,比如 Zk-Rollup,作为一种有效证明机制为以太坊的扩容提出了新的方案。之前大家忙着撸空投做交互的 zkSync,其核心即使用 ZK 将多个操作包到一个证明里,在链下完成大多数计算工作。

zkSNARKs——零知识证明应用最广泛的技术

zk-SNARK,即“Zero-Knowledge Succinct Non-Interactive Argument of Knowledge”,即零知识简明非交互式知识证明。特性是

①证明某个陈述为真但不揭露任何其他信息;
②证明大小很小且易于验证;
③无交互。

实际上,这两种 ZKP 的主要类型:交互式 ZKP 和非交互式 ZKP 都是证明者(prover)和验证者(verifier)之间进行的过程,只是证明的交互流程不同。

以 Schnorr 协议为例,交互式需要 verifier 生成一个随机数,而非交互式中则不需要这样的角色,prover 可以自行生成证明给所有人验证。

zkSNARKs 的大概原理

zkSNARKs 是基于 NP 问题的,而 NP 问题属于在多项式时间内不可解,但给定一个解,可以在多项式时间内进行验证是否正确。zkSNARKs 就依托于某种 NP 问题,难以求解但可以快速验证。

把这个问题换个形式,进行 QAP 二次算术程序转化,同时会构建一个对应于代码输入的解“QAP 的 Witness”,再基于此解构建一个实际的零知识证明系统。

“一流 VC ”搞开发:a16z crypto 的两个 SNARK 工具

终于来到我们今天的话题了,也就是 8 月 10 号 a16z crypto 推出的两个 SNARK 工具——Lasso 和 Jolt。

尤其是现在的应用是 Layer2 进行汇总,并向 Layer1 证明 Layer2 知道授权一系列交易的数字签名。这样就可以实现签名本身并不需要由 Layer1 进行存储和验证,也就更有利于扩容。

SNARK 背景

由于许多区块链节点验证并记录每笔交易,因此在区块链上运行计算非常昂贵。为了避免更高的交易成本,开发人员通常会执行最低限度的链上计算来启用他们的应用程序。

SNARK 在扩展区块链方面就发挥着核心作用:使应用程序能够在链下创建昂贵的计算收据,并且只承担在链上验证收据的成本。

其中的“简洁”意味着这些收据很短。与重新计算每笔交易相比,可以用更少的工作量进行验证。

问题

但实际上,SNARK 的计算成本也很高,而且难以审计。验证者需要被迫承担高度并行化的额外工作。

性能更高的 SNARK 可以加速 Layer2,也可以允许构建者解锁尚未设想的应用程序。

所以 A16Z Crypto 引入了两种新的技术:

①Lasso,一种新的查找参数,可以显着降低证明者成本;
②Jolt,使用 Lasso 技术,为 zkVM 和更普遍的前端设计提供了一个设计 SNARK 的新框架。

这两个工具共同提高了 SNARK 设计的性能、开发人员体验和可审计性,加快促近了 Web3 中的生态构建。

目前对 Lasso 的初始实现,已经证明:其比流行的 SNARK 工具链  halo2 中的查找参数加速了超过 10 倍。根据 A16Z Crypto 预计,当 Lasso 代码库完全优化时,速度会提高约 40 倍,同时 Jolt 在 Lasso 之上也会包含额外的创新。

查找参数(lookup argument)

查找参数(lookup argument)是 SNARK 设计中的一个关键工具,该协议允许不受信任的证明者以加密方式提交到大型向量,然后证明向量的每个条目都包含在某个预定表中。

查找参数可以通过有效地处理不是通过少量加法和乘法自然计算的运算来帮助保持电路较小。

而电路,实际上是一种极其有限的计算模型。SNARK 前端就是将计算机程序转换为可由 SNARK 后端摄取的电路的编译器。

SNARK 后端让验证者对电路中每个门的值进行加密承诺。然后,证明者要证明:其所提交的值,确实可以对应于验证者检查程序的正确执行。

但这样耗费人力物力,还经常有安全漏洞。Lasso 和 Jolt 就是来解决这三个问题的:性能、开发人员体验和可审计性。

而 Jolt(Just One Lookup Table),是一种基于 Lasso 的 zkVM (零知识虚拟机)设计的新方法。作为一个新的前端,可以实现基于 Lasso 使用巨型查找表的功能。

这就是二者所能实现的功能。

简而言之:

Lasso 引入了一种简化的 zkVM 方法,通过对大量结构化表执行查找来避免繁琐的手动优化电路,浪费更少;

基于 Jolt 的虚拟机简单、快速且易于审核。

来源:TinTinLand,本站:/zixun/723.html

生成海报
收藏
考拉

考拉

还没有填写个人资料!会员中心-修改资料-个人介绍填写!

相关推荐

a16z:AI将创造哪些新的游戏玩法

关于游戏领域的生成式AI革命的早期讨论主要集中在AI工具如何使游戏创建者更加高效——使游戏创建能够比以前更快、规模更大。尽管如此,我们认为从长远来看最大的机 ...

a16z:我们为什么投资 Sound.xyz ?

当社交和音乐平台在21世纪初开始兴起时,许多音乐家看到了全球分销网络的巨大潜力,可以展示他们的艺术才华,并与粉丝建立联系。不幸的是,随着这些平台巩固了更多的权力和影响力,它 ...

zk-SNARK的构建及案例

ZK 技术近两年在 Web3 领域备受关注。从 Rollup 开始,越来越多不同赛道的项目都开始尝试使用 ZK 技术。在这之中,SNARK 和 STARK 是大家最常听到的两个名词,为了后期更好地理解 ...

0 条评论

微信扫一扫,分享到朋友圈

QQ QQ

QQ:10000(点击咨询) 直奔主题,别问在不在,谢谢!

热线 热线

13888888888

微信 微信
微信
公众号 公众号
公众号