A curated list of awesome things related to zero knowledge proof verifiers.
- Awesome zk verifier
Verify zkp'sproof by (another) zk prover circuit. Aka. aggregation prove.
- By snarkpack
- https://github.com/arnaucube/plonky2-recursion-experiment
- By gnark
- By circom
- By halo2
- By gnark
- By plonky2
As the raw verifier of a prover is a program(most of them writen in Rust), which can be proven by a zkvm. So that we can generate aggregationg proof by zkvm instead of writing a aggregation circuit.
Verify proof by onchain contract.
Verify zkp proof in bitcoin Script
- https://github.com/chainwayxyz/bitvm-zk-verifier
- https://github.com/FairgateLabs/rust-bitvmx-zk-proof
- https://github.com/Bitcoin-Wildlife-Sanctuary/bitcoin-circle-stark
- https://github.com/bitlayer-org/tap-stark
Verify zkp proof in Solidity Contract
- https://github.com/recmo/evm-groth16
- https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/v3.0.0-rc1/Groth16Verifier.sol
- https://github.com/circuitscan/snarkjs-groth16-multi-verifier/blob/main/test/contracts/semaphorev4-1.sol
- https://github.com/recmo/evm-groth16
- https://github.com/0xPolygonHermez/zkevm-contracts/tree/main/contracts/verifiers
- https://github.com/matter-labs/solidity_plonk_verifier
- https://github.com/DelphinusLab/delphinus-solidity
- https://github.com/fluidex/solidity_recursive_plonk_verifier
- https://github.com/matter-labs/era-contracts/blob/main/l1-contracts/contracts/state-transition/Verifier.sol Rust Version:
- https://github.com/succinctlabs/sp1-contracts/blob/main/contracts/src/v3.0.0-rc1/PlonkVerifier.sol
- https://github.com/privacy-scaling-explorations/halo2-solidity-verifier
- https://github.com/akinovak/instance-verifier
- https://github.com/argumentcomputer/solidity-verifier
- https://github.com/privacy-scaling-explorations/folding-schemes
Verify zkp proof in Cairo Contract
- https://github.com/HerodotusDev/cairo-verifier
- https://github.com/ZeroSync/ZeroSync/tree/main/src/stark_verifier
- https://github.com/keep-starknet-strange/garaga Including Groth16 and protostar's test demos.
Verify zkp proof in Solona Contract
- https://github.com/zkLinkProtocol/groth16-sol-verifier
- https://github.com/gnosed/solana_groth16_verifier
Verify zkp proof in Move Contract
- https://github.com/MystenLabs/sui/blob/main/sui_programmability/examples/crypto/sources/groth16.move
Following contains verifier by other crypto implement.
- eg: CryptoA's verified by cryptoB, aka
CryptoA CryptoB Verifier
- https://github.com/succinctlabs/snark-bn254-verifier which not using ark-groth16.
- https://github.com/Bisht13/gnark-bn254-verifier
- https://github.com/geometers/gnark-arkworks-verifier