From 51353ff4b6f2aa263d8b29e498c72bc97067703e Mon Sep 17 00:00:00 2001 From: Mikerah Date: Tue, 13 Jun 2023 16:19:17 -0400 Subject: [PATCH] Delete bench directory --- bench/benches.rs | 75 ------------------------------------------ bench/snarkjs_bench.sh | 65 ------------------------------------ 2 files changed, 140 deletions(-) delete mode 100644 bench/benches.rs delete mode 100755 bench/snarkjs_bench.sh diff --git a/bench/benches.rs b/bench/benches.rs deleted file mode 100644 index b7faf6f..0000000 --- a/bench/benches.rs +++ /dev/null @@ -1,75 +0,0 @@ -use std::fs::File; - -use ark_bn254::{Bn254, Fr}; -use ark_circom::{read_zkey, CircomBuilder, CircomConfig}; -use ark_groth16::{ - create_random_proof as prove, generate_random_parameters, prepare_verifying_key, verify_proof, - Proof, ProvingKey, -}; -use ark_serialize::{CanonicalDeserialize, CanonicalSerialize, Read}; -use ark_std::rand::rngs::ThreadRng; -use criterion::{black_box, criterion_group, criterion_main, Criterion}; -use ruint::aliases::U256; - -#[derive(Debug, Clone)] -pub struct StorageProofs { - builder: CircomBuilder, - params: ProvingKey, - rng: ThreadRng, -} - -// ...StorageProofs implementation here... - -// Functions for benchmarking -fn bench_prove(c: &mut Criterion) { - // You need to fill in these variables properly - let wtns = "..."; - let r1cs = "..."; - let zkey = Some("..."); - let mut sp = StorageProofs::new(wtns, r1cs, zkey); - let chunks: &[U256] = &[]; - let siblings: &[U256] = &[]; - let hashes: &[U256] = &[]; - let path: &[i32] = &[]; - let root = U256::default(); - let salt = U256::default(); - let mut proof_bytes = Vec::new(); - let mut public_inputs_bytes = Vec::new(); - - c.bench_function("StorageProofs prove", |b| { - b.iter(|| { - black_box( - sp.prove( - chunks, - siblings, - hashes, - path, - root, - salt, - &mut proof_bytes, - &mut public_inputs_bytes, - ) - .unwrap(), - ) - }) - }); -} - -fn bench_verify(c: &mut Criterion) { - // You need to fill in these variables properly - let wtns = "..."; - let r1cs = "..."; - let zkey = Some("..."); - let mut sp = StorageProofs::new(wtns, r1cs, zkey); - let proof_bytes: &[u8] = &[]; - let public_inputs: &[u8] = &[]; - - c.bench_function("StorageProofs verify", |b| { - b.iter(|| { - black_box(sp.verify(proof_bytes, public_inputs).unwrap()); - }) - }); -} - -criterion_group!(benches, bench_prove, bench_verify); -criterion_main!(benches); diff --git a/bench/snarkjs_bench.sh b/bench/snarkjs_bench.sh deleted file mode 100755 index ee04303..0000000 --- a/bench/snarkjs_bench.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash - -# Set up the benchmarking parameters -ITERATIONS=10 -CIRCUIT=../test/circuits/storer_test.circom -WITNESS=./input.json - -# Define the SnarkJS commands for each system -GROTH16_CMD="snarkjs groth16 prove circuit_final.zkey witness.wtns proof.json public.json" -PLONK_CMD="snarkjs plonk prove circuit_final.zkey witness.wtns proof.json public.json" - -# Set up the powers of tau ceremony -echo "Set up powers of tau ceremony" -snarkjs powersoftau new bn128 17 ../scripts/pot17_bn128_0000.ptau -v - -# Generate circuit files -circom ${CIRCUIT} --r1cs --wasm --sym -snarkjs r1cs export json ./storer_test.r1cs ./storer_test.r1cs.json - -# Generate the proving and verifying keys for Groth16 -echo "Preparing phase 1" -snarkjs powersoftau contribute ../scripts/pot17_bn128_0000.ptau ../scripts/pot17_bn128_0001.ptau >/dev/null 2>&1 /dev/null 2>&1 /dev/null 2>&1 -snarkjs zkey contribute circuit_0001.zkey circuit_0002.zkey --name="2nd contributor" >/dev/null 2>&1 -snarkjs zkey verify ./storer_test.r1cs ../scripts/pot17_bn128_final.ptau circuit_0002.zkey -snarkjs zkey beacon circuit_0002.zkey circuit_final.zkey 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f -snarkjs zkey verify ./storer_test.r1cs ../scripts/pot17_bn128_final.ptau circuit_final.zkey -snarkjs zkey export verificationkey circuit_final.zkey verification_key.json -for i in $(seq 1 $ITERATIONS); do - echo "Proving..." - /usr/bin/time -f "%e seconds" $GROTH16_CMD >/dev/null 2>&1 - echo "Verifying.." - /usr/bin/time -f "%e seconds " snarkjs groth16 verify verification_key.json public.json proof.json -done - - -# Generate the proving and verifying keys for PLONK -echo "Generating PLONK keys..." -snarkjs powersoftau contribute ./contributions_2 pot12_0000_final_challenge >/dev/null 2>&1 -snarkjs powersoftau verify ./contributions_2 >/dev/null 2>&1 -snarkjs powersoftau prepare phase2 ./contributions_2 pot12_0000_final_challenge --srs_monomial_form ./srs.monomial >/dev/null 2>&1 -snarkjs plonk setup --srs_monomial_form ./srs.monomial >/dev/null 2>&1 - - -# Benchmark PLONK -echo "Benchmarking PLONK..." -for i in $(seq 1 $ITERATIONS); do - /usr/bin/time -f "%e seconds" $PLONK_CMD >/dev/null 2>&1 -done -