What is ZeroAccount ?

ZeroAccount ZKP based single sign-on (SSO)

Sovereign Identity Manager and Crypto-Native Single Sign-On (SSO)

ZeroAccount utilizes zero-knowledge proofs (ZKPs) and privacy-preserving technologies to empower users to consolidate their identities and selectively share personal data with applications. Through ZeroAccount Connect, an easily integrated SSO solution, applications can now access personal data previously unreachable, all while upholding user privacy. ZeroAccount is designed to supersede traditional, non-sovereign SSO solutions like Google Connect and enhance the capabilities of limited SSOs such as Wallet Connect.

ZeroAccount: Personal Data Aggregation and Selective Disclosure

User's Data Vault: Sovereign Identity Consolidation

Users consolidate their identity by adding Data Sources to their private, local, and sovereign Data Vault. The Data Vault currently supports various Data Sources, including Ethereum wallets and GitHub, Twitter, or Telegram accounts. Users can generate ZK proofs from these Data Sources, allowing them to disclose data to applications in a controlled and sovereign manner.

What a User's Data Vault Looks Like

Individuals can create their own Data Vault to begin consolidating their identity, offering a centralized yet secure repository for their digital identity components.

ZeroAccount Connect: The Crypto-Native SSO

ZeroAccount Connect is a crypto-native SSO solution for both onchain and offchain applications. It simplifies the process for developers to access personal data without compromising user privacy by requesting and verifying ZK proofs.

Integration is straightforward, requiring only a few lines of code: import the front-end package or React button to initiate ZeroAccount Connect requests, and verify proofs on your backend or smart contracts using ZeroAccount's TypeScript package.

With ZeroAccount Connect, applications can request data from multiple sources simultaneously. There are two main types of requests:

  • Authentication: ZK proof of Data Source ownership (e.g., Ethereum wallets, GitHub, Twitter, or Telegram accounts).

  • Disclosure of Anonymized Personal Data: ZK proofs of Data Source inclusion in a specific Data Group (e.g., GR15 contributor).

// Some code

+-----------------------------------+
|              Start                |
+-----------------------------------+
                  |
                  v
+-----------------------------------+
| My App: Integrate ZeroAccount SDK |
+-----------------------------------+
                  |
                  v
+-----------------------------------+                    +------------------------------------+
| Request Proofs (from User's Data  +----+            +-->| User's Data Vault: Generate Proofs |
| Vault via ZeroAccount)            |    |            |   +------------------------------------+
+-----------------------------------+    |            |                 |
                  |                     |            |                 v
                  |                     |            |   +------------------------------------+
                  |                     |            +---| Send Proofs Back to My App         |
                  |                     |                +------------------------------------+
                  |                     |                              |
                  |                     |                              v
                  |                     |            +------------------------------------+
                  |                     +------------| My App: Signature Request           |
                  |                                  +------------------------------------+
                  |                                                 |
                  |                                                 v
                  |                                  +------------------------------------+
                  |                                  | Generating Zero-Knowledge Proof...  |
                  |                                  +------------------------------------+
                  |                                                 |
                  v                                                 v
+-----------------------------------+                    +------------------------------------+
| My App Frontend: User Signs In    |                    | ZeroAccount: Verify Proof           |
| with ZeroAccount                  |                    +------------------------------------+
+-----------------------------------+                                 |
                  |                                                      |
                  v                                                      v
+-----------------------------------+                    +------------------------------------+
| Smart Contract: Verify Proof      |                    | Backend: Verify Proof               |
| and Execute Onchain Actions       |                    | and Execute Backend Actions         |
+-----------------------------------+                    +------------------------------------+
                  |                                                      |
                  v                                                      v
+-----------------------------------+                    +------------------------------------+
|              End                  |                    |              End                   |
+-----------------------------------+                    +------------------------------------+

Data Groups are collections of Data Sources where each source is attributed a specific value.

Examples of Data Groups and ZK Proofs Requestable from Users

Data Groups might include:

  • Wallets of minters with the number of NFTs minted

  • GitHub accounts of contributors with the number of contributions

  • Wallets of participants in specific DAOs with their vote counts

  • Social media and development platform accounts of those who have supported ZeroAccount, ranked by the level of their contributions

Case Study: Sybil-Resistant Airdrop from Privately Aggregated Data

SafeDrop represents a Sybil-resistant and privacy-preserving ERC20 airdrop that allocates $AIR tokens to users based on their reputation, sourced from a variety of data points (EVM wallets, Telegram, Twitter, and GitHub accounts).

By integrating ZeroAccount Connect, SafeDrop participants can generate a ZK proof to verify ownership of the data qualifying them for the airdrop, ensuring that no direct linkage between these accounts and the airdrop destination address is established.

Last updated