uPort approach to Ethereum Identity
andres.junge@consensys.net
team@uport.me
What is identity?
Government: TAX
Corporations: Employees and Customers
Web 2.0 companies: email, Facebook Connect, Login with Google
Fintech companies: KYC
Ethereum dApps: Ethereum Address
NGOs: Valid form of verification (refugees)
uport
Identity Standards
Claims
Attestations
Credentials
Certificates
Directories
Registry
Identifiers
uport
Identity Standards
ITU X.500 family -> X.509
OpenID & OAuth
Decentralized Identity Foundation
http://identity.foundation/
uport
Identity Concepts
Identifiers -> DIDs
Claims
Source --[ claim ]--> Target
uport
How to ask for an Identity?
How to ask for / verify a Claim?
uPort
an open Identity platform built on Ethereum
uport
open uPort platform
Identity is an MNID
uport
Optional Proxy Contract
Shared registry for public claims (ERC-780)
Decentralized Public Key Infrastructure (PKI)
JWT-based messaging system
Standard flow for requesting private data
Standard format for off-chain claims
DIF compliant DID implementation
Decentralized Identity Foundation
DID: Decentralized Identifier
uport
did:[method]:[method specific identifier]
uPort DID
did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX
DID document
Public claims, Public keys, endpoints for more identity info
Resolver
uPort DID resolver
uport
contract UportRegistry {
mapping(bytes32 => mapping(address => mapping(address => bytes32))) public registry;
//create or update
function set(bytes32 registrationIdentifier, address subject, bytes32 value){
registry[registrationIdentifier][msg.sender][subject] = value;
}
function get(bytes32 registrationIdentifier, address issuer, address subject)
constant returns(bytes32){
return registry[registrationIdentifier][issuer][subject];
}
}
did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX
resolve(did): UportRegistry.get('uPortProfileIPFS1220',mnid,mnid) -> ipfsHash
uport
uPort Layered Approach
Ethereum
Access Control Layer*
uPort Proxy (Identity)*
MNID
On-chain registry (ERC-780)
DID Document Storage (IPFS)
uPort DID Resolver
uPort PKI
Off-chain Claims
Selective Disclosure Flow
more info
uport
team@uport.me
https://github.com/uport-project
https://github.com/ethereum/EIPs/issues/780
https://developers.uport.me
one last thing...
uport
uPort approach to Ethereum Identity
andres.junge@consensys.net
team@uport.me
uPort EthCC 2018
By Andres Junge
uPort EthCC 2018
- 501