A Complete List of uPort’s Protocols, Libraries and Solutions

Want a complete list of uPort’s protocols, libraries and solutions? Congratulations! You’ve come to the right place.

A decentralized identity protocol requires many, many layers to be complete. Hence, this article serves as brief introduction to the range of uPort offerings.

Below you will find a list of our specifications, smart contracts, Javascript libraries and even our AWS lambda functions we use to fund smart contract transaction signing in mid-flight i.e. MetaTransactions.

If you have any questions, please join the uPort Community Channel, create an issue on Github, send us Tweet at @uport_me or contact us directly via email.

decentralize all the things!

The Living “Breathing” White Paper

The industry standard is to publish a white paper. Assess the current centralized and decentralized landscape. Describe the proposed protocol from a very high level. Start buidling.

🚢hodl. buidl. sihp! 🏗

However, the uPort protocol specification is constantly improving and evolving, which is why we removed uPort’s original white paper from the website, in favor of a “living and breathing” specification document.

uPort is nimble and ready to mingle… with other decentralized protocols!

As a developer, if you want to understand how uPort utilizes the Ethereum blockchain and other decentralized solutions, like the InterPlanetary File System (IPFS) the best place to review is our regularly updated specifications.

Again, if you have questions, please join the uPort Community Channel or add an issue to the GitHub repo.

Decentralized Technology — The Foundation

To build decentralized identity requires building atop decentralized solutions. Below is the list of specifications, libraries and protocols built by the uPort team, utilizing decentralized technologies like the Ethereum blockchain and InterPlanetary File System (IPFS) to establish scalable decentralized identity.

Decentralized Identities (DIDs)

uPort Decentralized Identity — The “smart contract” Era

IdentityManager/Proxy Smart Contracts
https://github.com/uport-project/uport-identity

uPort Decentralized Identity — The “ethr-did” Era

At the time of this writing (June 2018) the underlying uPort decentralized identity protocol is undergoing a major update.

The recently published ethr-did specification and libraries forgo the requirement for smart contracts as the on-chain anchor used in our original decentralized identity protocol specification. Using the new ethr-did protocol, creating decentralized identities is an order of magnitudes cheaper.

Now any Ethereum account (public/private key-pair) can now be considered a valid decentralized identity using the new ethr-did decentralized identity protocol at outlined in the ERC 1056 specification. It’s a big deal. BIG!

Ethereum Decentralized Identity (ethr-did)
https://github.com/uport-project/ethr-did

Ethereum Decentralized Identity Registry
https://github.com/uport-project/ethr-did-registry

JSON Web Tokens (JWT) & Resolvers

uPort and DID compliant JWT
https://github.com/uport-project/did-jwt

Generic DID Resolver
https://github.com/uport-project/did-resolver

Decentralized Identity Resolver
https://github.com/uport-project/ethr-did-resolver

DID resolver for uPort identities
https://github.com/uport-project/uport-did-resolver

DID resolver for Ethereum Addresses
https://github.com/uport-project/eth-did-resolver

Javascript Libraries

Backend Library
https://github.com/uport-project/uport-js

Frontend Library
https://github.com/uport-project/uport-connect

Modular uPort Library
https://github.com/uport-project/uport-core-js

Minimal Javascript Implementation
https://github.com/uport-project/uport-js-client

Backend Services

Push Notification Service
https://github.com/uport-project/lambda-pututu

Private Network Support
https://github.com/uport-project/lambda-olorun

Event Hub Service
https://github.com/uport-project/lambda-caleuche

Creator of Identities
https://github.com/uport-project/lambda-unnu

Transaction Funding Service
https://github.com/uport-project/lambda-sensui

The Summary

I like to describe decentralized identity as a digital verification protocol that utilizes Web 3.0 technologies to provide sybil resistant mechanisms for decentralized Internet infrastructure, built atop cryptographic primitives.

The Decentralized Identity Foundation describes DIDs as “Decentralized identities are anchored by blockchain IDs linked to zero-trust datastores that are universally discoverable”, which is also a fantastic elevator pitch.

But no matter how you break it down, building a decentralized identity platform requires crafting and maintaining a lot different building blocks, across multiple technology stacks, both centralized and decentralized.

Whether you want to learn more, contribute to Open Source code, get help from seasoned developers or simply join the decentralized identity discussion please join us the uPort Community Channel 😃today!