Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DIDs Demystified: A hands-on intro to DIDs via the Bitcoin Reference (BTCR) DID Method

246 views

Published on

This talk will demystify Decentralized Identifiers (DIDs) via the simple Bitcoin Reference (BTCR) DID Method. Kim will introduce the basics of DIDs and show how they work in action through demos of the creation/updating and resolution process in BTCR. We'll build on this knowledge by discussing advanced features enabled by DIDs, along with a brief survey of other DID methods. By the end of the talk, you'll be able to create and resolve your own BTCR DIDs through the live BTCR playground.

Published in: Internet
  • Be the first to comment

  • Be the first to like this

DIDs Demystified: A hands-on intro to DIDs via the Bitcoin Reference (BTCR) DID Method

  1. 1. twitter.com/kimdhamilton DIDs Demystified A hands-on intro to DIDs via the BTCR DID Method June 6, 2018 SSIMeetup.orghttps://creativecommons.org/licenses/by-sa/4.0/ Kim Hamilton Duffy CTO of Learning Machine, Principal Architect of Blockcerts and co-chair W3C Credentials Community Group
  2. 2. 1. Empower global SSI communities 2. Open to everyone interested in SSI 3. All content is shared with CC BY SA SSIMeetup.org Alex Preukschat @SSIMeetup @AlexPreukschat Coordinating Node SSIMeetup.org https://creativecommons.org/licenses/by-sa/4.0/ SSIMeetup objectives 6 June 2018
  3. 3. How I got involved with SSI ● CTO of Learning Machine ● Principal Architect of Blockcerts ● Open source/open standards for blockchain verification of credentials ● Open Badges and Verifiable Credentials Alignment ● JSON-LD signatures and suites ● RWoT => Involvement with Decentralized Identifiers (DIDs) and the BTCR Method Spec ● Co-chair W3C Credentials Community Group SSIMeetup.org
  4. 4. Orientation From Drummond Reed’s SSI Meetup 2 (DIDs) Method DID prefix Sovrin did:sov: Bitcoin Reference did:btcr: Ethereum uPort did:uport: Blockstack did:stack: Veres One did:v1: IPFS did:ipld: SSIMeetup.org
  5. 5. Why BTCR is interesting ● Long-lived, recipient-owned EDU/OCC verifiable credentials ● “Subject” of credentials => the biggest challenge is identity ● User-friendly approaches to cryptographic key management lacking ● Risk to longevity and usability ● Solution is DIDs ● BTCR’s simplicity ● Bitcoin blockchain already available! ● Simple implementation, minimal feature set => easy to reason about ● Useful baseline from which to understand with more advanced DID capabilities ● Can start experimenting with DIDs immediately SSIMeetup.org
  6. 6. How it works ● An example BTCR DID ● Finding on the Bitcoin blockchain ● Creating ● Updating ● Resolving
  7. 7. A BTCR Decentralized Identifier ● References network (mainnet, testnet3, …), block height and position ● Bech32 encoded Transaction Position References ● Proposed extensions ● From this string, a BTCR DID resolver can generate a DID Document SSIMeetup.org did:btcr:xkyt-fzgq-qq87-xnhn
  8. 8. Preview: BTCR DID Document SSIMeetup.org More on this later
  9. 9. Where it lives on the Bitcoin blockchain SSIMeetup.org did:btcr:xxxx
  10. 10. Creating a BTCR DID SSIMeetup.org
  11. 11. Updating a BTCR DID SSIMeetup.org
  12. 12. Resolving a BTCR DID ● Build “implicit” DID from transaction ● Lookup continuation DID Document ● Build final “constructed” DID document SSIMeetup.org
  13. 13. Demos ● Resolving step-by-step ● Creating SSIMeetup.org
  14. 14. BTCR Resolver Playground https://weboftrustinfo.github.io/btcr-tx-playground.github.io/ SSIMeetup.org
  15. 15. BTCR Resolution: Implicit DID Document SSIMeetup.org ● Derived Exclusively from the Transaction ● Default authentication capability from signing key ● “Continuation” DID Document ● Method-specific metadata
  16. 16. BTCR Resolution: Look up Continuation SSIMeetup.org ● “Continuation” DID Document Contents ● Immutable vs mutable storage and signatures
  17. 17. BTCR Resolution: Constructed DID Document SSIMeetup.org
  18. 18. BTCR Creation SSIMeetup.org
  19. 19. Discussion ● Limitations ● What you can do with a BTCR DID ● Other DID Method Specs and capabilities SSIMeetup.org
  20. 20. Limitations and Quirks ● NodeJS libraries use explorers ● Explorer vs Bitcoin node ● C++ libraries offer more robust options ● Various quirks ● Confirmation time ● Continuation DID Documents SSIMeetup.org Issues: https://github.com/w3c-ccg/didm-btcr/issues
  21. 21. What you can do with a BTCR DID ● Sign a Verifiable Credential ● Authenticate (DID Auth) SSIMeetup.org
  22. 22. Other DID capabilities ● Guardian-managed ● m of n signatures ● “Social” recovery SSIMeetup.org
  23. 23. Get involved ● Incubate ● User stories ● Prototype ● Whitepapers ● Hackathons ● Blockchain Commons (Christopher Allen) ● Draft Specifications ● Contribute Use Cases ● Code and other specs ● BTCR: see references + Ryan Grant/Dan Pape’s C++ repo (https://github.com/dcdpr/btcr-DID-method) ● Method Specs ● DID Auth ● Resolver Internet Identity Workshop Rebooting Web of Trust Credentials Community Group Decentralized Identity Foundation • Credentials CG • Verifiable Claims WG • Veres One CG • DID WG (soon) SSIMeetup.org
  24. 24. References from this talk ● SSI Meetup Webinar Decentralized Identifiers (DIDs), Drummond Reed: http://ssimeetup.org/decentralized-identifiers-did-fundamental-block-self-sovereign-identity-drummond-reed-webinar-2/ ● DID Draft Specification: https://w3c-ccg.github.io/did-spec/ ● DID Method Registry: https://w3c-ccg.github.io/did-method-registry/ ● How BTCR resolution works, Kim H. Duffy, Christopher Allen, Ryan Grant, Dan Pape: https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-spring2018/blob/master/final-documents/btcr-resolver.pdf ● Universal Resolver, Markus Sabadello: https://medium.com/decentralized-identity/a-universal-resolver-for-self-sovereign-identifiers-48e6b4a5cc3c ● BTCR Playground: https://weboftrustinfo.github.io/btcr-tx-playground.github.io/ ● Related Libraries: ● https://github.com/WebOfTrustInfo/btcr-did-tools-js ● https://github.com/WebOfTrustInfo/txref-conversion-js ● Bech 32 Encoded Transaction Position References, Jonas Schnelli: https://github.com/veleslavs/bips/blob/c83837536d6629f754ce5a88bbe245e0a615e76e/bip-XXXX-Bech32_Encoded_Transaction_Position_Referenc es.mediawiki ● Summary of Proposed Extensions: https://github.com/w3c-ccg/didm-btcr/issues/1 ● Proposal, Dan Pape: https://github.com/danpape/bips/blob/Bech32_Encoded_TxRef/bip-0136.mediawiki ● Blockcerts: https://www.blockcerts.org/ ● Groups: ● W3C Credentials Community Group: https://www.w3.org/community/credentials/ ● Internet Identity Workshop: https://www.internetidentityworkshop.com/ ● Rebooting Web of Trust: http://www.weboftrust.info/ ● Decentralized Identity Foundation: http://identity.foundation/ SSIMeetup.org
  25. 25. twitter.com/kimdhamilton DIDs Demystified A hands-on intro to DIDs via the BTCR DID Method June 6, 2018 SSIMeetup.orghttps://creativecommons.org/licenses/by-sa/4.0/ Kim Hamilton Duffy CTO of Learning Machine, Principal Architect of Blockcerts and co-chair W3C Credentials Community Group

×