Skip to content

Electron-Labs/quantum-groth16-circuits

Repository files navigation

quantum-groth16-circuits

This is a Monorepo containing:

  • aggregator: Aggregation circuits
  • indexed_merkle_tree: Indexed Merkle Tree circuits used for aggregation
  • quantum_reduction_circuits: groth16 verifier circuits

setup

Make sure you have go installed in your system. (guide here)

  • go mod tidy

test

  • quantum_reduction_circuits

    • go test -run ^TestVerifier$ github.com/Electron-Labs/quantum-gnark-circuits/quantum_reduction_circuits/verifier/gnark_groth16 -test.v -tags=debug
    • go test -run ^TestVerifier$ github.com/Electron-Labs/quantum-gnark-circuits/quantum_reduction_circuits/verifier/circom_groth16 -test.v -tags=debug
  • indexed_merkle_tree

    • go test github.com/Electron-Labs/quantum-gnark-circuits/indexed_merkle_tree/circuit_test.go -test.v -tags=debug

benchmarks

These benchmarks are corresponding are BATCH_SIZE=8 and TREE_DEPTH=9.

Machine Proving time (sec)
AWS r6a.32xlarge ~98
AWS r6a.16xlarge ~128
AWS r6a.8xlarge ~172

To reproduce the benchmarks, run:

  • ./scripts/run_e2e.sh

About

Monorepo containing all gnark circuits for Quantum

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published