DIDs

Identity Protocol

W3C Decentralized Identifiers — foundational specification for globally unique, cryptographically verifiable, resolvable identifiers that are decoupled from centralized registration authorities. A DID resolves to a DID Document containing public keys, verification methods, and service endpoints; the DID and its document are controlled by the holder of associated private keys. Foundation of the broader SSI (Self-Sovereign Identity) ecosystem; over 200 DID methods registered. Member of the W3C SSI Suite alongside W3C Verifiable Credentials and DIDComm.

Community

Details

License Specification only; many reference implementations across languages — SpruceID, walt.id, Veramo, Digital Bazaar libraries, Microsoft ION, ConsenSys uPort/Veramo, etc.
Dev Status 🟢 Active
Dev Status Detail Released / Mature (W3C Recommendation since 2022; broad ecosystem adoption)
Owner W3C; DID Working Group; DID Working Group editors include Manu Sporny, Markus Sabadello, Drummond Reed, others
Country International (W3C)
Start Year 2017
Stack Specification; implementations in nearly every major language — JavaScript/TypeScript (Veramo, Digital Bazaar, walt.id JS), Rust (SpruceID DIDKit), Java/Kotlin (walt.id, IDunion), Python, Go
Funding W3C standards process; substantial industry investment in DID-based products (SpruceID, walt.id, Microsoft, etc.)
Last Investigated Jul 1, 2026

Use Case Domains

Identity Protocol Attributes

Origins Self-Sovereign Identity (SSI) movement; emerged from W3C Credentials Community Group; influenced by earlier work on cryptographic identity (PGP, namecoin, X.509) and the principle that identifiers should be controlled by their subjects rather than by registration authorities
Database DID method-specific — each DID method (did:key, did:web, did:ion, did:peer, did:ethr, etc.) defines its own resolution mechanism, ranging from purely cryptographic (did:key) to blockchain-backed (did:ion, did:ethr) to web-resolvable (did:web)
Query Language DID Resolution (HTTP-based; method-specific; standardized via DIF DID Resolution specification)
Data Formats JSON-LD (canonical DID Document format); JSON (alternative representation); CBOR (efficient binary form); DID syntax: did:method:method-specific-identifier
Mobile Support Yes (DID wallets available on iOS and Android — Lissi, Trinsic, Veramo, walt.id wallet, etc.)
Web Support Yes (did:web, browser-based DID libraries, web-resolution via universal resolvers)
Native Apps Yes (dedicated SSI wallet apps; integration into broader identity ecosystem applications)
Terms Open standard — W3C Recommendation
Funds N/A (specification itself); broader DID ecosystem has received hundreds of millions in funding
Based On Public-key cryptography (Ed25519, secp256k1, P-256, RSA); URI specification (RFC 3986); JSON-LD; earlier self-sovereign identity research; co-designed with W3C VCs and the broader SSI stack
Permissions N/A — DIDs are identifiers; permissions/authorization layered via ZCAPs or other capability systems
Authentication & Identity DID controller holds private key(s) corresponding to public keys published in the DID Document; authentication proves control of the DID by signing a challenge with the corresponding private key; no centralized identity authority
Storage Model DID method-specific — DIDs and their documents may be stored cryptographically (did:key, deriving document from the DID), on blockchains (did:ion, did:ethr), via web hosting (did:web), in peer-to-peer exchanges (did:peer), or in distributed networks
Interoperability High — over 200 DID methods registered; universal resolvers and DID-method-agnostic libraries allow cross-method interoperability; W3C SSI Suite composes DIDs with VCs and DIDComm
Data Portability Identity portability is a core design principle — DIDs can be migrated between methods (e.g. did:peer to did:web) by re-signing with established controller keys; VCs issued to a DID survive method migration
Governance & Decision Making W3C standards process (multi-stakeholder); DID methods themselves have method-specific governance; W3C DID Working Group; ongoing maintenance and version evolution
Protocol Maturity / Standardization W3C Recommendation (Mature) — DID v1.0 Recommendation (July 2022); DID v1.1 in development (2025); broad implementation and adoption; co-designed with W3C VCs and the W3C SSI Suite
Identity Standards Self — W3C DIDs IS an identity standard; composes with W3C VCs, W3C Data Integrity, JSON-LD
DID Methods Supported 200+ DID methods registered with W3C — common methods include did:key, did:web, did:ion, did:peer, did:ethr, did:cheqd, did:jwk, did:pkh, did:tdw, did:webvh, did:plc (used by ATProto/Bluesky); each method has its own specification
Key Management DID-method-specific; common approaches include hardware wallets, mobile secure enclaves, custodial wallets, browser-based key storage; key rotation supported in most methods via DID Document updates
Credential Types DIDs themselves are identifiers, not credentials; they are typically referenced as subjects, issuers, or holders of W3C Verifiable Credentials
Verification Method DID Document contains verificationMethod entries (public keys with type, controller, key material); common types include Ed25519VerificationKey2020, JsonWebKey2020, EcdsaSecp256k1VerificationKey2019; verification done by checking signatures against verificationMethod public keys
Privacy Features Pairwise DIDs (did:peer enables a unique DID per relationship for unlinkability); selective disclosure through associated VCs; pseudonymous identity (DIDs do not inherently reveal personal information)
Authentication Methods Challenge-response with DID-controlled keys; DIDAuth specification; OIDC for VCs (OID4VC); DIDComm messaging-based authentication; signature verification against DID Document's verificationMethod
Revocation Mechanism DID Document deactivation (deactivated flag); key rotation (replacing keys in verificationMethod); method-specific revocation (e.g. did:ion uses Sidetree, did:ethr uses on-chain revocation registries)
Agent Types Supported Humans, organizations, services, devices, software agents, AI agents — anything that can hold cryptographic keys can hold a DID
Wallet/Client Types Mobile wallets (Lissi, Trinsic, walt.id wallet, Microsoft Authenticator with VC support, Spruce ID); browser-based wallets; cloud wallets; custodial wallets; hardware wallets
Recovery Mechanisms DID-method-specific — common approaches include key rotation, social recovery via VCs, mnemonic-based key derivation, multisig controllers; some methods (did:ion) support recovery operations natively
Compliance / Regulations eIDAS 2.0 (EU Digital Identity Wallet uses DIDs and VCs); GDPR (DIDs enable privacy-respecting identity); ISO 18013-5 (mobile driving license); ongoing alignment with various national digital identity initiatives
Credential Exchange Protocols Many — OID4VC (OpenID for Verifiable Credentials), DIDComm, VC-API, CHAPI (Credential Handler API), WACI (Wallet and Credential Interactions); DIDs are the foundational identifier across these protocols
Trust Framework Trust frameworks built on top of DIDs — Trust Over IP, EBSI (European Blockchain Services Infrastructure), GLEIF vLEI, various national SSI frameworks; trust generally roots in issuer DID reputation plus VC verification
Cost Model Specification is free; DID-method-specific operational costs (e.g. on-chain methods like did:ethr have gas costs; did:web has hosting costs; did:key is purely local and free)
Censorship Resistance Variable by DID method — purely cryptographic methods (did:key, did:peer) are highly censorship-resistant; web-hosted methods (did:web) depend on hosting; blockchain-backed methods depend on the underlying chain's properties