Skip to content

Commit

Permalink
Groth16 verifier (risc0#1158)
Browse files Browse the repository at this point in the history
- integrate the groth16 verifier as part of the `Receipt`
- clean up what gets imported in the guest `Cargo.lock` by adding the
`verify` feature now required to be able to verify receipts
- fix docker test
  • Loading branch information
capossele authored Dec 1, 2023
1 parent dcd62dd commit 6db4b26
Show file tree
Hide file tree
Showing 40 changed files with 1,522 additions and 1,138 deletions.
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,14 @@ The following feature flags are present in one or more of the crates listed abov

| Feature | Target(s) | Implies | Description | Crates |
| ---------------- | ----------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------- |
| client | all except rv32im | std | Enables the client API. | risc0-zkvm |
| cuda | | prove, std | Turns on CUDA GPU acceleration for the prover. Requires CUDA toolkit to be installed. | risc0-circuit-recursion, risc0-circuit-rv32im, risc0-zkp, risc0-zkvm |
| client | all except rv32im | std, verify | Enables the client API. | risc0-zkvm |
| cuda | | prove, std, verify | Turns on CUDA GPU acceleration for the prover. Requires CUDA toolkit to be installed. | risc0-circuit-recursion, risc0-circuit-rv32im, risc0-zkp, risc0-zkvm |
| disable-dev-mode | all except rv32im | | Disables dev mode so that proving and verifying may not be faked. Used to prevent a misplaced `RISC0_DEV_MODE` from breaking security in production systems. | risc0-zkvm |
| metal | macos | prove, std | Turns on Metal GPU acceleration for the prover. | risc0-circuit-recursion, risc0-circuit-rv32im, risc0-zkp, risc0-zkvm |
| prove | all except rv32im | std | Enables the prover, incompatible within the zkvm guest. | risc0-circuit-recursion, risc0-circuit-rv32im, risc0-zkp, risc0-zkvm |
| metal | macos | prove, std, verify | Turns on Metal GPU acceleration for the prover. | risc0-circuit-recursion, risc0-circuit-rv32im, risc0-zkp, risc0-zkvm |
| prove | all except rv32im | std, verify | Enables the prover, incompatible within the zkvm guest. | risc0-circuit-recursion, risc0-circuit-rv32im, risc0-zkp, risc0-zkvm |
| std | all | | Support for the Rust stdlib. | risc0-circuit-recursion, risc0-circuit-rv32im, risc0-zkp, risc0-zkvm |
| verify-std | all | | Enables the std verifier. | ark-bn254, ark-groth16, ark-serialize, num-bigint, num-traits, risc0-circuit-recursion, risc0-circuit-rv32im, sha2 |
| verify | all | | Enables the verifier. | ark-bn254, ark-groth16, ark-serialize, num-bigint, num-traits, risc0-circuit-recursion, risc0-circuit-rv32im, sha2 |

## License

Expand Down
168 changes: 166 additions & 2 deletions benchmarks/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

38 changes: 0 additions & 38 deletions benchmarks/methods/guest/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 6db4b26

Please sign in to comment.