Decentralized Identifiers (DID)
What it is
A Decentralized Identifier (DID) is a globally unique identifier that its subject controls directly, without a central registration authority. It is the addressing layer of decentralized identity: where a URL points to a web page, a DID points to a DID document holding the public keys and service endpoints needed to interact with the subject, whether a person, an organization or a device.
A DID looks like did:method:identifier, for example did:web:example.com or did:key:z6Mk.... It is standardized by W3C DID Core 1.0. In practice, DIDs matter most as issuer identifiers: they let a verifier find the key that signed a verifiable credential without a central directory.
Status (November 2026)
| Document | Status | Date |
|---|---|---|
| DIDs v1.0 | W3C Recommendation | 19 July 2022 |
| DIDs v1.1 | Candidate Recommendation Snapshot | 5 March 2026 |
| DID Resolution v1 | Candidate Recommendation Draft | 3 November 2026 |
| Controlled Identifiers v1.0 | W3C Recommendation (DID 1.1 builds on it) | 15 May 2025 |
| DID Extensions registry | Working Group registry, not a standard | Updated continuously |
The DID Working Group is chartered until 31 January 2027. DID 1.1 states it cannot exit Candidate Recommendation until DID Resolution meets its own exit criteria, so the two are coupled. Per its revision history, DID 1.1 refactors the spec onto Controlled Identifiers, moves resolution out, consolidates media types into application/did, and adds a v1.1 JSON-LD context. For implementers, 1.0 DID documents remain the baseline; 1.1 mainly changes how the spec is layered.
How it works
A verifier receives a credential signed by did:web:university.example:
- Parse. The method is
web, so the identifier maps tohttps://university.example/.well-known/did.json. - Resolve. A resolver applies the method's rules and returns the DID document plus resolution metadata. DID Resolution standardizes that interface.
- Select a key. The credential's proof names a verification method such as
did:web:university.example#key-1. Fragment dereferencing finds it in the document. - Check the relationship. The key must be listed under the right verification relationship (for credentials,
assertionMethod), not just present. - Verify. The verifier checks the signature, then decides whether it trusts that DID as an issuer, typically through a trust registry or allowlist.
Step 5 is the one teams skip. A valid signature from a DID only proves control of a key, not that the controller is a real university.
DID methods
The method determines how a DID is created, updated and resolved. The W3C DID Extensions registry listed 275 methods on 5 November 2026 (272 registered, 3 deprecated). New entries are a JSON file in a pull request that passes automated validation, an AI-based preliminary spec review, and at least two maintainer reviews. That is a listing process, not a security audit. Our DID methods compared guide covers the trade-offs in depth.
| Method | Anchored in | Good for | Watch out for |
|---|---|---|---|
did:web |
A domain over HTTPS (CCG spec) | Enterprise issuers and verifiers | DNS spoofing, hosting compromise, no history |
did:webvh |
Web plus a verifiable history log (DIF spec) | did:web with an audit trail | Newer, fewer resolvers |
did:key, did:jwk |
The key itself | Holder keys, tests, short-lived use | No rotation: new key, new DID |
did:peer |
Shared only between parties | Pairwise connections | Not publicly resolvable by design |
did:ion, did:ethr, did:indy, did:cheqd |
Bitcoin, Ethereum, Indy ledgers, cheqd network | Ecosystems already on that ledger | Ledger governance, fees, resolver dependency |
See also the DID method glossary entry.
Who implements it
- Microsoft Entra Verified ID: its standards page lists
did:webas the only entity identifier method, with DIF Well Known DID Configuration to tie a DID to a domain. - Procivis: supports
did:key,did:web,did:jwkanddid:webvh. - cheqd:
did:cheqdis in the registry, pointing to cheqd's method spec. - Hyperledger Indy, Aries and AnonCreds:
did:indyis registered for "any Hyperledger Indy ledger".
Compare platforms in best decentralized identity platforms.
Security and privacy pitfalls
DID 1.1 and the did:web spec spell out the risks:
- Key loss and compromise. DID 1.1 says cryptography alone cannot show whether a key is compromised, so relying systems should periodically confirm the controller still has control. Plan rotation and recovery before launch, and never reuse recovery keys for other purposes.
- did:web inherits the web's weaknesses. Without DNSSEC or DNS over HTTPS, an attacker can serve a fake DID document. A compromised web server can rewrite
did.json. There is no built-in history, so keep the document in version control. - Resolution leaks. The DNS provider and web host can see who resolves a
did:web, which tells them who is verifying whose credentials. Cache documents or use a trusted resolver. - Correlation. A long-lived public DID for a person is a global tracking identifier. DID 1.1 warns against correlatable identifiers and data in DID documents. Use pairwise or ephemeral identifiers for holders.
- Method sprawl. Supporting many methods means trusting many resolvers. Pick two or three.
- Mistaking identifiers for trust. A DID is not an identity claim. Trust still comes from the credentials issued and the trust registries that vouch for issuers.
How it fits with the other standards
VC Data Model 2.0 credentials commonly name a DID as issuer, and Data Integrity proofs reference DID verification methods. OpenID4VP defines a decentralized_identifier client identifier prefix and OpenID4VCI's proofs can bind a credential to a holder key. The two largest government deployments use certificates instead: mDL chains to IACA roots, and HAIP and the EUDI Wallet use X.509 chains and trusted lists. If you need EU interoperability, plan for X.509 alongside DIDs.
Related
Guides: what is decentralized identity, what is self-sovereign identity, DID methods compared, decentralized identity vs federated identity. Standards: Verifiable Credentials, OpenID4VC, eIDAS 2 / EUDI Wallet, mDL. Glossary: DID, DID document, DID method, self-sovereign identity. Vendors: decentralized identity. Directory: digital IDs by country.
Who wrote it
The DID 1.0 specification was co-edited by Drummond Reed, Manu Sporny, and Christopher Allen, who also co-authored TLS 1.0 and named self-sovereign identity. Samuel M. Smith argues the ledger-less case with KERI. More in the experts directory.
Decentralized Identifiers (DID): frequently asked questions
- What is the current status of the DID specification?
- Decentralized Identifiers (DIDs) v1.0 has been a W3C Recommendation since 19 July 2022. DIDs v1.1 was published as a Candidate Recommendation Snapshot on 5 March 2026, and the W3C DID Working Group, chartered until 31 January 2027, is also taking DID Resolution v1 through Candidate Recommendation (latest draft 3 November 2026). DID 1.1 cannot leave Candidate Recommendation until DID Resolution meets its own exit criteria.
- What changed in DID 1.1?
- According to its revision history, DID 1.1 is refactored to build on the W3C Controlled Identifiers v1.0 Recommendation, moves resolution into the separate DID Resolution specification, consolidates media types into application/did, adds a v1.1 JSON-LD context, clarifies fragment resolution, and updates HTTP references to RFC 9110. Most of the rest is editorial.
- How many DID methods are there?
- The W3C DID Extensions registry on GitHub held 275 method entries when we checked on 5 November 2026: 272 with status registered and 3 deprecated. Registration means a method passed the registry's checklist and maintainer review, not that it is secure, widely supported or suitable for production.
- Which DID method should an enterprise use?
- For most organizations starting out, did:web. It is anchored to a domain you already control over HTTPS, needs no ledger, and is the only entity identifier method Microsoft Entra Verified ID supports. Its trade-off is that it inherits DNS and web hosting risk and has no built-in history. did:key and did:jwk suit short-lived or holder keys with no lookup.
- Does the EU Digital Identity Wallet use DIDs?
- Not as its trust backbone. The ARF names ISO mdoc and SD-JWT VC as formats, and HAIP requires issuers to carry X.509 certificate chains in the x5c header. OpenID4VP does define a decentralized_identifier client identifier prefix, so DIDs remain usable in other OpenID4VC ecosystems.
Related on Start with Identity
- RankingBest Decentralized Identity for Enterprises: Top 5
The best enterprise decentralized identity platforms in 2026: Microsoft Entra Verified ID, MATTR, Spruce ID, Dock, and Affinidi. Ranked for standards, scale, go
- RankingBest Decentralized Identity Platforms for Reusable KYC
The best decentralized identity platforms for reusable KYC in 2026: Trinsic, Dentity, Dock, walt.id, and Affinidi. Ranked for reusable-credential focus, develop
- BlogCisco FMC shipped with hardcoded credentials, and attackers found them before the patch did
CVE-2026-20316 is a low-privileged account with credentials hardcoded into Cisco Secure Firewall Management Center, giving unauthenticated remote attackers acce
- ExpertDecentralized Identity Advocate and Co-founder, IIW
Kaliya Young, known widely as Identity Woman, is a central figure in decentralized identity. She co-founded the [Internet Identity Workshop (IIW)](/conferences/
- GuideDecentralized Identity Explained: A Practical Guide
A practitioner's overview of decentralized identity: the issuer-holder-verifier model, the standards that make it work, where it is real today, and how to decid
- ArticleDecentralized Identity for Enterprises: A 2026 Adoption Guide
How enterprises should approach decentralized identity in 2026: where it fits alongside existing IAM, the concrete use cases, a phased adoption path, and the go