Skip to content

Latest commit

 

History

History
30 lines (22 loc) · 1.38 KB

README.md

File metadata and controls

30 lines (22 loc) · 1.38 KB

Groth16 Verifier Example

This experimental example demonstrates the verification of a proof from another proof system, in this case Groth16 over the BN_254 curve, within the zkVM.

Summary

This example uses a pre-generated Groth16 proof of a Sudoku solution generated via zkSudoku. You can also try with an ECDSA-circuit example created by 0xPARC or any other Circom project.

Specifically, you will learn:

  • How to verify a Groth16 proof generated by Circom/SnarkJS. To learn how to generate such a proof, follow the zkSudoku README or the Circom tutorial.
  • How to prove the verification of a Groth16 proof in the zkVM.

Performance

This example requires ~500M cycles to run and therefore will take some time to prove locally. We recommend running it on Bonsai or just running in DEV_MODE.

Quick Start

First, follow the installation guide if you don't already have the RISC Zero tools installed.

Then, run the example in DEV_MODE with:

RISC0_DEV_MODE=1 cargo run --release