uport
개인 공부 용도로 리서치 한 것들 정리한 것으로 부정확할 수 있다.
uPort is a self-sovereign digital identity platform—anchored on the Ethereum blockchain.
UPort 내용 정리
- https://github.com/uport-project/specs
- https://developer.uport.me/
- open source decentralized identity framework (Ethereum DLT 활용)
- 이더리움 컨트랙트를 통해 디자인되었다.
- controller, proxy로 구성
controller : stores a reference to the public key
proxy : contains a reference to the controller contract
- 스마트 컨트랙트에 데이터 자체를 저장하는 건 비용이 많이 들기 때문에, 해시값만 저장해둔 후 실제 데이터는 IPFS에 저장한다.
- 대부분 QR code로 핸들링한다.
UPort Libraries
uport-transports
- Set up communication channels between your app and a uPort client to handle requests and responses.
- uport-credentials 라이브러리와 함께 사용 가능
- 가능한 작업
- 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
uport-credentials
- Library for integrating uPort into node server side applications
- 가능한 작업
- 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
uport-connect
- The uport-connect library is a client-side library that allows you to interact with a user’s uPort identity—through the mobile app.
- 가능한 작업
- Handle user logins
- Request Ethereum transaction signing
- Keep your users logged into an app
- Use QR code & push notification flow for desktop browsers
- Use frictionless app linking for mobile browsers
ethr-did
- W3C DID 표준과 ERC1056을 따르는 라이브러리
- It encapsulates all the functionality of ethr-did-resolver and ethr-did-registry.
- 가능한 작업
- 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)
ethr-did-registry
- This library contains the Ethereum contract code that allows the owner of an ethr-did identity to update the attributes that appear in its did-document.
- Mainnet (id: 1) 0xdca7ef03e98e0dc2b855be647c39abe984fcf21b
- Ropsten (id: 3) 0xdca7ef03e98e0dc2b855be647c39abe984fcf21b
참고
https://github.com/uport-project
https://developer.uport.me/