在寻找区块链的可扩展性和计算效率的解决方案中,零知识证明(ZKP)技术尤为重要。zkVM(Zero-Knowledge Virtual Machine)是这一技术的具体应用之一。zkVM 作为一种基于 ZKP 的通用计算平台,能够在不泄露执行细节的前提下验证计算的正确性。并支持在链外处理计算量大的任务,仅将验证结果提交到区块链,极大地提升了区块链的扩展性。目前,市场上如 a16z、Taiko、ZKM 等多个项目正在开发 zkVM 解决方案。
zkVM 简介
zkVM 是一种基于零知识证明的通用计算平台,能够执行各种计算任务,包括执行智能合约、数据处理和复杂算法运算等。其核心功能是生成零知识证明,这种证明能验证计算的正确性而不透露执行细节。通过 SNARKs 技术,这些证明可以在链下进行验证,验证者不需要在区块链上重新执行整个计算过程,付出昂贵的计算成本。
此外,zkVM 的设计不仅仅限于加密货币交易,它的通用性使其可以在多种应用场景中部署,如医疗数据处理、供应链管理、秘密投票系统等,这些应用都需要在确保数据安全性的同时,验证处理逻辑的正确性。
zkVM 对比其他虚拟机
传统的虚拟机(VM)通常指的是在物理硬件上虚拟出一套完整的计算环境,核心功能是模拟硬件环境,允许在同一个物理硬件上运行多个操作系统或应用。这些虚拟机主要通过硬件虚拟化技术和操作系统级别的隔离来实现其功能。它们通常不涉及到对运行在其中的应用程序或数据进行加密验证的过程。
零知识虚拟机(zkVM)使用零知识证明技术来确保程序执行过程的正确性,这种技术适用于任何可以被编译和运行在虚拟机上的程序。zkVM 的设计注重于提供一种通用的计算验证平台,适用于各种应用场景,并支持多种编程语言,如 Rust、C/C++ 和 Go,开发者可以使用自己熟悉的语言来构建应用程序。计算和验证过程往往比传统 VM 更耗时,因为生成零知识证明是一个计算密集型的过程,要求大量的计算资源,这在很大程度上限制了交易处理速度(TPS)。当前的 zk 技术,虽然在单个证明生成方面已经取得显著进展,但在高负载条件下,处理大规模交易的能力仍有限。每个证明的生成可能需要数秒到数分钟不等,这对于那些需要高吞吐量的应用(如大规模支付处理系统)构成了限制。
zkEVM 是 zkVM 的一个特定实现,专为以太坊生态设计,旨在通过零知识证明增强以太坊的可扩展性。它完全兼容以太坊的智能合约和开发工具,比如 Solidity 和 Vyper,现有的以太坊应用可以无缝迁移至 zkEVM,无需任何修改。因此,zkEVM 更像是以太坊的一个特定优化版本。
zkVM 相关项目
尽管面对 zk 技术的挑战,市场上仍然有一些项目方在开发 zkVM 解决方案上展现出了技术实力。
Jolt:性能出色
4 月 9 日,a16z 发布 zkVM 解决方案Jolt 的初步实现,Jolt 是一种新型的 zkVM,主要特点是运行速度快,而且对开发者来说更易于扩展和进行代码审计。
与其他基于 STARK 框架的 zkVM 不同,Jolt 利用了 Lasso 查找参数和基于 sumcheck 的技术。这种创新方法不仅简化了新虚拟机指令的实施,还提高了系统的整体速度。Jolt 的设计强调易用性和效率,它的代码库非常精简,Jolt 中的每条 CPU 指令只需 50 行 Rust 代码即可实现。此外,Jolt 的性能也非常出色,在初步基准测试中,执行零知识证明的速度比 RISC Zero快 5 倍以上,比 SP1 快 2 倍。
RISC Zero:高效处理复杂的计算
RISC Zero是一种具有递归 SNARK 结构的 zkVM ,其特点在于采用了一种支持证明相互嵌套的递归方法。在 SNARKs 技术中,递归可以将复杂的证明分解成更小、更易于管理的证明。这些小型证明可以独立进行验证,并最终合并成一个完整的大证明,这一过程不会影响证明的有效性。RISC Zero 的独特之处在于其实现递归的方法,将多层证明无缝集成到一个单一的证明链中,不仅减少了计算负荷和需要处理的数据量,还能在多个计算步骤中保持验证过程的安全性和完整性。
RISC Zero 的另一个独特之处在于它使用了 RISC-V 指令集,这是一种开放式标准 ISA(指令集架构),旨在实现可扩展性和可扩展性。这一选择确保了 RISC Zero 可以利用广泛的工具和支持生态系统,使其与其他可能使用专有或不太通用架构的 zkVM 相比,更易于访问和集成到现有系统中。
去年他们成功完成了4000万美元的 A 轮融资。此轮融资由 Blockchain Capital 领投,,其他知名投资者包括 Bain Capital Crypto、Galaxy Digital、IOSG Ventures、RockawayX、Maven 11、Fenbushi Capital、Delphi Digital 等参与其中。
Succinct:开发者友好
Succinct开发了zkVM SP1,SP1 专为执行以 Rust 或任何其他可通过 LLVM 编译的语言编写的代码而定制,灵活性和易用性更高。SP1 支持模块化架构,允许开发人员通过「预编译」来定制和扩展其功能。预编译指特定的、可由开发者添加或修改的模块,这些模块增强了核心虚拟机的功能,使得它可以更高效地处理特定的任务或运算。
此外,SP1 构建了去中心化的证明者网络,简化了证明的部署和执行,从而降低了使用高级加密方法的门槛。该网络使开发人员只需点击一下就能高效地生成证明,提供了一种简化的方法。
3 月,Succinct 完成了 5500 万美元的融资。此次融资由 Paradigm 领投,参与的投资者包括 Robot Ventures、Bankless Ventures、Geometry 以及天使投资人 Eigenlayer 的 Sreeram Kannan 和 Polygon 的联合创始人 Sandeep Nailwal 等。5 月 13 日,Succinct宣布上线 SP1 测试网。
Taiko:多证明系统
Taiko已经开始从使用 zkEVM转型至使用 zkVM,它的 zkVM 独特之处在于其对多证明系统的运用。多证明概念由 Vitalik提出,Taiko 表明自己是第一个实施这个概念的项目,将于 5 月底主网上线时直接支持此多证明系统。这种系统允许 Taiko 的 zkVM 生成多种类型的证明,从而提高了系统的安全性和健壮性。即使其中一种证明类型出现问题,其他类型的证明可以继续确保系统的正常运行并及时检测到任何错误的状态转换。此外,还采用了 Halo2-KZG 证明系统,使得处理复杂计算和大规模交易时能够保持高效和低成本。
3 月,Taiko 完成 1500 万美元 A 轮融资,由 Lightspeed Faction、Hashed、Generative Ventures 和 Token Bay Capital 共同领投,Wintermute Ventures、Flow Traders、Amber Group、OKX Ventures 和 GSR 等参投。
ZKM:MIPS 架构简单且稳定
ZKM是 Metis 基金会孵化的 zkVM 项目,采用 MIPS 架构,将其与零知识证明技术结合创建 zk 虚拟机。这种设计使 ZKP 更加与系统内部的计算处理方式相契合,加快操作速度并减少与单独实施 ZKP 协议相关的计算开销。并且当前大多数的 zkVM 使用 Rust 语言,而 ZKM 提供 Golang 原生支持。
MIPS(Microprocessor without Interlocked Pipeline Stages)是第一代精简指令集计算机架构。 MIPS 指令集相对简单且稳定,可以被广泛应用于各种计算设备和嵌入式系统中,具有良好的通用性和适应性,基于 MIPS 架构的 ZKM 系统可以更容易地进行开发和部署。
zkMIPS 将整个 MIPS 程序分为多个段。再将每个段的指令分成四种类型并归入相应的四个模块表。zkMIPS 使用 STARK 证明方法,对每个模块表中的指令进行独立验证,确保表中的每项操作都是正确的以及程序段中的每条指令都包含在其相应的模块表中。之后再验证各个程序段的执行序列与整个程序的执行匹配。通过这种方式,即使是在链下执行的程序也能在链上得到验证,增强了程序执行的透明度和信任度。
ZKM 最近推出了一种新的信任最小化多链互操作性基础设施 Entangled Rollups, 利用 zkMIPS 来构建一个无需信任的、去中心化的多链互操作框架。不像第三方的 zk 桥接仅通过快照验证资产转移,而是所有计算都可以被验证,所以非常安全。这种互操作性的关键在于存在一个通用的证明机制,可以在一个区块链上生成证明,然后在另一个区块链上进行验证。ZKM 与其他 zkVM 不同点之一就是可以生成的一个适用于所有操作零知识证明。ZKM 将安全性嵌入到 CPU/MIPS 架构的底层,使得所有在该架构之上的软件都可以享受到相同的安全性,而无需每个软件都单独进行零知识证明的过程。
此外,ZKM 的特点还有:
与所有虚拟机兼容:ZKM 位于每个虚拟机下方,使其与各种区块链智能合约引擎 VM 兼容,如 MoveVM(zkMVM)、WASM(zkWASM)和 RustVM(zkRVM)等。
即插即用:开发人员可以在不更改现有代码库的情况下采用 ZKM。提供了低成本的采用,并允许使用不同的智能合约语言甚至传统编程语言。
长期稳定性:MIPS 指令集具有稳定性,不需要随着不断更改的 EVM 而更改指令集,为开发提供了更稳定的环境。
zkVM 的未来展望
随着区块链技术的不断成熟和前沿公司的不断探索,zkVM 的性能在不断提升,我们可以预见到 zkVM 会在加密世界中扮演越来越重要的角色,成为关键技术的一部分。特别是在数据敏感性和对跨链安全性需求日益增加的当下,zkVM 提供的能力适配市场需求。我们期待攻克各种技术难点,比如电路优化和证明系统本身的优化,推出完美适配各种编程语言的 zkVM,将更多的开发者带往 Web3 新时代。