零知识虚拟机 (zkVM) 精选列表

本文档是一个关于 zkVM(零知识虚拟机)的精选列表,zkVM 是一种允许在不泄露隐私数据的前提下进行计算的技术。该列表包含 zkVM 项目、技术细节、性能基准、相关论文、资源、教程和工具,旨在为开发者、研究人员和对零知识证明技术感兴趣的受众提供有价值的参考。

markdown <div align="center"> <h1 align="center">超棒的 zkVM</h1>

一份精选的 zkVM,零知识虚拟机清单。

<p align="center"> <a href="https://github.com/sindresorhus/awesome"> <img alt="awesome list badge" src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"> </a> <a href="https://github.com/rkdud007/awesome-zkvm/graphs/contributors"> <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/rkdud007/awesome-zkvm"> </a> <a href="http://makeapullrequest.com"> <img alt="pull requests welcome badge" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat"> </a> </p>

</div>

欢迎提出贡献和建议;请就你希望进行的任何更改提出问题或 pull request。

目录

项目

[!NOTE] 由 @0xpiapark@alexanderlhicks 维护。某些细节可能已过时;请随时提出问题或 PR。有关公平跟踪方法的讨论,请参阅未解决的问题

  • ISA(指令集架构):VM 的基本“语言”,定义了其所有基本操作以及它们如何与数据交互。
  • Continuations(延续):也称为分块/分片。一种将过大的计算(对于单个运行来说太大)分解为更小的片段的技术,这些片段被单独且递归地证明(片段 n+1 的证明包括片段 n 的验证者的证明)。每个片段的证明的自包含程度(没有从一个片段传递到另一个片段的承诺)以及它的并行化效率(线程间通信最少)因一个实现而异。
  • Precompiles(预编译)(内置函数、微芯片、加速等):用于复杂任务(如密码学)的专用预构建函数,可提高效率并减少证明开销。
  • GPU:表示是否支持在 GPU 上进行证明(基于公开的 Metal/CUDA 代码)。
  • Proving Frontend(证明前端):程序员在其中表达其业务逻辑的编程语言,然后将其编译为 VM 支持的 ISA 以进行约束执行。
zkVM ISA Continuations(延续) Parallelizable Proving(可并行化证明) Precompiles(预编译) GPU Frontend(前端)
cairo Cairo :x: :x: :white_check_mark: Cairo
ceno RISC-V :x: :x: :white_check_mark: Rust
eigen zkvm RISC-V :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: Circom, PIL
jolt RISC-V :x: :x: :x: Rust
miden MASM(Miden Assembly) :x: :x: :white_check_mark: :white_check_mark: Rust, Wasm
mozak vm RISC-V :x: :x: :x: Rust
nexus RISC-V :white_check_mark: :white_check_mark: :white_check_mark: Rust
o1vm MIPS :x: :x: :x: Go
olavm Ola Assembly :x: :x: :white_check_mark: Ola Assembly
openvm RISC-V :white_check_mark: :white_check_mark: :white_check_mark: Rust
pico RISC-V :white_check_mark: :white_check_mark: :white_check_mark: Rust
powdrVM RISC-V :white_check_mark: :white_check_mark: :white_check_mark: ASM assembly
risc0 RISC-V :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: Rust
sp1 RISC-V :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: Rust
sphinx RISC-V :white_check_mark: :white_check_mark: :white_check_mark: Rust, Lurk
triton vm Triton Assembly :x: :x: :x: Triton Assembly
valida Valida :x: :x: :x: Rust, C
zisk RISC-V :white_check_mark: :white_check_mark: :white_check_mark: PIL
zkm MIPS :white_check_mark: :white_check_mark: :white_check_mark: Rust, Go
zkWasm Wasm :white_check_mark: :white_check_mark: :white_check_mark: C, C++, rust, etc (wasm compilable)

技术细节

<details> <summary><b>证明系统</b></summary>

  • Arithmetization(算术化):将执行轨迹转换为可以验证的代数语句(多项式方程)的过程。
  • Optimizations(优化):证明系统中的成分,可以优化约束的整体大小和复杂性。
  • Backends(后端):证明系统,通常采用(多项式)交互式预言机证明 (IOP) 和多项式承诺方案 (PCS) 的形式,用于(通常是非交互式)证明者-验证者检查。
  • Verifiers(验证者):可以根据证明和公共输入进行(通常是非交互式)验证的程序。
zkVM Arithmetization(算术化) Optimizations(优化) Backends(后端) Verifiers(验证者)
cairo AIR FRI
ceno GKR Lookup, Sumcheck Brakedown Rust
eigen zkvm eAIR FRI, Groth16 Solidity
jolt R1CS Lookup, Sumcheck, Offline Mem Check Spartan WASM
miden AIR (winterfell) Lookup, Winterfell Rust
mozak vm AIR (Starky) Lookup, FRI Rust
nexus Folded Accumulated Relaxed R1CS Accumulated Folding Spartan + {Zeromorph, PSE-Halo2 (KZG)} Rust
o1vm Plonkish Lookup IPA Rust
olavm AIR (plonky2) Lookup FRI Rust
openvm AIR (plonky3), GKR FRI Rust
pico AIR (plonky3) Lookup FRI Rust, Solidity
powdrVM AIR -ish (PIL, plonky3) - PSE-Halo2 (KZG), Plonky3, FRI(eSTARK) Solidity
risc0 PLONK Plookup DEEP-FRI & ALI Rust, Solidity
sp1 AIR (plonky3) Lookup FRI Rust, Solidity
sphinx AIR (core), PLONK (wrap) Lookup, FRI Rust
triton vm AIR Lookup, Contiguity FRI Rust
valida AIR (plonky3) FRI ?
zisk ? ? ? ?
zkm AIR (plonky2) Lookup, FRI Rust
zkWasm PLONK - IPA? Rust

</details>

基准测试

独立/第三方基准测试

  • 由 Aligned 制作的 VM 证明时间基准 | 结果 代码
  • π<sup>2</sup> ZK Metamath 检查器的基准测试 | 代码,包括结果
  • zkVM 的权威指南 | 文章
  • Lurk 0.5 基准测试 | 文章
  • zkVM 和证明方案的基准测试 | 代码
  • zkvm 测试 | 文章
  • prooflab 基准测试 | 页面
  • 使用 zkVM 的 Agglayer 悲观证明基准测试 | 代码

论文

Cairo

Ceno

Jolt

Nexus

SP1

Risc Zero

EDEN

资源

教程/教育 zkVM

相关工具

相关超棒清单

  • 原文链接: github.com/rkdud007/awes...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
rkdud007
rkdud007
江湖只有他的大名,没有他的介绍。