ZK*FM:RISC Zero zkVM的形式化验证

1. 引言

开源代码见:

  • https://github.com/risc0/risc0-lean4(Lean和Rust)

ZK*FM为RISC Zero zkVM的形式化验证:

  • ZK:The computer ran the right program。
  • FM:The program did the right thing。
  • ZK*FM:The computer did the right thing。

可使用FM来证明RISC Zero的ZK tools确实work as advertised。

https://github.com/risc0/risc0-lean4 的FM proofs与现有的RISC-V形式化算法工具兼容,从而:

  • 可创建具有end-to-end correctness proofs的应用。

借助Coq proof assistant,将可证明:

  • 1)(Completeness)RISC Zero’s verifier accepts every valid receipt:
    • and every valid execution has a valid receipt。
  • 2)(Soundness)RISC Zero’s verifier rejects invalid receipts with high probability:
    • under certain well-specified assumptions。
  • 3)(Uniqueness)RISC Zero’s verifier is uniquely determined by its specification:
    • meaning that any two implementations must agree on all inputs。
  • 4)(Compatibility)RISC Zero’s verifier characterizes RV32IM:
    • including RISC Zero’s host <-> guest MMIO model and platform extensions。

从而可带来:

  • 1)A precise description of RISC Zero’s security model。
  • 2)An interactive textbook that explains RISC Zero’s system from the ground up。包括但不限于:
    • Finite fields
    • Lagrange interpolation
    • Number theoretic transform
    • Reed Solomon proximity
    • SHA2
    • HMAC
    • DRBG
    • Random oracles
    • Fiat-Shamir
    • DEEP ALI
    • FRI
    • RISC-V
  • 3)A formally verified verifier,compiled by a formally verified toolchain。
    • 3.1)Written in Coq
    • 3.2)Compiled to C by CertiCoq
    • 3.3)Compiled to x86/ARM/RISC-V by compcert
  • 4)Compatibility with the existing RISC-V formal methods ecosystem。相关工具有:
    • Verifiable C
    • CertiCoq
    • compcert
    • bedrock/bedrock2
    • sail-riscv

具体的实现方式为:
ZK*FM:RISC Zero zkVM的形式化验证_第1张图片
实际实现要花费很长时间:

  • 需花费时间来填补所有空白。
  • 即使都“完成”了,将仍需要维护。

尽管将花费很长时间,但仍可接受:

  • 学术论文也有很多空白,但其仍然有用。
  • we are committed to precision——致力于精确。

RISC Zero zkVM的形式化验证,影响深远:

  • 1)对用户来说,有能力证明the computer did the right thing。
  • 2)对科学家和工程师来说,有能力execute with confidence。
  • 3)对FM社区来说,额外支持了RISC-V形式化生态。
  • 4)对ZK社区来说,精准描述了RISC-V stack。

参考资料

[1] RISC Zero团队2022年5月视频 “RISC Zero: General Purpose Zero-Knowledge Computation” (Brian Retford et al.) 第46分钟开始,主题为——ZK*FM: Formally verifying a ZK RISC-V system

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性能指标
  • Continuations:扩展RISC Zero zkVM支持(无限)大计算
  • A summary on the FRI low degree test前2页导读
  • Reed-Solomon Codes及其与RISC Zero zkVM的关系
  • RISC Zero zkVM架构
  • RISC-V与RISC Zero zkVM的关系
  • 有限域的Fast Multiplication和Modular Reduction算法实现
  • RISC Zero的Bonsai证明服务
  • RISC Zero ZKP协议中的商多项式
  • FRI的Commit、Query以及FRI Batching内部机制
  • RISC Zero的手撕STARK
  • RISC Zero zkVM guest程序优化技巧 及其 与物理CPU的关键差异

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