PLATFORM

The uPort Platform is our implementation of the uPort Protocol designed to make decentralized identities on Ethereum easy to create and use for developers and users. uPort's modular, open-source components can easily support any Ethereum network, and are available for you to use today.

Ethereum Identity Components:

Decentralized identity infrastructure for the Ethereum network, implemented as smart contracts.

  • Identities: uPort IDs and accounts on the Ethereum network. Current version is a Proxy Contract.

  • Identity Manager: Exists to provide a simple way to create and manage identities on Ethereum. Current version is called MetaIdentityManager.

  • Claims Registry: A general purpose registry where identities can send claims messages for permanent public record. Registry contracts provide a PKI mechanism for identities to publicly claim their official uPort Document, containing critical PKI information and other metadata, in a way that can be publicly searched and discovered by other participants on the network. Actually, registry contracts can be used to store any kind of public claim. Current version is called the Ethereum Claims Registry and we submitted it for consideration as an Ethereum standard in ERC 780.

Network Microservices:

Hosted web services that make using the uPort network simpler. The goal is for these services to be replaced by decentralized alternatives as they become more feasible.

  • Nodes: Cloud node infrastructure required to access various decentralized networks. Improves usability for end users. Operated by Infura (http://infura.io/), another ConsenSys project.

  • Messaging: Message service that allows communication between uPort clients. Current implementations are called Chasqui (message queue), and Pututu (mobile push).

  • Fueling: Background service that funds network transactions without the user needing to interact with network fees, such as gas. Solves a major onboarding and usability hurdle for mainstream adoption. Current implementation is called Sensui.

  • Backup: Exists to provide a secure backup solution to private identity data. Current implementation is called Caleuche.

  • Identity Creation: Exists to provide an easy way to create uPort identities on the network. Current implementation is called Unnu.

Libraries:

Open source libraries for developers to quickly start integrating with the uPort network.

  • uPort Connect: Enables web applications to communicate with uPort Wallet. Desktop web applications transport messages via QR codes and push notifications, while mobile web applications use applinks.

  • uPort Identity: Provides a library of uPort identity code including identities, identity managers, and more.

  • uPort Credentials: Makes it easy to generate JWT Statements, including request tokens and credentials. This is currently wrapped in the uPort JS library.

  • uPort JWT: Makes it easy to verify signatures against the uPort PKI. This is currently wrapped in the uPort JS library.

  • uPort Mobile SDK: Native mobile libraries for uPort-enabled mobile applications. Coming soon.