a16z Crypto最新发布zkVM解决方案Jolt会带来哪些改变?

作者:Frank,PANews

4月10日,a16z Crypto发布了名为Jolt的zkEVM解决方案,旨在加速和简化区块链扩展操作。 Jolt整合了SNARK零知识证明,为EVM相容Rollups提供了框架,可以帮助开发人员创建基於SNARK的L2解决方案。团队表示,与目前的zkVM相比,Jolt的速度「快了两倍」。

由於Jolt的技术原理较为复杂,以下是关於可能涉及的几个技术名词关系的简单解释:

zkSNARK是一种强大的零知识证明原语,是建构zkVM和zkEVM的基础

zkVM是一个通用的零知识虚拟机器概念,支援任意指令集

zkEVM是zkVM的一个特例,专门用於相容EVM

ZK Rollup采用zkVM或zkEVM来提升以太坊的可扩展性,同时兼顾隐私性

Jolt是什麽?

Jolt 是一种新型的SNARK的解决方案,提供了一种更简洁,高效的方案来建构zkVM(零知识虚拟机)。实际上,早在2023年8月,a16z crypto就已经提出了名为Lasso和Jolt相关概念。在SNARK技术存在又慢又高昂的成本的背景下,这两项技术被提出。

其中Lasso,是一种新的查找参数,可以显着降低证明者成本;Jolt,使用Lasso 提供了一个新的框架,用於为所谓的zkVM 和更广泛的前端设计SNARK。它们共同提高了SNARK 设计的效能、开发人员体验和可审核性,进而提高了web3 中的建置。从而提升零知识证明在区块链领域的使用。

在理解Jolt之前,或许需要先了解zkVM和zkEVM。

zkVM是一个通用的概念,指零知识虚拟机器。与zkEVM类似,zkVM允许用高级语言如C++或Rust编写程序,然後虚拟机把程序编译成某种中间表示(如电路或算术约束),再用zkSNARK等证明系统对中间表示的执行过程进行证明。相较於zkEVM,zkVM不限於相容EVM,而是支援任意指令集。 Jolt就是针对RISC-V指令集的高效能zkVM实作。

我们可以将zkVM视为一个特殊的“黑盒子”,它可以在保护隐私的前提下,向外界证明自己确实按照预定的程序执行了计算。但传统的zkVM在产生这个证明的过程中需要进行大量繁琐的计算,导致效能非常低。

Jolt的核心创新是找到了更有效率的数学方法,来产生这个证明:

首先,Jolt巧妙地将待证明的计算转化为一种特殊的多项式,我们姑且称之为「计算多项式」。这个多项式的特点是,只有当黑盒子确实正确执行了计算,它的值才会等於零。

为了证明「计算多项式」的值等於零,Jolt使用了一种称为「sumcheck」的互动式协定。这个协议可以在较短的时间内,让验证者确信多项式值为零,而不需要实际计算整个多项式。这有点类似老师只检查学生的几题,就能判断整份考卷是否正确。

Jolt的技术优势

关於Jolt的技术原理非常复杂,简单来说。在区块链网路的发展过程中,zkVM是一种在提升区块链网路拓展性的关键技术,能够在保障隐私的情况下提供有效的证明。 Vitalik在最近的香港Web3嘉年华的主题演讲中,就围绕着zkSNARK技术进行了详细的论述。 Vitalik表示:“寻找ZKSNARKS在隐私方面非常有用,在可扩展性方面也非常有用。”

但证明产生的速度和计算开销一直是zkSNARK技术实用化的一大挑战,也是近年来学术界和业界重点攻关的方向。传统的zkSNARK方案,如Pinocchio和Groth16,在证明较为复杂的运算逻辑时,证明产生的时间可能会长达几个小时甚至几天,而且需要消耗大量的记忆体和储存资源。这种效能瓶颈严重限制了zkSNARK在许多实际场景下的应用。

而如果想要让区块链实现大规模应用,达到即时验证的效果。提升zkSNARK的效能是非常关键的一步。

具体来说,zkSNARK的证明产生过程涉及复杂的密码学演算法,如椭圆曲线配对、多项式插值等,这些操作对计算资源的消耗非常大。尤其是当被证明的计算电路规模较大时,证明产生的计算复杂度会呈指数级上升。

根据a16z Crypto表示,在CPU 上,初始Jolt 实现大约比RISC Zero 快6 倍,比最近发布的SP1 快2 倍,并且未来几周内将Jolt 的速度提高约1.5 倍。

Jolt目前的速度已经比现有的zkVM快2倍以上,但仍有很大的最佳化空间。

Jolt也巧妙地利用多项式的某些代数性质,实现了更有效率的多项式承诺方案。这进一步减少了证明的大小和验证的时间。

Jolt可能带来的变化

从工程角度来说,Jolt采用了一系列最佳化手段,例如更紧凑的电路设计、更有效率的管线、更充分的平行化等等,最大限度地挖掘硬体的算力。

假设你是Web3开发者,想要在以太坊上部署一款链上扑克游戏。这个游戏需要在链上洗牌、发牌、比较牌面大小等,每个操作都需要透过zkVM电路来实现隐私保护和可验证性。

如果你使用现有的zkVM方案如ZoKrates或bellman,建构这样一个电路可能需要几个小时甚至几天的时间。因为目前的zkVM性能还较为低下,产生复杂电路的零知识证明需要大量的计算资源和时间开销。这意味着开发和测试周期会非常漫长。

而如果你使用Jolt来建构同样的电路,情况会发生显着变化。根据Jolt团队的测试,目前的Jolt实现产生证明的速度已经比主流的zkVM方案快2-5倍。这意味着,如果原来产生证明需要10个小时,现在可能只需要2-5个小时。

总的来说,Jolt所带来的2-5倍效能提升,意味着zkVM技术的可用性和易用性得到了大幅改善。这将显着降低Web3开发者的门槛,缩短应用程式的开发周期,同时为终端用户带来更好的使用体验。从更长远来看,Jolt有望加速zkVM技术的大规模应用,让更多的隐私保护和可验证运算能力惠及每一个Web3用户。

当然,Jolt目前还处於发展的早期阶段,2-5倍的效能提升只是一个开始。随着Jolt技术的不断迭代优化,zkVM的效能将得到进一步的突破,最终为实现Web3的大规模应用铺路。

Leave a Reply

Your email address will not be published. Required fields are marked *