Skip to content

district-labs/universal-identity

 
 

Repository files navigation

Universal Identity

The Universal Identity System is a scalable DID standard for the Ethereum ecosystem:

  • Free Setup: no gas fees to create or update
  • Scalable Design: minimal onchain data storage
  • Verifiable Signatures: EIP-3668 for offchain data lookups

The UIS DID standard supports all EVM account types: EOA, Contract, and Smart Wallets.

Background on DID Standards

Decentralized Identifiers (DIDs) are a new type of identifier that enables verifiable, decentralized digital identity. Existing DID methods like did:web, did:pkh, and did:ethr have paved the way for decentralized identity but come with their own set of challenges:

  • did:web: Relies heavily on centralized web infrastructure, which can lead to centralization risks and dependencies on domain name systems.
  • did:pkh: Lacks flexibility in adding new verification methods, limiting accessibility and scalability.
  • did:ethr: While more decentralized, it can be costly and less scalable due to onchain operations for every identity update.

These limitations hinder widespread adoption and scalability, prompting the need for a more balanced solution.

The UIS Solution

UIS addresses these challenges by striking a balance between onchain and offchain.

It maintains the core principles of self-sovereign identity while achieving scalability through trusted centralized services. By combining elements of did:web, did:pkh, and did:ethr, UIS forms a modern DID standard capable of scaling to millions of users.

Usage

This is a list of the most frequently needed commands.

Build

Build the contracts:

$ forge build

Clean

Delete the build artifacts and cache directories:

$ forge clean

Compile

Compile the contracts:

$ forge build

Coverage

Get a test coverage report:

$ forge coverage

Format

Format the contracts:

$ forge fmt

Contributors

License

This project is licensed under MIT.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 95.8%
  • TypeScript 4.2%