Skip to content

Commit

Permalink
Added diagrams
Browse files Browse the repository at this point in the history
  • Loading branch information
ihordiachenko committed Jul 18, 2024
1 parent 4df5e09 commit 04b5506
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion docs/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import IdealImage from '@site/src/components/IdealImage';

# What is Rarimo?

Rarimo is a privacy-first (zk) social protocol designed to facilitate the development of a new generation of social apps. Traditionally, social apps have had to balance user privacy against engagement. Rarimo resolves this tradeoff by enabling users to interact anonymously while maintaining a history of their actions, connections, and identity attributes. With Rarimo, users can selectively disclose specific information while keeping other aspects of their social graph private.
Rarimo is a privacy-first (ZK) social protocol designed to facilitate the development of a new generation of social apps. Traditionally, social apps have had to balance user privacy against engagement. Rarimo resolves this tradeoff by enabling users to interact anonymously while maintaining a history of their actions, connections, and identity attributes. With Rarimo, users can selectively disclose specific information while keeping other aspects of their social graph private.

The Rarimo Protocol is built on three foundational components:
- **Self-Issued Identity**: This ensures that only verified, real individuals can participate in social apps, enhancing trust and authenticity.
Expand All @@ -23,6 +23,9 @@ Creating a pseudonymous account without linking it to a real person is easy, but

Traditionally, identity verification involves a trusted issuer that authenticates users. This approach poses risks as the issuer could compromise privacy or be shut down. Verifying user uniqueness might require sharing sensitive data, like government IDs, which increases privacy risks.

<IdealImage img={require('/img/self-issued-identity.png')} alt="Self-issued identity" />


Rarimo offers a solution by allowing users to establish their identity using only their government-issued biometric documents without needing a third-party issuer. Here's how it works:

1. **Keypair generation**: The user generates a keypair on their device.
Expand All @@ -33,6 +36,8 @@ This process allows users to verify their humanity, assert their uniqueness, or

Additionally, the app calculates a hash of the passport's public key (Active Authentication Public Key), serving as the passport's unique identifier. This hash is stored in the registration smart contract to prevent multiple registrations with the same document.

<IdealImage img={require('/img/passport-hashes-dilution.png')} alt="Passport hashes dilution" />

To mitigate potential "dictionary" attacks, where a passport issuer or third party might try to identify registered passports by hashing known values, Rarimo maintains a global Merkle tree of passport hashes. This tree is shared across all social apps, providing plausible deniability for users and preventing attackers from deducing participation in specific applications. The more passports and social apps accumulate over time, the more robust this identity system becomes.


Expand Down
Binary file added static/img/passport-hashes-dilution.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/self-issued-identity.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 04b5506

Please sign in to comment.