a16z:理解Jolt zkVM 相关思考和澄清

时间:2024-09-30 编辑: 浏览:(694)

作者:Justin Thaler,a16z研究合伙人;翻译:xiaozou

自去年夏天的主题论文和Lasso部署开始,到上个月的完全开源的Jolt实现的发布,我们一直都在致力于Lasso+Jolt(我们的全新简便的高性能lookup argument和zkVM)技术的研究并取得稳步进展。

与现有技术相比,这一实现显示了Jolt的光明前景,并对SNARK设计中的许多传统智慧发起挑战。自发布以来,我们陆续进行更新,增加了对Rust标准库的支持,整合了来自10多名贡献者的改进,合并了近50个pull请求,并且改进了代码库的模块化性能和可扩展性。

在我们继续增强Jolt的同时,我想回应外界的质疑和困惑,澄清误解,分享我对一些关键问题的看法。我在本文要探讨的四部分内容是:(1)sum-check协议与Binius承诺方案之间的关系,(2)sum-check和lookups在Jolt中的作用,(3)椭圆曲线与哈希,(4)与zkVM相关的预编译。

1、Sum-check协议与Binius承诺方案

Commitment schemes通常被视为SNARK的关键组成部分。但还需注意另一个组件的作用也很重要,那就是多项式IOP。例如,多线性多项式的Binius承诺方案是一个重大进步,但它必须与多项式交互式oracle证明(polynomial interactive oracle proof,PIOP)配对,才能证明所提交的数据实际上验证了证明者的声明。

Binius的承诺与使用sum-check协议的PIOP高度兼容。原因很清楚(sum-check依赖于多线性多项式,而不是单变量多项式;FRI-Binius甚至在内部使用sum-check),也很微妙(sum-check PIOP天然地跨任何特征字段运行,这对于充分利用Binius的新性能至关重要)。Binius的承诺与目前最常见的PIOP不兼容,很遗憾,这些PIOP不使用sum-check。

设计一个快速的PIOP需要更多的洞察力,而不仅仅是“应用sum-check”这一句话而已。Binius使用sum-check协议来实现高效的多项式IOP。Binius论文的第4和第5部分致力于设计新的高效的基于sum-check的PIOP,以与承诺方案相结合。

Binius承诺和Jolt的搭配就像花生酱和果酱一样,因为Jolt是目前唯一一个完全基于sum-check协议的zkVM。如今,Jolt使用基于椭圆曲线加密的承诺方案,但将Binius承诺纳入Jolt是我们工作的重中之重。

2、Sum-check、lookups、性能和简洁性

是什么让Jolt与众不同?是因为Jolt是第一个(也是目前唯一一个)专门使用基于sum-check的多项式IOP的zkVM,还是因为Jolt实现了lookup奇点(几乎所有的事情都是通过lookups而非约束(constraint)系统或电路来完成的)?答案是,两者兼有。与之前的zkVM相比,Jolt的大部分的简洁性优势都来自于lookups,而它的性能优势来自于lookups和sum-check的使用。

单纯的lookup方法对于某些指令(没有非常小的电路的指令)更好些,但是对于具有非常小的电路的其他指令可能要更差。但总的来说,单纯的lookup方法对性能来说只有好处没有坏处,至少在处理256位字段时如此。如今,Jolt prover投入20%的时间在“指令执行”lookup上,40%的时间用于验证约束信息。添加更多约束来减少lookups是没有任何帮助的。

大概说来,Jolt使用lookups来实现CPU获取-解码-执行循环的“获取”和“执行”部分。这些lookups速度足够快,以至于prover的大部分时间都用于证明它运行了“解码”,这是通过传统的约束来处理的。

单纯的lookup方法还会促进更简洁、更可审计的实现。这些好处很难被量化,需要时间才能被看见和认可。但在代码行数(Jolt代码库约为2.5万行代码,比之前的RISC-V zkVM少2到4倍)和开发时间等方面,Jolt表现出色。这样的改进要比性能上的改进难得多:虽然我预计zkVM prover在未来几个月的速度将比2023年8月差不多快百倍,但很难想象zkVM的代码行数什么时候能减少10倍。

3、椭圆曲线

公共话语低估了拥有针对椭圆曲线的快速zkVM的好处,部分原因是大家普遍对基于哈希的承诺方案(如Binius)热情满满。

在证明关于椭圆曲线加密的声明时,基于曲线的zkVM可以避开非原生字段算法,而非原生字段算法会增加成百上千倍的证明时间开销。这些应用包括很多数字签名(与区块链轻客户端和基于SNARK的桥接相关的主要工作)的证明,Plonk/Groth16/Nova/Honk证明的聚合,以及Verkle树认证路径的证明。

