Crates.io | sp1-verifier |
lib.rs | sp1-verifier |
version | 3.4.0 |
source | src |
created_at | 2024-11-07 20:38:40.786362 |
updated_at | 2024-11-29 23:59:49.389755 |
description | Verifier for SP1 Groth16 and Plonk proofs. |
homepage | |
repository | https://github.com/succinctlabs/sp1 |
max_upload_size | |
id | 1440160 |
size | 96,405 |
This crate provides verifiers for SP1 Groth16 and Plonk zero-knowledge proofs. These proofs are expected to be generated using the SP1 SDK.
Groth16 and Plonk proof verification are supported in no-std
environments. Verification in the
SP1 ZKVM context is patched, in order to make use of the
bn254 precompiles.
Verification keys for Groth16 and Plonk are stored in the bn254-vk
directory. These
vkeys are used to verify all SP1 proofs.
These vkeys are the same as those found locally in
~/.sp1/circuits/<circuit_name>/<version>/<circuit_name>_vk.bin
, and should be automatically
updated after every release.
Run tests with the following command:
cargo test --package sp1-verifier
These tests verify the proofs in the test_binaries
directory. These test binaries
were generated from the fibonacci groth16 and
plonk examples. You can reproduce these proofs
from the examples by running cargo run --bin groth16_bn254
and cargo run --bin plonk_bn254
from the
examples/fibonacci
directory.
Adapted from @Bisht13's gnark-bn254-verifier
crate.