decentralized-id.github.io/_posts/blockchain/ethereum/2019-03-28-uport.md

130 lines
12 KiB
Markdown
Raw Normal View History

2019-03-28 23:40:33 +00:00
---
date: 2019-03-28
2019-03-28 23:40:33 +00:00
title: uPort
2020-01-07 09:40:45 +00:00
description: A self-sovereign identity and user-centric data platform
2019-03-28 23:40:33 +00:00
layout: single
2020-01-07 09:40:45 +00:00
excerpt: "In your application, you must first configure your uPort object with an identifier and a private key (or signer function). There are several ways to instantiate a credentials object. The most common approach is to save a DID and private key on a server for your application and create a credentials instance from your application's unique private key. Signed JWTs for requests and verifications can then be passed to a client-side application, and presented to a user using a QR code or via another transport."
header:
2020-11-19 08:16:51 +00:00
image: /images/uport.webp
2020-01-07 09:40:45 +00:00
caption: "[Releasing uPort Libraries 1.0](https://medium.com/uport/releasing-uport-developer-platform-1-0-97d6f70c5e4a)"
2020-11-19 08:16:51 +00:00
teaser: /images/uport-teaser.webp
2019-03-28 23:40:33 +00:00
toc: false
2019-07-11 06:04:33 +00:00
permalink: /blockchain/ethereum/uPort/
canonical_url: 'https://decentralized-id.com/blockchain/ethereum/uPort/'
redirect_from:
- id-initiatives/ethereum/uport
- blockchain/ethereum/uPort
- id-initiatives/ethereum/uPort/
2020-11-30 21:04:57 +00:00
categories: ["Companies","Ethereum"]
tags: ["Ethereum","Credentials Community Group","GDPR","DID","DIDComm","Consensys","Verifiable Credentials","uPort","Zug","GLEIF","PWC","Onfido","DIF","uPortlandia"]
last_modified_at: 2019-07-11
2019-03-28 23:40:33 +00:00
---
2020-11-30 21:04:57 +00:00
**[uPort](https://www.uport.me/) • [GitHub](https://github.com/uport-project) • [Twitter](https://twitter.com/uport_me) • [Developers](https://developer.uport.me/) • [iPhone](https://apps.apple.com/us/app/uport-id/id1123434510) • [Android](https://play.google.com/store/apps/details?id=com.uportMobile&hl=en)**
2019-03-27 21:50:41 +00:00
![](https://i.imgur.com/sPAP2g3.png)
2020-11-30 21:04:57 +00:00
* [Ethereum studio ConsenSys launches digital IDs and assets secured on Ubuntu phones](http://www.ibtimes.co.uk/ethereum-studio-consensys-launches-internet-people-digital-ids-assets-secured-unbuntu-phones-1542620)
2019-03-27 21:50:41 +00:00
* [Year in Review. What's to come in 2018](https://medium.com/uport/uport-year-in-review-whats-to-come-in-2018-15ccb9214439)
* [Different Approaches to Ethereum Identity Standards](https://medium.com/uport/different-approaches-to-ethereum-identity-standards-a09488347c87)
![](https://i.imgur.com/ASI0PaB.png)
2020-11-05 05:48:47 +00:00
* [uPort donates code to the Decentralized Identity Foundation](https://medium.com/decentralized-identity/uport-donates-code-to-the-decentralized-identity-foundation-349d4740acbd)
- [decentralized-identity/did-jwt-vc](https://github.com/decentralized-identity/did-jwt-vc) - Create and verify W3C Verifiable Credentials and Presentations in JWT format
2020-11-21 17:45:12 +00:00
* [Trusted P2P Messaging with DIDs, DIDComm and VCs](https://medium.com/uport/trusted-p2p-messaging-with-dids-didcomm-and-vcs-398f4c3f3cda) (h/t @by_caballero)
2020-11-18 15:27:05 +00:00
> By resolving a DID a validator can typically discover the authoritative keys for different purposes or more generally, a set of verification methods for that DID. An Ethereum account could be a verification method as well. Service endpoints are extensible by design, so you could define your own ones if needed. However, the DID community has agreed on a set of well known service endpoints. Amongst them, the DIDComm service endpoint solves the how-to-reach-me problem and can be used to establish a secure communication channel with the other party. Despite there are only a few limitations of what properties can be associated with a DID, privacy regulations such as GDPR need to be considered very carefully.
2020-11-30 21:04:57 +00:00
* [GLEIF and uPort Test Verified Data Exchange in Financial Transactions](https://consensys.net/blog/press-release/gleif-uport-test-verified-data-exchange-in-financial-and-commercial-transactions/)
> Switzerland & Paris — The Global Legal Entity Identifier Foundation ([GLEIF](https://www.gleif.org/en/)) and uPort, ConsenSys digital identity platform anchored on the Ethereum blockchain, have partnered to support the process of exchanging verified data used in financial, commercial, and regulatory transactions. GLEIF is the G20-backed non-profit foundation tasked with promoting the use of legal entity identifiers (LEIs) as the global standard to unambiguously identify parties doing business. Together with uPort, GLEIF is testing how businesses can leverage the Ethereum-backed identity system to increase the efficiency of verifying business identities and persons acting on its behalf within the LEI ecosystem.
* [PWC and Onfido Join uPort's Portable Identity Effort in UK Finserv](https://consensys.net/blog/press-release/pwc-and-onfido-to-join-uports-portable-identify-efforts-in-uk/)
> uPort and Onfido have a shared vision of enabling consumers with access and control over their own data. Earlier this year, both companies applied to and were accepted to the UKs Financial Conduct Authority Regulatory Sandbox (Cohort 5) to test how decentralised identity can enable fintech ecosystems in the UK. PWCs UK team, believing that such technology can be a key factor to promote more open financial ecosystems, is partnering with them in this pilot. In joining forces, the teams are committed to building a world where users have control over managing their personal data, and where decentralised identity reintroduces trust and privacy into transactions between parties.
* [Welcome to uPortlandia, the Future of Data and Identity Management](https://media.consensys.net/welcome-to-uportlandia-the-future-of-data-and-identity-management-53220ea4e5c)
> [uPortlandia](https://uportlandia.uport.me/) is uPorts vision of the future of data and identity management. A future of password-free online experiences. A future where you can prove who you are or verify facts about your life while sharing far less personal information. A future where we, the people, we as individuals, control our digital identities. Without being beholden to the Facebooks, Experians, or Googles of the world.
2020-11-18 15:27:05 +00:00
2019-07-12 07:45:44 +00:00
## [developer.uport.me](https://developer.uport.me/)
**Build User-Centric Ethereum Apps**
* [overview/index#u-port-protocols-and-libraries](https://developer.uport.me/overview/index#u-port-protocols-and-libraries)
> * [uPort transports](https://developer.uport.me/transports/index)
> * [uPort Signed Messages](https://developer.uport.me/messages/index)
> * [JWT RFC 7519](https://tools.ietf.org/html/rfc7519) did-jwt
> * [Decentralized Identifiers (DIDs)](https://w3c-ccg.github.io/did-spec/) did-resolver
> * Public Key Lookup [ERC-1056 Lightweight Ethereum](https://github.com/ethereum/EIPs/issues/1056) Identity ethr-did-resolver
> * Creation/Management [Ethereum DID Registry Contract](https://github.com/uport-project/ethr-did-registry) ethr-did
> * [Ethereum JSON-RPC](https://github.com/ethereum/wiki/wiki/JSON-RPC) Web3 or EthJS
> * [Ethereum.org](https://ethereum.org/)
* [Connect Users to Your web3 dApp](https://developer.uport.me/guides/gettingstarted)
>Add full support for uPort by adding a single line of code to your web3 dApp.
>
> * Onboard new users within minutes
> * Instantly create a privacy-preserving Ethereum account
> * Build for both desktop and mobile browsers
* [Issue & Request Verified Credentials](https://developer.uport.me/uport-credentials/index)
>Help your users build their digital identity by issuing Verified Credentials about them or the things they do in your app.
>
2020-11-30 21:04:57 +00:00
> * Request Ethereum transaction signing with web3
> * Issue and Request Verified Credentials about your users
* [uport-credentials/docs/guides - Getting Started with uPort Credentials](https://github.com/uport-project/uport-credentials/blob/develop/docs/guides/index.md)
2019-07-12 07:45:44 +00:00
* [Transactions](https://developer.uport.me/credentials/transactions)
>It is possible with uport-credentials to create an ethereum transaction request and have a mobile client approve and sign that transaction.
![](https://imgur.com/JU7gOEn.png)
* [uport-connect/guides/usage](https://developer.uport.me/uport-connect/guides/usage)
>The uPort Connect library is a client-side library that allows you to interact with a user's uPort identity through a uPort client, primarily the uPort mobile app. The Connect library bundles functionality from our other libraries into a singular, easy to use interface.
>
>This guide describes the parts which make-up Connect and provides further details on how to configure it for your specific use case. While Connect is likely the best solution for most use cases, you may decide you need greater optionality and control over certain use cases, in that situation, you may be interested in using uport-tranports and uport-credentials as an alternative.
* [RequestVerification](https://developer.uport.me/connect/requestverification)
>Much like logging in, using uport-connect to request verified data about uPort mobile clients is simple. So simple we will follow the same steps of logging in, but this time pass an array of verification titles that we want to request for disclosure. Our connect library manages the flow for you with minimal configuration.
![](https://imgur.com/4OQ5C1E.png)
* [SendVerification](https://developer.uport.me/connect/sendverification)
>Much like logging in, using uport-connect to create and send verifications to uPort mobile clients is simple. Our connect library will manage much of the flow for you with minimal configuration.
![](https://imgur.com/W1ppGwb.png)
2020-01-07 09:40:45 +00:00
* [Goodbye uPort DIDs, Hello Ethr-DIDs](https://medium.com/uport/goodbye-uport-dids-hello-ethr-dids-ea2e80256f54)
2020-11-30 21:04:57 +00:00
> Using the [Ethr-DID](https://developer.uport.me/categories/ethr-did/) library, you can:\
2019-07-12 07:45:44 +00:00
>* Create and manage keys for DID identities
>* Sign JSON Web Tokens
>* Authorize third parties to sign on a DID's behalf
>* Enable discovery of service endpoints (e.g. decentralized identity management services)
>
>The Ethr-DID library conforms to ERC-1056 and supports the proposed Decentralized Identifiers spec from the W3C Credentials Community Group. These allow for Ethereum addresses to be used as fully self-managed Decentralized Identifiers (DIDs), as a result, you can easily create and manage keys for these identities. This library also allows you to sign standard compliant JSON Web Tokens (JWTs) that can be consumed using the DID-JWT library.
* [uPort Credentials](https://developer.uport.me/categories/uport-credentials/) library allows you to:
>* Create and verify authentication requests
>* Request verified claims
>* Verify claims for your users
>* Ask users to sign Ethereum transactions
>* Create Ethereum smartcontract function call requests without web 3.0
* [Ethereum DID Registry](https://developer.uport.me/categories/ethr-did-registry/)
>This contract allows on-chain and off-chain resolving and management for DIDs (Decentralized Identifiers).
>
>A DID is an Identifier that allows you to lookup a DID document that can be used to authenticate you and messages created by you.
>
>It's designed for resolving public keys for off-chain authentication—where the public key resolution is handled by using decentralized technology.
>
>This contract allows Ethereum addresses to present signing information about themselves with no prior registration. It allows them to perform key rotation and specify different keys and services that are used on its behalf for both on and off-chain usage.
* [uPort Transports](https://developer.uport.me/categories/uport-transports/) allows you to:
> * Send messages to users using a QR code
> * Send requests and receive responses through URLs
> * Send encrypted push notifications
> * Create Transports specific to your use case and environment
2019-03-27 21:50:41 +00:00
## Zug ID
* [A position paper on blockchain enabled identity and the road ahead](https://www.bundesblock.de/wp-content/uploads/2018/10/ssi-paper.pdf)—Identity Working Group of the German Blockchain Association [[**ϟ**](https://www.bundesblock.de/2018/10/23/position-paper-self-sovereign-identity/)]
> **City of Zug (UPort and ti&m)**
>
> As a first pilot project in Switzerland, the city of Zug is currently piloting a SSI solution. The local administration is cooperating with the IT consulting company ti&m, as well as UPort to provide a basic infrastructure for their citizens to attest their identity. With the SSI implemented in Zug, users can now pay their parking fees, register for elections or perform online sign on for e-government services33. The benefits range for the city of Zug are low infrastructure requirements, decreased security risks, cost effectiveness, GDPR compliance and scalability.
* [Zug ID: Exploring the First Publicly Verified Blockchain Identity](https://medium.com/uport/zug-id-exploring-the-first-publicly-verified-blockchain-identity-38bd0ee3702)
## Literature
* [A First Look at Identity Management Schemes on the Blockchain](https://arxiv.org/pdf/1801.03294.pdf)