我乐观地认为,社区将关注基于sum-check的PIOP与FRI-Binius承诺方案的结合,将其作为在许多应用程序中执行SNARK的正确方法。即使发生这种情况,基于曲线的快速SNARK仍然有用,除非这个世界完全弃用椭圆曲线加密(例如,在社会完成从非量子安全的加密系统转移之后)。

小结:

基于曲线的承诺与目前的所有其他zkVM相竞争(所有现存其他zkVM都已经使用哈希承诺方案处理小字段)。

在证明关于椭圆曲线的声明时(至少在证明非原生字段算法没有重大进展的情况下),人们会想要使用结合曲线的Jolt。

作为一个纯zkVM,Jolt和Binius相结合的承诺将比其他替代方案快很多,除非是证明关于曲线的声明或小字段证明(在这种情况下,人们将使用结合曲线的Jolt),否则人们将使用Jolt和Binius相结合的承诺方案。

在将证明发布到链上之前,基于椭圆曲线的SNARK将继续用于压缩证明大小和验证者成本。在这种情况下,处理大字段的zkVM将发挥作用。即使在今天,人们认为基于哈希的zkVM项目实际上是使用在BN254曲线上定义的zkVM作为递归过程的一部分。

4、 预编译和zkVM基准

关于预编译及其在zkVM和基准测试中的作用已存在一些讨论。在我进行解释之前,先来解释一下什么是预编译应该会有所帮助,因为预编译这个词的含义在不同的上下文中有所不同。

(1)以太坊中的“预编译”

在以太坊虚拟机(EVM)中,预编译是一个经常执行的操作,并且受原生支持以提高效率。这就避免了通过冗长的EVM操作码序列执行这些操作所带来的大量开销和过高的gas成本。

“EVM预编译”和“初始指令”(操作码)之间的区别主要是语义上的区别。例如,Keccak哈希函数是一个EVM操作码,而SHA-2则是EVM预编译。预编译和操作码都是经常执行的操作,以太坊出于相同的目的对它们提供原生支持:优化效率和gas成本。不可否认,预编译是EVM的一部分,EVM通常用于广泛地描述以太坊执行环境,包含的不仅仅是操作码。

如果EVM的功能与操作码基本相同,为什么还要有预编译呢?主要在于惯例问题。另一个可能的原因是,预编译由相对复杂的操作组成,比如将来可能需要更改的加密原语,如果它们没有分配操作码,则将来更改起来会更容易一些。

(2)zkVM设计中的“预编译”

在zkVM设计中,预编译是指针对特定函数(如Keccak或SHA哈希)或特定一组椭圆曲线操作的具有特殊用途的SNARK。如今的SNARK预编译通常是通过手动优化的约束系统来实现的(尽管随着社区转向基于sum-check的SNARK,这些约束系统的性质以及它们被证明的方式将会改变)。

EVM预编译器zkVM预编译之间具有深度相似性。在Jolt发布之前,zkVM通过手动优化的约束系统实现初始指令,每个指令一个,就像它们实现预编译一样。所谓的zkVM预编译和所谓的初始指令之间的区别纯粹是语义上的。他们之间没有实际的区别。

在Jolt中,我们使用lookups来实现初始指令,而不使用传统的约束。但是选择通过约束来实现一些初始指令并没有什么大问题。(事实上,lookups甚至可以被视为一种约束。)实际上,正如我之前说过的,一旦我们转向Binius承诺方案,我们可能不得不使用传统的约束来实现RISC-V的加法和乘法。

5、zkVM基准测试

有了这些背景了解,下面我来谈谈我对预编译的看法,因为它们与zkVM和基准测试有关。

首先,在没有预编译的情况下对各种RISC-V zkVM进行基准测试正是对RISC-V zkVM进行基准测试的意义。“zkVM”一词是一个非正式的叫法,因此必然产生分歧,但在我看来,具有一个或多个预编译的RISC-V zkVM不再是RISC-V的zkVM:它是基于RISC-V的新指令集的zkVM,将每个预编译添加为初始指令。至少,添加到zkVM的每个预编译都会削弱zkVM范式的价值主张——每添加一个电路都会增加潜在的bug表面积,并且现有程序将无法开箱即用地利用这些新的预编译。

