ZKRep

A way to track a user's reputation with an organization without disclosing it to others

Description

This idea for this project was to have a way that an organization (DAO, social media orgs e.g.) could track each user's reputation with them and store this information on-chain without the exact amount being stored on-chain. This way, when a service wants to ask the organization whether a user satisfies a certain reputation requirement such as 'is greater than 1000', the result can be given to that service as a zero knowledge proof.

ZKRep showcase

How it's made

Oh if we had more time... the intention was to have it possible for an EVM contract in Solidity keep track of a list of users and their corresponding smart contract in Mina, which would store their reputation in a hidden way. That way, if an EVM contract required gating, they could request (via an Oracle that would listen for events) whether a user satisfies certain reputation requirements.