Blockstack DID Method is a decentralized identity system built on the Blockstack Network's decentralized naming layer. The method leverages blockchain technology to bind human-readable usernames to public keys and data storage pointers.
Key aspects:
- Uses a decentralized naming system as foundation for DIDs
- Blockchain-agnostic design allows migration between chains
- Currently operates on the Bitcoin blockchain
- Supports both on-chain and off-chain DIDs
- Provides human-readable names mapped to DIDs
The method features:
- Global uniqueness of identifiers
- Cryptographic ownership through public/private key pairs
- Decentralized resolution through the Blockstack Network
- Portable architecture that can migrate between blockchains
- Flexible storage options for DID Documents (DDOs)
Technical Structure:
- Method identifier:
did:stack
- Format:
did:stack:v0:<address>-<index>
- Address: base58check encoding of public key hash
- Index: monotonically increasing integer for multiple DIDs per address
Core Operations:
DID Creation:
- Requires registering a name (on-chain or off-chain)
- Uses
NAME_PREORDER and NAME_REGISTRATION transactions
- Generates unique DID based on address and index
DID Resolution:
- Translates DIDs to names and vice versa
- Returns authenticated DDO through JSON Web Token
- Validates signatures using
secp256k1 keys
DID Updates:
- Supports key rotation through
NAME_TRANSFER
- Allows DDO updates through storage location changes
- Implements
NAME_UPDATE for zone file modifications
DID Deletion:
- Uses
NAME_REVOKE transaction
- Supports both on-chain and off-chain revocation
Security Features:
- Blockchain-based anchoring
- Cryptographic authentication of DDOs
- Decentralized peer network for data distribution
- Replay attack prevention through blockchain anchoring
- Storage provider flexibility for DDO hosting
The method implements the following standards:
W3C DID Core Specification
secp256k1 cryptography
JSON Web Tokens
DNS zone file format