Continuations:扩展RISC Zero zkVM支持(无限)大计算

1. 引言

前序博客:

  • Risc0:使用Continunations来证明任意EVM交易

Continuations:扩展RISC Zero zkVM支持(无限)大计算_第1张图片
RISC Zero在2013年5月的0.15版本中,引入了Continuous机制:

  • 移除了证明生成时的“cycle limit”限制
  • 解锁了在RISC Zero zkVM中运行EVM interpreter或WASM interpreter的能力
  • 扩展为可支持(无限)大计算

Continuous机制的核心思想为:

  • 将execution切分为segments
  • 并行证明每个segment
  • 将所有结果汇总

2008年,中本聪展示了如何借助经济激励,以trustless方式解决verifiable compute,但是,该方案并不支持:

  • Non-trivial computations
  • 高频/低延迟交互
  • 私有数据
  • 扩容:所有人都必须rerun所有计算。

2016年,Zero-knowledge circuits(零知识电路)提供了部分解决方案,但存在如下问题:

  • 特别复杂
  • 高开销
  • 高耦合性/低敏捷性
  • 缺少图灵完备性

最终解决方案为:

  • RISC Zero zkVM:基于RISC-V ISA指令集。

Continuations:扩展RISC Zero zkVM支持(无限)大计算_第2张图片
Continuations:扩展RISC Zero zkVM支持(无限)大计算_第3张图片
Continuations:扩展RISC Zero zkVM支持(无限)大计算_第4张图片

RISC Zero zkVM充分拥抱了过去几十年的计算机工程化insights,如:

  • 开源更有益
  • 消费级硬件 胜过 大块头硬件
  • 程序员生产力取胜
  • 标准化提供大量价值
  • 通用性 优于 专用性
  • scale扩容(规模)很重要

2. scale很重要

以Apple II为例,其最大g规格为:

  • 6502 CPU clocked at 1.023 MHz
  • 64 kB RAM
  • 5 1/4 floppy with 140kB storage

而与之对比的是:【计算和数据需求在持续增长】

  • 60 kLoc (Rust)in zkVM
  • 约170k words in English language
  • 约 1.1M commits to Linux kernel
  • 约 175B parameters in GPT-3

这么来看scale扩容很重要。

但是ZK扩容是hard的——2023年初,ZK扩容存在的问题为:

  • ZK是基于约束证明的
  • 证明性能随约束数降级
  • 密码学基础设置了扩容上限:如RISC Zero zkVM,其所选择的Baby Bear域,支持的扩容上限为 2 28 2^{28} 228——从而限定了cycle limit最大为 2 28 2^{28} 228
  • “传统”解决方案为:递归(recursion)
    • ZK recursion理论上很强大,但实际上很复杂。

为此,希望能为应用实现自动可扩容ZK(Scalable ZK that’s automatic for applications):

  • Continuations:zkVM内的扩容。

3. Continuations:zkVM内的扩容

Continuations:扩展RISC Zero zkVM支持(无限)大计算_第5张图片

continuations的核心思想为:

  • 将execution切分为segments
  • 并行证明每个segment
  • 将所有结果汇总。每个receipt对应一个segment。

continuations这种设计思想的好处在于:

  • zkVM可自动切分
  • segment size可配置:
    • 支持低内存环境
  • 支持并行证明

如下为配置、执行和证明示例代码:
Continuations:扩展RISC Zero zkVM支持(无限)大计算_第6张图片
Continuations:扩展RISC Zero zkVM支持(无限)大计算_第7张图片

当前RISC Zero zkVM支持2种类型的receipt:

  • 1)flat continuations
  • 2)rolled up continuations

Continuations:扩展RISC Zero zkVM支持(无限)大计算_第8张图片

3.1 continuations工作原理

segmented执行和证明:

  • 正常执行该程序:
    • 每N个cycles做状态快照
  • 切分证明
  • 将proofs汇总

这就要求高效快照:

  • Merkle-ized pre/post states

片段化执行和证明示意图为:
Continuations:扩展RISC Zero zkVM支持(无限)大计算_第9张图片
而Merkle-ized pre/post states示意为:
Continuations:扩展RISC Zero zkVM支持(无限)大计算_第10张图片
其中ImageId本质为某Merkle tree的root哈希,该Merkle tree由所有内存中的pages哈希组成。

3.2 continuations使新应用成为可能

continuations使新应用成为可能,如:

  • zkEVM:如Zeth:首个Type 0 zkEVM。
  • zkWASM
  • Central-limit order book
  • Multiplayer games
  • Verifiable software compilation
  • OpenID for EIP-4337(账户抽象)

参考资料

[1] RISC Zero团队2023年6月培训视频 Continuations: Scaling in zkVM (RISC Zero Study Club)
[2] RISC Zero 2023年5月视频 RISC Zero - Paul Gafni (RISC Zero)【slide见RISC Zero @ ZK Symposium】

RISC Zero系列博客

  • RISC0:Towards a Unified Compilation Framework for Zero Knowledge
  • Risc Zero ZKVM:zk-STARKs + RISC-V
  • 2023年 ZK Hack以及ZK Summit 亮点记
  • RISC Zero zkVM 白皮书
  • Risc0:使用Continunations来证明任意EVM交易
  • Zeth:首个Type 0 zkEVM
  • RISC Zero项目简介
  • RISC Zero zkVM性能指标

你可能感兴趣的:(zkVM,zkVM)