project screenshot 1
project screenshot 2
project screenshot 3

AMCScoreProver

We all love proving to others our worth, so why not do that in ZK? Run a few commands and generate a snark that anyone can verify your ability to answer multiple choice questions correctly.

AMCScoreProver

Created At

ETHGlobal New York

Project Description

This project first turns the data in csv file into a merkle tree, with some structural features to add extra information to the tree. We also generate an inclusion proof for any specific datapoint. We also generate a zk snark to make this proof more succinct and easily verifiable (also hiding any information about other students). We also create bash commands to facilitate ease of use. I believe merkle trees are very cool data structures, and would love to see them used more often.

How it's Made

I used python code to read the csv and turn it into a MaintainedInformativeMerkleTree. In particular, this code stores the whole merkle tree and csv information. I have another variant of the tree that only remembers the root, so we can still prove inclusion, but we cannot generate new proofs. We then feed this proof to a zk circuit that generates a snark. This snark can then be used as a succinct proof of inclusion into the csv. I took the halo2-scaffold base code and modified it for my own purposes, which is kind of hacky I guess idk.

background image mobile

Join the mailing list

Get the latest news and updates