grothy-crab is a small learning project to implement groth16 zkSNARK in rust.
flow used here: r1cs -> qap -> trusted setup -> proof generation -> verification
example statement used in this repo: prove we know roots of x^2 + 4x + 3 = 0
to run:
cargo run
reference used: https://rareskills.io/zk-book
thanks to arkworks for making my life simple :) specefically, i've used:
- ark-ff — finite field arithmetics
- ark-ec — elliptic curve and pairing
- ark-poly - to handle polynomials(really essential)
- arkworks curve libraries