/Pinocchio_SNARK_Py

My Python Implementation of Pinnochio

Primary LanguagePython

Pinocchio_Py_TH

My "for fun" Python Implementation of Pinocchio.

I took inspiration and code from these sources:

SNARK.py is missing the optional calculations to make it Zero Knowledge. zk-SNARK.py has those calculations and is a bit slower. I included some trivial examples to see it running: A NAND gate and a check if a number is binary. I have also included Vitaliks code_to_r1cs.py in my SNARK.py file which allows you to compile any code down to R1CS and prove that its assignment checks out.

Protocol:

Image description