BTCR DID Method Updates

Kim Hamilton Duffy
3 min readJun 21, 2019

--

About BTCR

The Bitcoin Reference DID method (did:btcr) is designed as a minimal, secure, and open Decentralized Identifier (DID) method anchored to the Bitcoin blockchain. DIDs are an interoperable locator for identity that does not require permission from anyone else. The BTCR method specifically is fully open source — not tied to a commercial vendor — which makes it a valuable vendor-agnostic demonstration of the emerging DID specification.

Diagram of demonstrating BTCR DID Creation

Latest Updates

BIP-136 (TxRefs) merged

Most recently, BIP-136 was merged, allowing us to finalize BTCR identifier syntax. BIP-136 describes TxRefs, which are a standard, reliable, concise way to refer to a transaction position in the Bitcoin blockchain (with an optional outpoint index), and are relied on for BTCR identifiers. Previously, BTCR syntax deviated slightly from BIP-136 because we wanted the following changes:

  • ability to refer to a specific tx output
  • eliding the human readable part (HRP) for conciseness

Dan Pape worked with the BIP-136 authors to merge in these changes, so now we are able to use the standard TxRef format.

We recently updated the BTCR method spec, reference libraries, and playground to use the updated format and terminology.

Propagated BTCR v0.1 design decisions

Earlier this year we published BTCR v0.1 design decisions. These scope-cutting decisions were made because we want to ship an MVP, and we are mostly volunteer-fueled (see below if you want to help).

We recently updated the BTCR method spec, reference libraries, and playground to reflect the v0.1 design decisions.

Latest Pointers

You can find the latest BTCR materials here:

Learn/Read

Code

Next Steps

We still have a lot to do. Some examples include:

  • Documentation and samples
  • Other developer-focused documentation (e.g. Jupyter notebook)
  • More examples of Verifiable Credentials and E2E demonstration of DIDs with Verifiable Credentials
  • Update resolvers and libraries to support update and delete operations
  • Development of a BTCR wallet/mobile app
  • Update playground to support easier creation of BTCR testnet DIDs (e.g. a hosted service backed with faucet funds)
  • Connect playground to golang BTCR REST api

See the end for how to help or get involved.

Thanks to our supporters

Progress on the BTCR method has been fueled by funding from Blockchain Commons, Digital Contract Design, and the Shuttleworth Foundation and a lot of generous volunteer effort. Thanks to our sponsors and volunteers for keeping this important work going.

Thanks to our sponsors: Blockchain Commons, Digital Contract Design, and the Shuttleworth Foundation

Volunteer or Donate

We will continue progress at these events:

Email us at btcr-developers@googlegroups.com if you’d like to join the BTCR hackathon or contribute asynchronously (please specify your interests — e.g. doc writing, library development, etc).

We also welcome donations, which we need to fund more specialized work like wallet development, security review, or even sample creation. BTC donation information is here.

Authors: Kim Hamilton Duffy, Ryan Grant, Dan Pape, Christopher Allen

--

--

Kim Hamilton Duffy

Director of Identity and Standards at Centre Consortium