did:btcr2 is a censorship resistant DID Method using the Bitcoin blockchain as a Verifiable Data Registry to announce changes to the DID document. It improves on prior work by allowing: zero-cost off-chain DID creation; aggregated updates for scalable on-chain update costs; long-term identifiers that can support frequent updates; private communication of the DID document; private DID resolution; and non-repudiation appropriate for serious contracts.
did:btcr2 is created for those who wish to have it all:
- resistance to censorship;
- non-correlation through pairwise DIDs;
- private communication of the DID document;
- a closed loop on private DID resolution;
- efficiency (in cost and energy usage), via offline DID creation and aggregatable updates;
- long-term identifiers that can support frequent updates; and
- Non-Repudiation appropriate for serious contracts.
Visit dcdpr.github.io/did-btcr2 to read the did:btcr2 method specification.
For users — install, configure, usage, demos, and the language-implementation comparison: btcr2.dev.
For contributors — architecture, build system, PR workflow, release process, and per-package API reference: start from docs/index.md (browsable on GitHub or in your editor) or build the unified local site:
pnpm install
pnpm docs:build
pnpm docs:serve # http://localhost:3000The contributor docs are generated by TypeDoc and combine hand-written narrative pages (docs/architecture/, docs/contributing/, docs/adr/) with auto-generated API reference for all 9 packages. Output lives in .docs-site/ and is gitignored.
Visit btcr2.dev to learn more about the TypeScript implementation: @did-btcr2/method
Visit btcr2.dev to see @did-btcr2/method in action.
Visit btcr2.dev for install and usage instructions.
| Package | Version | Issues | Pull Requests |
|---|---|---|---|
| @did-btcr2/api | |||
| @did-btcr2/bitcoin | |||
| @did-btcr2/cli | |||
| @did-btcr2/common | |||
| @did-btcr2/cryptosuite | |||
| @did-btcr2/keypair | |||
| @did-btcr2/kms | |||
| @did-btcr2/method | |||
| @did-btcr2/smt |
| Resource | Description |
|---|---|
| CODEOWNERS | Outlines the project lead(s) |
| LICENSE | Project Open Source License |