有些人还将zkEVM的EVM预编译概念与zkVM的预编概念混为一谈。但这是两个截然不同的东西。虽然zkEVM的一些关键操作——比如Merkle哈希和数字签名验证——确实比初始的RISC-V指令更复杂,但这并不能改变EVM预编译和初始EVM指令之间没有功能差异这样一个事实。zkEVM必须支持EVM预编译,以声明与EVM对等。换句话说,不支持EVM预编译的zkEVM不同于像Jolt这样的RISC-V zkVM,后者将使用预编译扩展RISC-V以外的指令集。

另一个问题是如何选择一组“公平”的函数来对zkVM进行基准测试。但是对于RISC-V zkVM来说,任何函数集都是公平的。Prover时间几乎完全取决于RISC-V CPU运行的周期数,原因有两点。首先,prover在“获取-解码-执行”循环的“执行”部分花费了一小部分时间。其次,不同的RISC-V指令,以及内存访问,证明时间都高度相似。(在Jolt中,它们都是通过离线内存检测技术来处理的。)

最后,如果使用预编译,Jolt的表现可能不会比其他替代方案差。事实上,我预计它会表现更好,因为基于sum-check的预编译将是最快的,并且可以集成到Jolt中而没有开销,因为它专门使用了基于sum-check的PIOP。在这一点上,有些人担心使用椭圆曲线承诺方案的预编译将比使用基于哈希方案的预编译差很多。如今,Jolt使用曲线,但这并不是必须的,我们一直对转向Binius的计划持开放态度。

6、关于基准的广泛思考

我们进行基准测试的主要目标是确定不同证明系统的内在性能情况,在某种程度上,它们可以与它们的实现拆分开。这种方法使社区能够理解并聚焦于设计高性能且安全的SNARK的正确技术。但是,当试图比较两个不同的SNARK时,数不尽的混淆因素往往导致不可能进行严丝合缝的对比。

工程方面的努力是这些混淆因素之中的一个,尽管社区中的许多人似乎持对立观点。想法似乎是这样的:如果一个项目添加了“特性”,比如针对特定硬件的预编译或进行了优化,那么它应该在任何基准测试中都拥有“荣誉”表现。

两种观点都有其可取之处。但长远来看,后一种观点显然站不住脚。新方法在任何基准测试中都将永远处于劣势,因为那些新方法没有与旧项目可比的时间。这样的观点是对进步的阻碍。

随着时间的推移,我预计基准测试相关的混淆因素将减少。随着SNARK的开发工具的成熟,SNARK获得良好的性能所需的工程方面的工作量将变少。zkVM的成本主要取决于周期数,而不是任何特定应用程序的特性,这是一个小小的奇迹(至少对于RISC-V如此)。如果人们关注约束系统的选择(而不是今天的R1CS、AIR、Plonkish等碎片化状态),针对约束系统的SNARK可能也会出现类似的情况,使用约束系统大小的简单度量方法来代替周期数。

在此之前,很难在混杂因素控制不足和过度控制之间取得适当的平衡。分歧是不可避免的,而建设者们将必须提供任何一个基准背后的全部背景、细节信息和基本原理,以便社区能够理解和探讨。

