UniRep (Universal Reputation) is a private and non-repudiable reputation system. Users can
- Receive positive and negative reputation from attesters.
- Voluntarily prove that they have at least certain amount of reputation without revealing the exact amount.
- Moreover, users cannot refuse to receive reputation from an attester.
The high-level goal for UniRep is to be a base layer on top of which anyone can easily build custom, yet interoperable, reputation systems, For instance, users could create combined zero-knowledge proofs of reputation across different social media platforms, consumer apps, or financial applications, in order to provide holistic, private, and trustworthy information about themselves to others.
UniRep is originally proposed by BarryWhiteHat in this ethresear.ch post
Version 2 of the protocol reduces the complexity of user proofs to constant time. Users can receive unlimited attestations while keeping the proving time constant.
v2 also changes the tree structure, removing the user state tree completely. The global state tree and epoch tree are replaced by a state tree and epoch tree for each attester. As a result each attester can set their own epoch length. Users also execute a user state transition per attester, instead of 1 global transition.
Read the description here.