Zokrates is a toolbox for creation of zk-SNARK proofs, verification keys and Ethereum smart contract for verification of transactions in Ethereum blockchain with zk-SNARKs.
The process is the following:
1) Develop program to be verified in specific (turing complete) DSL
2) Compile program into flattened code
3) Setup phase where 2 pubkeys, long proving key and short verifier key is generated.
4) Based on verification key, generates smart contract for computation verification on Ethereum
questions
Q.GEN: Zokrates generates QAP/R1CS circuits based on a DLS language. How to generate (general) circuits manually?
Zokrates is a toolbox for creation of zk-SNARK proofs, verification keys and Ethereum smart contract for verification of transactions in Ethereum blockchain with zk-SNARKs.
The process is the following: 1) Develop program to be verified in specific (turing complete) DSL 2) Compile program into flattened code 3) Setup phase where 2 pubkeys, long proving key and short verifier key is generated. 4) Based on verification key, generates smart contract for computation verification on Ethereum
questions
Q.GEN: Zokrates generates QAP/R1CS circuits based on a DLS language. How to generate (general) circuits manually?
literature
Github project
whitepaper