
starknet-zk-verifier
A repository where I show how to use cairo and garaga to veryfy zk-SNARKS on starknet
About
The starknet-zkproof-verifier project demonstrates how to verify zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) on StarkNet, a layer-2 scalability solution for Ethereum. The project involves two main parts: - General ZK Verification Example: This section shows the process of generating, verifying, and using zk-SNARKs proofs on StarkNet using the Circom framework for generating zk-SNARK circuits and the Garaga tool for StarkNet integration. Starknado-Cash: This section shows an attempt to implement Tornado Cash functionality (a privacy-preserving protocol) on StarkNet, enabling private transactions. The Starknado-Cash system leverages zk-SNARKs to ensure anonymity.
How it's made
I made the project using: - StarkNet: A layer-2 scalability solution on Ethereum using validity proofs (zk-rollups) for scalability, where the zk-SNARK verifier contracts are deployed and proofs are validated. - Garaga: A tool designed to generate and deploy zk-SNARK verifiers on StarkNet, and facilitate the process of verifying proofs on-chain. - snarkjs: A toolkit for generating zk-SNARK proofs, handling trusted setups, and interacting with Circom circuits. - Circom: A programming language and toolchain for designing zero-knowledge circuits.