This is a Monorepo containing:
- aggregator: Aggregation circuits
- indexed_merkle_tree: Indexed Merkle Tree circuits used for aggregation
- quantum_reduction_circuits: groth16 verifier circuits
Make sure you have go installed in your system. (guide here)
go mod tidy
-
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
-
go test github.com/Electron-Labs/quantum-gnark-circuits/indexed_merkle_tree/circuit_test.go -test.v -tags=debug
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