探索 zkVMs:哪些项目真正符合零知识虚拟机的标准?
- 原文链接:https://vac.dev/rlog/zkVM-explorations
- 译者:AI翻译官,校对:翻译小组
- 本文永久链接:learnblockchain.cn/article…
介绍
区块链领域正在快速发展,随之而来的是新技术的出现,这些技术承诺增强隐私性、可扩展性和安全性。随着去中心化系统的复杂性和使用量的增长,对安全和私密计算的需求比以往任何时候都更为迫切。零知识虚拟机(zkVMs)就是这样一种创新,它允许在不透露底层数据的情况下证明计算的正确性。zkVMs 对于隐私保护应用、去中心化金融(DeFi)和其他基于区块链的用例具有巨大的影响。然而,随着“zkVM”这一术语的广泛采用,区分真正满足 zkVM 严格要求的项目与不满足的项目至关重要。
什么是 zkVM?
zkVM 是一种结合了密码学证明生成和隐私保护原则与传统虚拟机计算模型的虚拟机。基本上,zkVM 允许执行任意程序,同时生成密码学证明——特别是零知识证明(ZKPs),这些证明可以在不透露任何敏感信息的情况下验证这些计算的正确性。这确保了计算可以被信任,同时保护了所涉及数据的隐私。zkVM 的关键特性包括:
- 证明生成:能够生成 ZKPs 以验证程序的正确执行。zkVM 中使用了几种密码学技术来生成这些证明,如 zk-SNARKs、zk-STARKs 和递归证明。zkVM 生成这些证明的能力决定了它在隐私保护的方式下确保计算完整性的有效性。
- 隐私保护:系统必须保持隐私,确保只揭示证明,而不是底层计算或数据。隐私保护的 zkVM 允许用户在不影响其操作的安全性或可验证性的情况下保持机密性。然而,并非所有 zkVM 都能达到相同的隐私水平。有些可能更注重证明生成和可扩展性,而不太重视隐私功能,这可能限制其在某些隐私敏感应用中的使用。
- 可扩展性和性能:zkVM 应提供可扩展和高效的计算,利用先进的密码学技术如 zk-SNARKs、zk-STARKs 或递归证明。zkVM 的性能还必须从延迟(生成和验证证明的时间)和吞吐量(在特定时间内处理的计算数量)方面进行衡量。
- 可验证计算:zkVM 应能够以安全和可验证的方式证明任意程序的执行。可验证计算确保 zkVM 可以部署在广泛的应用中,从 DeFi 到私人数据共享平台等。
为什么 zkVM 重要
zkVM 的兴起是区块链和去中心化技术未来发展的关键。随着越来越多的系统需要在保持隐私和信任的同时实现可扩展性,zkVM 提供了一个强大的解决方案。它们有可能重塑去中心化应用(dapps)处理敏感信息的方式,使其既高效又私密。
区分完全实现 zkVM 潜力的项目和未实现的项目至关重要。在本文的剩余部分,我们将评估几个 zkVM 项目,分析它们是否满足我们研究中定义的 zkVM 标准。
我们的方法
我们分析了每个项目的文档、源代码和可用的基准,以确定它们是否符合 zkVM 的定义。我们的标准侧重于 zkVM 的关键能力——证明生成、隐私、可扩展性以及与现有系统的集成。
zkVM 项目分析
SP1
- 概述:SP1 [1] 是一个对开发者友好的 zkVM,旨在为基于 LLVM 的语言(如 C、C++、Rust 等)启用 ZKP 执行。它支持类似 RISC-V 的指令集架构(ISA),使其与通过 LLVM 编译的各种编程语言兼容。
- 主要关注点:SP1 的主要关注点是可扩展性、开源贡献和对开发者的可访问性。它优先考虑性能而非隐私,使其适合于隐私不是主要关注点的环境。
- 隐私:未明确提及,因此不太适合隐私保护应用。
- 性能:SP1 在特定计算(如斐波那契数列生成)中表现出比类似 zkVM(如 RISC0)高达 5.4 倍的性能。
- 集成:SP1 非常适合于 Rollup、轻客户端验证器、Oracle,甚至是验证图像原创性等 web2 项目。
- 结论:是的,SP1 是一个 zkVM,但它不优先考虑零知识隐私,更注重可扩展性和性能。
Nexus
- 概述:Nexus [2] 是一个高度模块化的 zkVM,设计用于每秒处理高达一万亿个 CPU 周期。它依赖于 RISC-V 指令进行计算,使其具有可扩展性。然而,由于使用 Spartan 证明,目前缺乏完整的 ZKP 功能。
- 主要关注点:Nexus 专注于高性能和可扩展性,旨在为计算密集型任务创建高效的执行环境。
- 隐私:尽管零知识隐私不是 Nexus 的主要特征,但项目暗示未来可能会有隐私增强。
- 性能:Nexus 具有高理论吞吐量,但尚未在零知识隐私方面展示基准。
- 集成:Nexus 适合于不一定需要完全隐私的高性能环境。
- 结论:是的,Nexus 在可扩展性和证明生成方面符合 zkVM 的标准,但尚未实现完全的零知识隐私。
Risc0
- 概述:Risc0 [3] 是一个通用 zkVM,具有强大的开发者支持。它允许在 RISC-V 虚拟机上执行 Rust 和 C 代码,并为这些计算生成 zk-SNARK 和 zk-STARK 证明。
- 主要关注点:Risc0 专注于通过抽象电路生成的复杂性来简化开发者的使用,使其适用于广泛的用例。
- 隐私:通过 zk-SNARK 和 zk-STARK 证明支持完全的零知识隐私,使用 Groth16 进行常量大小的证明生成。
- 性能:Risc0 在不同硬件设置中提供了强大的基准,使其成为性能和可扩展性方面最通用的 zkVM 之一。
- 集成:Risc0 与多个生态系统集成,包括以太坊,并支持 Rust 程序的可验证执行。
- 结论:是的,Risc0 符合 zkVM 的标准,提供了开发者可用性、可扩展性和隐私的平衡。
Powdr
- 概述:Powdr [4] 是一个用于创建自定义 zkVM 的工具包。它允许开发者从各种前端和后端组件中进行选择,以创建适合特定需求的 zkVM。
- 主要关注点:Powdr 专注于为 zkVM 创建提供模块化架构。它通过允许组合不同的 ZK 证明后端(如 Halo2 或 Valida)来实现灵活性。
- 隐私:Powdr 本身不生成 ZKP,但它促进了生成 zkVM 的创建。
- 性能:性能取决于开发者选择的组件,因为 Powdr 本身更像是一个框架。
- 集成:Powdr 高度可定制,并可与现有 zkVM 框架集成以扩展其功能。
- 结论:不,Powdr 本身不是 zkVM,但它是一个强大的工具,用于构建具有不同隐私和性能需求的定制 zkVM。
ZkMIPS
- 概述:ZkMIPS [5] 使用 zk-STARKs 确保计算过程中的隐私,确保在证明正确性的同时保护私有输入。
- 性能:ZkMIPS 为可扩展性而构建,尽管没有广泛发布明确的基准测试。
- 集成:ZkMIPS 可以集成到依赖 MIPS 架构的系统中,使其对需要隐私的遗留代码库具有多功能性。
- 结论:是的,zkMIPS 是一个专注于 MIPS 架构的可扩展性和隐私的 zkVM。
Valida
- 概述:Valida [6] 是一个面向性能的 zkVM,使用自定义 ISA 生成程序证明,以优化 zkVM 实现。它使用 Plonky3 作为其证明系统。
- 主要关注点:Valida 专注于优化证明者的性能和可扩展性,使其成为高效生成证明的有价值工具。
- 隐私:虽然 Valida 专注于性能,但它不像其他 zkVM 那样优先考虑零知识隐私。
- 性能:Valida 的基准测试表明其在快速证明计算方面的性能优势,特别是通过并行处理。
- 集成:Valida 是专门化的,可能无法无缝集成到通用系统中,因为它更注重性能而非广泛适用性。
- 结论:是的,Valida 符合基于证明生成的 zkVM,但其对隐私的关注较少,使其不太适合隐私优先的用例。
Jolt
- 概述:Jolt [7] 是一个 zkVM,旨在通过修改的 Hyrax 多项式承诺系统优化证明者性能。它依赖于 RISC-V 指令进行计算,但在完全零知识能力方面有所欠缺。
- 主要关注点:Jolt 的主要目标是优化程序执行的证明速度,使其适用于隐私不是主要关注点的高性能应用。
- 隐私:由于选择了多项式承诺方案,Jolt 未能完全实现零知识隐私。
- 性能:Jolt 提供强大的性能,基准测试突出了其高效处理证明的能力。
- 集成:Jolt 可以与优先速度而非隐私的系统集成,特别是在快速生成证明至关重要的情况下。
- 结论:是的,Jolt 符合基于证明生成的 zkVM,尽管它不提供完全的零知识隐私。
ZkWASM
- 概述:ZkWASM [8] 是一个 zkVM,旨在以隐私保护和可扩展的方式执行 WebAssembly (WASM) 代码。它使用 zk-SNARKs 来证明 WASM 程序执行的正确性,同时确保隐私。
- 主要关注点:ZkWASM 专注于 WebAssembly 的可扩展性和隐私,使其成为需要可验证计算而不妥协隐私的 dapps 的理想选择。
- 隐私:通过 zk-SNARKs 提供完整的零知识隐私,确保 WASM 程序的执行保持机密。
- 性能:ZkWASM 针对高效运行 WASM 程序进行了优化,通过链下计算和链上验证来提高性能。
- 集成:ZkWASM 是 dapps 的理想选择,特别是那些使用 WebAssembly 并需要可验证执行的应用。
- 结论:是的,zkWASM 符合 zkVM,提供强大的隐私、可扩展性和 WebAssembly 代码的可验证执行。
Aleo
- 概述:Aleo 的 [9] snarkVM 将代码转换为 Aleo 指令,然后编译成可在其 zkVM 上执行的字节码。Aleo 强调构建私有、可扩展的 dapps。
- 主要关注点:Aleo 优先考虑 dapps 的隐私和可扩展性,为开发人员构建私有 dapps 提供了一个强大的框架。
- 隐私:Aleo 通过 zk-SNARK 证明提供完整的隐私,使其适合构建完全私有的应用程序。
- 性能:Aleo 通过高效的证明系统专注于可扩展性,尽管详细的性能基准测试尚未广泛提供。
- 集成:Aleo 为隐私优先的 dapps 而构建,并与其他基于 zkVM 的系统集成。
- 结论:是的,Aleo 符合 zkVM,提供了一个全面的解决方案,用于私有和可扩展的 dapps。
Ola
- 概述:Ola [10] 是一个 ZK 友好的高性能第二层 (L2) Rollup 平台,仍在开发中。它旨在链下执行计算,同时为这些计算生成有效性证明,确保它们在不妥协安全性的情况下正确执行。
- 隐私:Ola 并不像 zkVM 那样特别优先考虑隐私。虽然它利用 ZKP 来实现可扩展性,但其重点在于证明交易和计算的正确性,而不是确保数据保持私密。
- 性能:Ola 旨在实现高性能,特别是在交易吞吐量方面。
- 集成:Ola 旨在与各种第一层区块链互操作。该平台支持混合 ZK-rollup 架构,预计将包括跨链互操作性的桥梁,使资产和数据能够在第一层区块链和 Ola rollup 之间无缝移动。
- 结论:不,Ola 不是 zkVM。虽然它利用 ZKP(以 ZK-rollup 的形式)来确保链下计算的有效性,但其主要关注点是可扩展性和性能,而不是隐私或任意程序的可验证执行。Ola 更准确地描述为一个 ZK-rollup 平台,旨在提高第一层区块链的交易吞吐量和降低交易成本。
Miden
- 概述:Miden zkVM [11] 是一个基于 zk-STARK 的虚拟机,将代码转换为 Miden VM 指令,并通过零知识隐私证明这些指令的执行。
- 主要关注点:Miden 专注于 ZK-rollup 的可扩展性和隐私,为 dapps 提供高效的证明生成。
- 隐私:Miden 通过 zk-STARK 证明确保交易和程序的隐私,使其适合私有 dapps。
- 性能:Miden 针对可扩展性进行了优化,基准测试显示其能够处理每秒高达 1,000 笔交易(TPS)。
- 集成:Miden 与 ZK-rollup 解决方案集成良好,使其成为以太坊等区块链的 L2 扩展解决方案的理想选择。
- 结论:是的,Miden 符合 zkVM,为 dapps 和 ZK-rollup 提供强大的隐私和可扩展性。
ZkOS
- 概述:ZkOS [12] 是一个可验证的操作系统,专注于以去中心化的方式运行 zkApps。它基于 RISC-V 架构,旨在创建一个世界计算机,所有不可信的执行都可以被验证。
- 主要关注点:ZkOS 主要设计为提供一个概念验证的操作系统,所有执行都可以在无信任的方式下被验证。然而,其重点更多在于可验证应用程序的基础设施,而不是传统的 zkVM。
- 隐私:ZkOS 不专注于 zkVM 中生成 ZKP 的隐私保证。
- 性能:ZkOS 专注于 dapps 的高效执行,但没有提供特定于 ZKP 生成的性能基准。
- 集成:ZkOS 支持 zkApps 的执行,但它更像是一个可验证的操作系统,而不是 zkVM,使其在功能上有所不同。
- 结论:不,zkOS 不是 zkVM。它是一个专注于支持 zkApps 的基础设施的可验证操作系统,但不直接生成 ZKP 或专注于隐私保护。
Triton
- 概述: Triton [13] 是一种领域特定语言 (DSL) 和编译器,主要用于高性能 GPU 内核,特别是用于深度学习应用的内核。
- 主要关注点: Triton 的主要目标是优化机器学习和 GPU 工作负载的计算。它专注于提高数据处理的性能和效率,而不是 ZKPs 或可验证计算。
- 隐私: Triton 不提供通常与 zkVM 相关的 ZKPs 或隐私功能。它的重点是高性能计算,而不是加密可验证性。
- 性能: Triton 针对 GPU 执行进行了高度优化,为深度学习等计算密集型任务提供了显著的性能提升。
- 集成: Triton 与基于 GPU 的计算环境集成,专门用于优化硬件上的低级操作,而不是通用虚拟机。
- 结论: 不,Triton 不是 zkVM。它是一个专门用于优化 GPU 工作负载的工具,专注于性能而非隐私或 ZKPs。
Cairo
- 概述: Cairo zkVM [14] 使用一种自定义语言,编译为优化的基于 STARK 的证明系统,确保可验证计算。它主要用于 Starknet 等系统。
- 主要关注点: Cairo 专注于可扩展性和性能,使用 zk-STARK 证明确保程序的可验证和安全执行。
- 隐私: Cairo 通过 zk-STARKs 提供隐私,但它更关注于可扩展性和性能,而不是以隐私为先的用例。
- 性能: Cairo 针对性能进行了高度优化,使其非常适合于 Starknet 上的可扩展应用。
- 集成: Cairo 深入集成到 Starknet 等系统中,以高度可扩展和高效的方式支持可验证计算。
- 结论: 是的,Cairo 符合 zkVM 的标准,专注于性能和可验证执行,同时对 ZK 友好。
SnarkOS
- 概述: SnarkOS [15] 是一个去中心化操作系统,旨在为 Aleo 的网络提供动力,实现安全和私密的 dapps。它管理交易和共识,是 Aleo 基于 zkVM 的生态系统的重要基础设施组件。
- 主要关注点: SnarkOS 主要关注通过共识机制和隐私保护交易来保护 Aleo 的网络,而不是作为直接证明程序执行的 zkVM。
- 隐私: SnarkOS 通过与 Aleo 的 zkVM 集成支持零知识隐私,但操作系统本身不为任意计算生成 ZKPs。
- 性能: SnarkOS 针对 Aleo 网络上的 dapps 管理和私密交易进行了优化,但其重点更多在于基础设施和共识,而不是证明生成。
- 集成: SnarkOS 无缝集成到 Aleo 的 zkVM 中,以支持私密 dapps 和交易,但其主要角色是作为共识层。
- 结论: 不,SnarkOS 不是 zkVM。它作为 Aleo 去中心化网络的操作系统,专注于隐私和共识,而不是为计算生成 ZKPs。
Lurk
- 概述: Lurk [16] 是一种图灵完备的编程语言,专为递归 zk-SNARKs 设计。它专注于通过定制语言高效构建复杂的递归 ZKPs,以实现可验证计算。
- 主要关注点: Lurk 以递归证明生成为中心,而不是作为传统虚拟机。其目的是促进复杂 zk-SNARKs 证明的创建,使其成为加密证明的专用工具,而非通用计算。
- 隐私: Lurk 是为生成 zk-SNARKs 而构建的,天生提供隐私。然而,Lurk 本身是一种语言,而不是执行任意程序并为其生成 ZKPs 的 zkVM。
- 性能: Lurk 针对递归 zk-SNARK 生成进行了优化,但具体性能指标与其证明生成能力相关,而非传统执行环境。
- 集成: Lurk 专为 zk-SNARKs 设计,可能不易与其他通用系统集成,因为它专注于特定的加密任务。
- 结论: 不,Lurk 不是 zkVM。它是一种为递归 zk-SNARKs 设计的编程语言,专注于证明生成,而不是在虚拟机环境中执行程序。
Piecrust
- 概述: Piecrust [17] 是一种基于 WASM 的 zkVM,设计用于在 Dusk Network 上运行。它支持并发执行,专注于为智能合约提供隐私和可扩展性。
- 主要关注点: Piecrust 旨在通过使用 ZKPs 提供智能合约的私密和高效执行。
- 隐私: Piecrust 支持 ZK 友好的计算,并通过加密原语如默克尔树增强隐私。
- 性能: Piecrust 设计为可扩展和并发,允许多个会话同时运行,从而提高整体性能。
- 集成: Piecrust 与 Dusk Network 集成,支持私密智能合约,使其成为 dapps 的理想选择。
- 结论: 是的,Piecrust 符合 zkVM 的标准,提供可扩展性、隐私和简洁的证明生成支持。
Ceno
- 概述: Ceno [18] 是一种 zkVM,提供了一种通过将代码的常见部分分组来减少证明时间的理论框架。它使用递归证明来提高证明者的效率。
- 主要关注点: Ceno 旨在通过递归证明优化证明者性能,使其成为高效处理复杂计算的强大工具。
- 隐私: Ceno 通过递归证明支持零知识隐私,设计用于安全处理大规模计算。
- 性能: Ceno 的递归证明框架确保其能够高效证明程序的执行,减少证明生成所需的时间。
- 集成: Ceno 可以集成到需要高效率和隐私的系统中,特别是那些处理复杂、重复计算的系统。
- 结论: 是的,Ceno 符合 zkVM 的标准,通过使用递归证明提供高效和私密的计算。
Stellar
- 概述: Stellar [19] 是一种去中心化协议,旨在促进数字货币和法定货币之间的跨境交易。
- 主要关注点: Stellar 的主要目标是通过实现去中心化、低成本的货币转账来改善金融交易。它不旨在提供 ZKPs 或运行可验证计算,如 zkVM。
- 隐私: Stellar 专注于金融交易的机密性和安全性,但它不像 zkVM 那样使用 ZKPs 来验证计算而不泄露数据。
- 性能: Stellar 优先考虑金融交易的性能,确保其去中心化网络中的低延迟和高吞吐量。然而,这种性能关注点特定于交易,而非通用程序执行。
- 集成: Stellar 设计用于与金融系统集成,实现货币转换和转账,但它不用于执行智能合约或可验证计算。
- 结论: 不,Stellar 不是 zkVM。它是一个去中心化的金融协议,专注于促进跨境支付,而不是可验证或隐私保护的计算。
NovaNet
- 概述:NovaNet [20] 是一个开放的点对点网络,旨在基于非均匀增量可验证计算的概念进行构建。
- 主要关注点:NovaNet 的重点在于点对点网络和去中心化计算,而不是以零知识方式证明程序的执行。
- 隐私:NovaNet 不提供通常与 zkVM 相关的 ZKP 或隐私功能。其重点在于去中心化网络和计算。
- 性能:NovaNet 优先考虑高效的去中心化计算,但不关注与 ZKP 相关的隐私或性能基准。
- 集成:NovaNet 是为去中心化网络构建的,但并非设计用于需要可验证计算或 ZKP 生成的系统。
- 结论:不,NovaNet 不是 zkVM。它是一个专注于分布式计算的去中心化点对点网络,而不是零知识计算。
ZkLLVM
- 概述:ZkLLVM [21] 是一个编译器,将 C++ 或 Rust 代码转换为用于 zk-SNARK 或 zk-STARK 系统的电路。其主要目的是通过将代码编译为可用于生成和验证证明的算术电路,连接高级编程语言与 ZKP 系统。
- 主要关注点:ZkLLVM 专注于通过使开发者能够用熟悉的语言(C++,Rust)编写代码,然后将其编译为 ZK 电路,从而使 ZKP 更易于访问。
- 隐私:ZkLLVM 通过将高级代码编译为 ZK 兼容电路来生成 ZKP。它在隐私保护应用中起着关键作用,但本身并不作为 zkVM。
- 性能:ZkLLVM 允许 ZKP 的性能与编译电路的复杂性紧密相关。性能取决于所使用的底层 zk-SNARK 或 zk-STARK 系统。
- 集成:ZkLLVM 与 zk-SNARK 和 zk-STARK 证明系统集成,使其对各种注重隐私的应用有用,但它不作为通用计算的 zkVM。
- 结论:不,zkLLVM 不是 zkVM。它是一个将高级代码转换为 ZK 电路的编译器,启用 ZKP,但不作为执行和证明程序的虚拟机。
ZkMove
- 概述:ZkMove [22] 是一个 zkVM,旨在执行用 Move 语言编写的智能合约。它利用 ZKP 确保这些合约的执行保持可验证和安全。
- 主要关注点:ZkMove 专注于 Move 基智能合约的隐私和可验证执行,提供 ZK 友好的计算框架。
- 隐私:ZkMove 通过 ZKP 确保智能合约执行保持私密,使其适用于隐私保护应用。
- 性能:ZkMove 针对可验证执行进行了优化,确保合约在保持隐私的同时可以被证明是正确的。
- 集成:ZkMove 与使用 Move 语言的系统集成良好,特别是在需要私密智能合约执行的环境中。
- 结论:是的,zkMove 符合 zkVM 的标准,提供 ZK 友好的执行和 Move 语言智能合约的隐私。
O1VM
- 概述:O1VM [23] 是由 o1Labs 开发的通用 zkVM。它通过 zk-SNARK 和折叠方案、RAMLookups 等专门技术的结合,旨在高效证明 MIPS 程序的执行。
- 主要关注点:O1VM 专注于 MIPS 基程序的可扩展性和可验证计算,使其成为高效执行和证明复杂程序的有力竞争者。
- 隐私:O1VM 通过 zk-SNARK 证明确保隐私,在证明计算正确性的同时保持计算细节的私密性。
- 性能:O1VM 针对处理长执行轨迹和复杂计算进行了优化,使其具有高度的可扩展性。
- 集成:O1VM 与 MIPS 基架构和需要隐私保护计算的系统集成良好。
- 结论:是的,o1VM 符合 zkVM 的标准,提供 MIPS 程序的隐私、可扩展性和强大的证明生成。
研究结果总结
项目名称 | ZkVM 状态 | 零知识 | 推理/评论 |
---|---|---|---|
SP1 | 是 | 否 | 证明 LLVM 基程序的执行,但缺乏隐私功能。 |
Nexus | 是 | 否 | 强大的证明生成,但由于 Spartan 缺乏零知识隐私。 |
Risc0 | 是 | 是 | 支持 Rust 程序的完整 ZKP 生成。 |
Powdr | 否 | 是 | 用于创建自定义 zkVM 的工具包,本身不是 zkVM。 |
ZkMIPS | 是 | 是 | 支持 MIPS 类架构,具有完整的零知识和证明生成。 |
Valida | 是 | 否 | 注重性能的 zkVM,缺乏隐私保证。 |
Jolt | 是 | 否 | 注重性能的 zkVM,未实现零知识隐私。 |
ZkWASM | 是 | 是 | WebAssembly 代码的完整零知识和可验证执行。 |
Aleo | 是 | 是 | 完全私密和可扩展的 dapps。 |
Ola | 否 | 否 | 主要是 ZK-rollup 平台,不是 zkVM,专注于可扩展性和性能而非隐私。 |
Miden | 是 | 是 | 基于 zk-STARK 的 zkVM,具有强大的隐私和可扩展性。 |
ZkOS | 否 | 否 | 专注于 zkApps 的可验证操作系统,不是 zkVM。 |
Triton | 否 | 否 | 优化 GPU 工作负载,但不适用于 ZKP。 |
Cairo | 是 | ZK 友好 | 自定义 Rust 基语言,具有 zk-STARK 证明生成。 |
SnarkOS | 否 | 是 | Aleo 网络的去中心化操作系统,专注于共识而非可验证计算。 |
Lurk | 否 | 否 | 用于递归 zk-SNARK 的编程语言,不是 zkVM。 |
Piecrust | 是 | ZK 友好 | 具有递归 SNARK 功能的 zkVM,专注于简洁的证明生成。 |
Ceno | 是 | 是 | 理论 zkVM,通过递归证明提高证明者效率。 |
Stellar | 否 | 否 | 专注于跨境交易,不进行 ZK 证明生成或可验证计算。 |
NovaNet | 否 | 否 | 专注于分布式计算的点对点网络,不是零知识计算。 |
ZkLLVM | 否 | 在某些情况下是 | 用于生成 ZK 电路的编译器,不是 zkVM。 |
ZkMove | 是 | ZK 友好 | 支持 Move 语言的 zkVM,具有 ZKP 执行。 |
O1VM | 是 | 是 | 基于 MIPS 的 zkVM,具有强大的隐私、可扩展性和证明生成。 |
见解和结论
我们的分析表明,许多被标记为 zkVM 的项目确实符合 zkVM 的核心标准,提供可验证计算和证明生成作为基础功能。然而,其中一些项目未能提供完整的零知识隐私。像 Risc0、Aleo 和 Miden 这样的项目在平衡证明生成、隐私和可扩展性方面脱颖而出,为开发者提供了强大的平台,以构建隐私保护应用。
相反,像 SP1 和 Nexus 这样的项目在生成可验证证明方面表现出色,但目前缺乏全面的零知识隐私机制。这些平台非常适合在证明生成和可扩展性至关重要但隐私不是主要关注点的场景中使用。
随着 zkVM 技术的不断发展,我们预计会有更多项目集成增强的隐私保护机制,同时提高性能和可扩展性。这一持续的发展可能会扩大 zkVM 在区块链生态系统中的应用,特别是在金融、数据安全和去中心化应用等隐私敏感领域。
您对我们的 zkVM 分析有何看法?您是否同意我们的发现,或者您知道其他应该在我们关注范围内的 zkVM 项目?我们非常希望听到您的见解、问题或建议!欢迎加入我们论坛上的讨论 。
参考文献
[1] 介绍 SP1:一个高性能、100% 开源、对贡献者友好的 zkVM。来源:https://blog.succinct.xyz/introducing-sp1/
[2] Nexus 2.0 zkVM。来源:https://docs.nexus.xyz/
[3] 第一个通用 zkVM。来源:https://www.risczero.com/zkvm
[4] Powdr。来源:https://docs.powdr.org/
[5] ZKM 架构。来源:https://docs.zkm.io/zkm-architecture
[6] Valida zkVM 设计。来源:https://delendum.xyz/writings/2023-05-10-zkvm-design.html
[7] 构建 Jolt:一个快速、易用的 zkVM。来源:https://a16zcrypto.com/posts/article/building-jolt/
[8] ZK-WASM。来源:https://delphinuslab.com/zk-wasm/
[9] Aleo。来源:https://aleo.org/blog/
[10] OlaVM 白皮书 V2。来源:https://github.com/Sin7Y/olavm-whitepaper-v2/tree/master
[11] Polygon Miden VM。来源:https://0xpolygonmiden.github.io/miden-vm/intro/main.html
[12] OS 冒险:使用 Rust 构建 RISC-V 操作系统。来源:https://osblog.stephenmarz.com/index.html
[13] Triton VM。来源:https://triton-vm.org/spec/
[14] 原始 Cairo VM 如何工作?。来源:https://github.com/lambdaclass/cairo-vm/blob/main/docs/python_vm/README.md
[15] Aleo 完成 snarkOS 和 snarkVM 的安全审计。来源:https://aleo.org/post/aleo-completes-security-audits-of-snarkos-and-snarkvm/
[16] Lurk zkVM。来源:https://github.com/lurk-lab
[17] Piecrust VM。来源:https://docs.rs/piecrust/latest/piecrust/
[18] Ceno:非均匀、分段和并行零知识虚拟机。来源:https://eprint.iacr.org/2024/387
[19] ZkVM:快速、保密智能合约的新设计。来源:https://stellar.org/blog/developers/zkvm-a-new-design-for-fast-confidential-smart-contracts
[20] Novanet。来源:https://www.novanet.xyz/blog
[21] ZKLLVM。来源:https://github.com/NilFoundation/zkLLVM
[22] zkMove 0.2.0 - 实现与 Move 的完全字节码兼容。来源:https://www.zkmove.net/2023-06-20-zkMove-0.2.0-Achieving-Full-Bytecode-Compatibility-with-Move/
[23] O1VM。来源:https://github.com/o1-labs/proof-systems/tree/master/o1vm
我是 AI 翻译官,为大家转译优秀英文文章,如有翻译不通的地方,在这里修改,还请包涵~
版权声明
本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。