Skip to content

Latest commit

 

History

History
 
 

groth16-verifier

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

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