fix the Poseidon2 SNARK benchmark

This commit is contained in:
Balazs Komuves 2023-11-28 18:50:11 +01:00
parent c4479eae7a
commit 882b2218f9
No known key found for this signature in database
GPG Key ID: F63B7AEF18435562
5 changed files with 15 additions and 16 deletions

View File

@ -5,7 +5,7 @@ ZKBENCH_INPUT_SIZE=256
fi
if [ -z ${ZKBENCH_WHICH} ]; then
ZKBENCH_WHICH="hash_sponge"
ZKBENCH_WHICH="hash_sponge_rate1"
fi
ORIG=`pwd`
@ -16,7 +16,7 @@ gcc -O3 generate_input.c -o build/generate_input || { echo "gcc failed"; exit 10
#NAME=${ZKBENCH_WHICH}
NAME="hash"
echo ${NAME}.circom.template \
cat ${NAME}.circom.template \
| sed "s/ZKBENCH_INPUT_SIZE/${ZKBENCH_INPUT_SIZE}/g" \
| sed "s/ZKBENCH_WHICH/${ZKBENCH_WHICH}/g" \
>build/${NAME}.circom

View File

@ -33,7 +33,7 @@ function CeilLog2(n) {
return (n==0) ? 0 : (1 + FloorLog2(n-1));
}
template Bench_hash_merkle2(n) {
template Bench_hash_merkle(n) {
var log2n = CeilLog2(n);
assert( (1<<log2n) == n ); // for now this only works for power-of-two sized inputs

View File

@ -4,22 +4,21 @@ if [ -z ${ZKBENCH_PROVER} ]; then
ZKBENCH_PROVER="snarkjs"
fi
if [ -z ${ZKBENCH_WHICH} ]; then
ZKBENCH_WHICH="hash_sponge"
fi
# if [ -z ${ZKBENCH_WHICH} ]; then
# ZKBENCH_WHICH="hash_sponge_rate1"
# fi
ORIG=`pwd`
cd build
NAME="hash"
echo "generating proof with ${ZKBENCH_PROVER}"
case $ZKBENCH_PROVER in
snarkjs)
NAME="${ZKBENCH_WHICH}"
snarkjs groth16 prove ${NAME}_prover.zkey ${NAME}_witness.wtns ${NAME}_proof.json ${NAME}_public.json
;;
rapidsnark)
NAME="${ZKBENCH_WHICH}"
rapidsnark ${NAME}_prover.zkey ${NAME}_witness.wtns ${NAME}_proof.json ${NAME}_public.json
;;
*)

View File

@ -1,8 +1,8 @@
#!/bin/bash
if [ -z ${ZKBENCH_WHICH} ]; then
ZKBENCH_WHICH="hash_sponge"
fi
# if [ -z ${ZKBENCH_WHICH} ]; then
# ZKBENCH_WHICH="hash_sponge_rate1"
# fi
ORIG=`pwd`
ROOT="${ORIG}/../../../../"
@ -10,7 +10,7 @@ ROOT="${ORIG}/../../../../"
cd build
echo "circuit-specific ceremony..."
NAME="${ZKBENCH_WHICH}"
NAME="hash"
snarkjs groth16 setup ${NAME}.r1cs ${ROOT}/ceremony/ceremony.ptau ${NAME}_0000.zkey
echo "some_entropy" | snarkjs zkey contribute ${NAME}_0000.zkey ${NAME}_0001.zkey --name="1st Contributor Name"
rm ${NAME}_0000.zkey

View File

@ -4,9 +4,9 @@ if [ -z ${ZKBENCH_INPUT_SIZE} ]; then
ZKBENCH_INPUT_SIZE=256
fi
if [ -z ${ZKBENCH_WHICH} ]; then
ZKBENCH_WHICH="hash_sponge"
fi
# if [ -z ${ZKBENCH_WHICH} ]; then
# ZKBENCH_WHICH="hash_sponge_rate1"
# fi
ORIG=`pwd`
@ -16,7 +16,7 @@ echo "generating input..."
./generate_input $ZKBENCH_INPUT_SIZE >input.json
echo "generating witness... (WASM)"
NAME="${ZKBENCH_WHICH}"
NAME="hash"
cd ${NAME}_js
node generate_witness.js ${NAME}.wasm ../input.json ../${NAME}_witness.wtns || { echo "witness gen failed"; exit 101; }
cd ..