Search projects, hackathons, sponsors and tech

    ← All projects

    Project Maya

    Command line tool to generate and verify correct image transformations

    Demo

    About

    This project provides CLI commands to generate ZK proofs for image edits like crop, grayscale etc (only crop supported for now). This ZK proof can be easily verified by a verifier who wants to check if a cropped image is actually a crop of the original image. So, run "maya prove crop [flags]" to generate the proof. Share this proof with the verifier. Then, the verifier can run "maya verify crop [flags]" and voila, the proof is verified.

    How it's made

    This project is based on golang. The most library that it uses is a ZK-SNARK library in golang called gnark (https://github.com/Consensys/gnark). All the ZK circuits and corresponding code to interact with the circuit is written using gnark. However, we need to compile a new circuit for each new dimension of image, for ex, a different circuit is used for 100x100 image vs 200x250 image. Also, there's some compatibility issues with using frontend.Variable in gnark such that you can't pass an int in their function and use it by typecasting.