最新 更多 >
  • 1 为什么渣打银行预测美国大选前BTC将飙升至10万美元?

    来源:区块链骑士渣打银行(Standard Chartered)外汇和数字资产研究主管Geoffrey Kendrick预测,在今年11月美国总统大选之前,BTC价格可能会飙升至10万美元。在给The Block的一封电子邮件中,Kendrick详细阐述了推动这一预测的因素,并对BTC的价格轨迹进行了更详细的展望。Kendrick表示:“随着美国大选的临近,我预计BTC价格将达到10万美元,如果特

  • 2 TON研报三部曲(1)丨万字详解TON链:揭示未来区块链巨头的核心力量

    作者:WolfDAO 引言 欢迎阅读我们的专题报告《全面深入解析 TON 链》。在当今迅速发展的公链领域,TON 链(The Open Network)凭借其独特的技术创新和广泛的应用前景,已成为业内备受瞩目的新星。本系列报告将带领您深入探索 TON 链的核心技术、生态系统及其未来发展趋势,帮助您全面了解这一潜力无限的生态。 本次专题报告将通过三篇文章,从多个维度详细解析 TON 链的方方面面。

  • 3 Jiritsu革新了真实世界的资产透明度和验证,与贝莱德的RWA生态系统集成

    纽约,纽约,2024年6月6日,Chainware Jiritsu是一个具有本地ZKMPC预言机的开创性第一层区块链平台,它正在启动与贝莱德生态系统的集成,以提高真实世界资产(RWA)的透明度和验证。Jiritsu扩展了储量证明的概念,将支持任何RWA的精确价值包括在内,为行业树立了新的标准。 贝莱德是全球资产管理领域的领导者,在RWA领域取得了突破性进展。这一举措突显了RWA在现代金融中的巨大

  • 4 比特币关键变盘点 降息已成定局 10万美元可期?

    比特币现在多头强势,目前上方的死一个关口在71660-72000,昨日最高71758,高位盘整三小时后,首次冲击,能量不足,有所回落。不仅如此,BTC正面临历史性的逼空行情,可以看到7.2万关口,存在天量爆仓单,一旦拉升突破7.2万美元,势必会引爆主流连环爆仓。今天早上7点多如期插针到70700位置。在明确的行情面前,我们不仅要把握好方向和机会,更要学会把控住风险和机会,插针对于我们来说,既是风险

  • 5 探索LiL Tu NFT 体验一场融合中国文化与数字艺术的奇妙旅程

    在数字艺术和NFT领域,一个全新的项目——LiL Tu NFT正式登场,它以1万个独特小兔子的形象,为全球的艺术爱好者和收藏家带来了一场视觉盛宴。LiL Tu NFT项目以其独特的创意和对中国文化的深刻理解,为收藏家和艺术爱好者带来了前所未有的体验。每一只小兔子都拥有自己独特的外观和文化背景,它们色彩斑斓、形态各异,穿戴着充满文化故事的服饰,如风筝、包子、葫芦和亭子等。项目中的小兔子们戴着象征数字

  • 6 一辆购物车要多少钱?

    导游:一辆购物车要多少钱? 想象一下:你正在你最喜欢的杂货店中间,为周末储备最美味的食物。你很快意识到你的购物车已经装满了,你可能需要另一辆。你走到商店前面去拿另一辆购物车。 然后突然间,你的脑海中闪过一些想法,比如“购物车要多少钱?”或“购物车从哪里来?”今天,我们将回答这些问题以及更多问题。无论你是一名商店经理,还是只是有一个非常好奇的头脑,请继续阅读以找出答案。 另请阅读:金砖国家:美联储理

  • 7 玩转 Solana 一文掌握 Solana 核心概念

    2024年,Solana异军突起,TVL从年初的十亿美元飙升至如今的近五十亿美元,一跃成为第4大公链。与Ethereum相比,Solana以更快的速度和更低廉的费用为用户带来了更为优越的体验。其基于POH的共识机制和异步的交易执行模式为开发者提供了高吞吐量和低延迟的区块链性能,成为各种去中心化应用的首选平台。BlockSec特别策划了《玩转Solana》系列文章,涵盖 Solana 基本概念、查看

  • 8 成立仅一年的AI视频创企Pika 凭什么再融8000万美金?

    来源:元宇宙之心据华盛顿邮报消息,由华人创业者郭文景(Demi Guo)创立的AI视频生成创企Pika Labs完成了一轮约8000万美金的融资,融资后估值达到约5亿美金,融资名单也几乎集齐了硅谷的半壁江山。对比之前获得融资的AI视频产品,Pika获得的融资额无疑位居榜首。这个仅成立一年多的创企,背后究竟有什么魅力?01.1分钟项目速览1.项目名称:Pika Labs2.成立时间:2023年4月3

  • 9 MoonBag闪耀在Fantom和Slothana之上:成为2024年6月的顶级加密预售

    在加密货币投资的动态领域,寻求者不断寻找下一个有利可图的机会。虽然Fantom(FTM)和Slothana(SLOTH)以其独特的主张引起了人们的关注,但最近的障碍使人们对其可持续性产生了怀疑。Fantom与停滞的斗争和Slothana过山车般的波动凸显了模因币的内在风险。 然而,在这种不确定性中,有一个竞争者成为了可靠性和创新的灯塔:MoonBag。凭借其透明的投资理念、充满希望的回报和对安全

  • 10 以太坊可以吸引华尔街的六大叙事

    作者:Jack Inabinet,Bankless;编译:白水,以太坊的现货 ETF 随时可能开始交易!还有一个大问题:我们如何将 ETH 推销给华尔街?这个问题曾多次困扰着业界。虽然比特币爱好者一直坚持“数字黄金”这个易于理解的叙事,但以太坊的粉丝们往往很难找到一个共同的、简洁的叙事来激发外界对生态系统的兴趣。今天,本文的六大部分内容,每一部分都概括了以太坊的精髓。然后,我们解释了为什么每种叙事