Decentralized Identifier (DID) methods are the mechanisms that define how DIDs are created, resolved, updated, and deactivated within specific implementation environments. While the DID core specification establishes the syntax and basic data model, DID methods provide the actual implementation details for different technological infrastructures.
Think of DID methods as specialized protocols that determine:
Each DID method implements these operations in ways that leverage the properties of their underlying technology platforms, whether that's a blockchain, distributed ledger, peer-to-peer network, or web domain.
DID methods are crucial for several reasons:
This flexibility is central to the DID architecture's goal of providing decentralized identity that works across many contexts while remaining under the control of the identity owner.
Every DID contains a method identifier that follows the did:
scheme prefix. This method identifier specifies which protocol handles that particular DID. For example:
did:web:example.com
uses the "web" methoddid:ethr:0x123...
uses the "ethr" methoddid:key:z6Mk...
uses the "key" methodFollowing the method identifier is the method-specific identifier, which follows rules defined by each DID method specification. This identifier can take various forms:
For example, in did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK
, the string beginning with z6Mk...
is a multibase-encoded public key that serves as the method-specific identifier.
Some DID methods support additional parameters that influence resolution or provide context. These parameters appear after the method-specific identifier and are preceded by a question mark:
Each DID method must define how the four basic operations are performed:
The create operation generates a new DID within the specific method's environment. This typically involves:
For example, the did:key
method creates DIDs by directly encoding a generated public key, while did:ethr
might require a transaction on the Ethereum blockchain.
The read operation, often called resolution, retrieves the DID document associated with a DID. This process varies significantly between methods:
did:web
resolves by fetching a document from a web serverdid:ethr
resolves by reading state from the Ethereum blockchaindid:key
constructs a DID document directly from the encoded key materialResolution may also include additional steps for verification, dereferencing, or handling method-specific parameters.
The update operation allows a DID controller to modify the DID document. Methods define specific mechanisms for proving control and executing updates:
Update mechanisms must maintain security and allow for key rotation, service endpoint changes, and other modifications.
The deactivate operation signals that a DID should no longer be used. This might include:
DID methods can be categorized based on their underlying technology infrastructure:
Blockchain-based methods like did:ethr
, did:ion
, and did:cheqd
leverage distributed ledger technology to provide:
These methods typically offer strong security and persistence at the cost of higher complexity and potentially higher operational expenses.
Methods like did:dht
and did:peer
use other forms of distributed systems such as distributed hash tables or peer-to-peer networks. These offer:
Methods like did:key
and did:jwk
directly encode cryptographic material in the identifier itself, providing:
These methods are ideal for lightweight or ephemeral identities and bootstrapping trust relationships.
Methods like did:web
and did:dns
leverage existing web infrastructure:
Domain-based methods often trade some aspects of decentralization for practicality and immediate usability.
When selecting a DID method, consider these key factors:
No single method is optimal for all use cases. The best approach is to match method selection to specific application requirements and constraints.
Vidos supports multiple DID methods to provide flexibility and interoperability across different identity ecosystems. For a comprehensive list of all supported methods and their specific implementations, see the Supported DID Methods reference documentation. This multi-method approach enables:
Vidos abstracts the complexity of different DID methods behind consistent interfaces while preserving the unique capabilities of each method. This allows applications to:
The Vidos resolver service acts as a unified resolution endpoint that:
Each DID method in Vidos can be configured through its dedicated management service, allowing for:
Different DID methods excel in specific scenarios:
Methods like did:key
, did:ion
, and did:cheqd
support self-sovereign identity use cases where the individual maintains full control without dependence on centralized authorities.
Methods like did:web
and domain-based approaches often work well in enterprise contexts where existing infrastructure and organizational governance are important factors.
Multi-chain methods like did:pkh
facilitate identity that works across different blockchain ecosystems, enabling broader interoperability.
Methods with enhanced privacy features like selective disclosure and minimal correlation support privacy-preserving applications.
Methods like did:ebsi
are designed with specific regulatory frameworks in mind, making them suitable for government and regulated industry applications.
The DID method landscape continues to evolve with:
Vidos maintains a modular architecture that can adapt to this evolution, allowing new methods to be integrated as they mature and gain adoption.
DID methods transform the abstract concepts of decentralized identity into practical, implementable solutions across diverse technology ecosystems. By understanding the characteristics, operations, and trade-offs of different methods, you can make informed decisions about which approaches best suit your application needs.
Vidos provides a flexible framework that supports multiple methods while maintaining consistent interfaces, allowing you to leverage the specific advantages of each method within a unified identity management system.
For technical details, implementation specifics, and a full list of the DID methods currently supported in Vidos, refer to the Supported DID Methods reference documentation.