This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
bab831c
commit 9dbf00d
Showing
2 changed files
with
2 additions
and
80 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,2 @@ | ||
--- | ||
description: What is UniRep? | ||
--- | ||
|
||
# 👏 Welcome | ||
|
||
<figure><img src=".gitbook/assets/repository-unirep.png" alt="UniRep: Privacy & provable reputation"><figcaption><p>UniRep: Privacy & provable reputation</p></figcaption></figure> | ||
|
||
### Overview | ||
|
||
**UniRep** (**Uni**versal **Rep**utation) is a _private_ and _non-repudiable_ **reputation system**. Users can  | ||
|
||
1. Receive positive and negative reputation from attesters. | ||
2. Voluntarily prove that they have at least certain amount of reputation without revealing the exact amount.  | ||
3. 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](https://ethresear.ch/t/anonymous-reputation-risking-and-burning/3926) | ||
|
||
### v1.1 | ||
|
||
Version 1.1 of the protocol reduces the complexity of user proofs to constant time. Users can receive unlimited attestations while keeping the proving time constant. | ||
|
||
v1.1 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](https://github.com/unirep/unirep/issues/134). | ||
|
||
### Quick Links | ||
|
||
* [Protocol introduction](introduction.md) | ||
* [Getting started](getting-started/) | ||
|
||
|
||
# Page 1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,3 @@ | ||
# Table of contents | ||
|
||
* [👏 Welcome](README.md) | ||
* [🧩 Introduction](introduction.md) | ||
|
||
## ☀ Protocol | ||
|
||
* [Glossary](protocol/glossary/README.md) | ||
* [Attestations](protocol/glossary/attestation.md) | ||
* [Users and Attesters](protocol/glossary/users-and-attesters.md) | ||
* [Epoch](protocol/glossary/epoch.md) | ||
* [Epoch Key](protocol/glossary/epoch-key.md) | ||
* [Reputation](protocol/glossary/reputation.md) | ||
* [Trees](protocol/glossary/trees.md) | ||
* [Nullifiers](protocol/glossary/nullifiers.md) | ||
* [User State Transition](protocol/glossary/user-state-transition.md) | ||
* [Circuits](protocol/circuits/README.md) | ||
* [Contract](protocol/contract/README.md) | ||
|
||
## 🌈 API <a href="#package" id="package"></a> | ||
|
||
* [@unirep/crypto](package/crypto.md) | ||
* [hash\*()](./api/crypto-hashes.md#hashes) | ||
* [genEpochKey](./api/crypto-hashes.md#genEpochKey) | ||
* [genEpochNullifier()](./api/crypto-hashes.md#genEpochNullifier) | ||
* [genStateTreeLeaf()](./api/crypto-hashes.md#genStateTreeLeaf) | ||
* [IncrementalMerkleTree](./api/crypto-incremental-tree.md) | ||
* [constructor()](./api/crypto-incremental-tree.md#constructor) | ||
* [insert()](./api/crypto-incremental-tree.md#insert) | ||
* [update()](./api/crypto-incremental-tree.md#update) | ||
* [delete()](./api/crypto-incremental-tree.md#delete) | ||
* [createProof()](./api/crypto-incremental-tree.md#createProof) | ||
* [verifyProof()](./api/crypto-incremental-tree.md#verifyProof) | ||
* [SparseMerkleTree](./api/crypto-sparse-tree.md) | ||
* [constructor()](./api/crypto-sparse-tree.md#constructor) | ||
* [height](./api/crypto-sparse-tree.md#height) | ||
* [root](./api/crypto-sparse-tree.md#root) | ||
* [insert()](./api/crypto-sparse-tree.md#insert) | ||
* [update()](./api/crypto-sparse-tree.md#update) | ||
* [createProof()](./api/crypto-sparse-tree.md#createProof) | ||
* [verifyProof()](./api/crypto-sparse-tree.md#verifyProof) | ||
* [@unirep/circuits](package/circuits.md) | ||
* [@unirep/contracts](package/contracts.md) | ||
* [@unirep/core](package/core.md) | ||
|
||
## 🌻 Applications | ||
|
||
* [Unirep Social](applications/unirep-social.md) | ||
* [Page 1](README.md) |