Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

DID Resolution

DID resolution is the standardized process of retrieving a DID document, which contains public keys and service endpoints, from a Decentralized Identifier (DID) according to its specific DID method.
Chainscore © 2026
definition
DECENTRALIZED IDENTIFIER PROCESS

What is DID Resolution?

DID Resolution is the technical process of retrieving a DID Document from a decentralized identifier (DID).

DID Resolution is the technical process of retrieving a DID Document from a Decentralized Identifier (DID). This is a fundamental operation in decentralized identity systems, as the DID itself is just a persistent URI; the associated document contains the cryptographic material and service endpoints necessary to interact with the identity. The process is defined by the W3C's DID Core specification and involves querying the appropriate DID method—the specific mechanism for a given blockchain or ledger—to fetch the current, verified state of the document.

The resolution process typically involves several key steps. First, the DID resolver parses the DID to identify its method (e.g., did:ethr:... or did:web:...). It then uses the rules of that specific DID method to interact with its underlying verifiable data registry, such as a blockchain, to locate and fetch the corresponding DID Document. This document is returned as a DID Resolution Result, a JSON structure that includes the DID Document itself, along with optional resolution metadata (like timestamps or proof details) and DID Document metadata (like deactivation status).

A crucial aspect of DID Resolution is ensuring cryptographic verifiability. The resolver does not need to be trusted, as the authenticity of the retrieved DID Document can be independently verified by the relying party. This is achieved through proofs, such as digital signatures linked to the DID's keys, which are embedded within the document or the ledger's consensus mechanism. This allows any entity to resolve a DID and cryptographically confirm that the resulting keys and service endpoints are authoritative.

Different DID methods implement resolution in various ways. For example, did:ethr resolvers query the Ethereum blockchain, while did:web resolvers perform an HTTPS fetch from a specified domain. Universal Resolvers are designed to handle multiple DID methods through driver-based architectures, providing a single endpoint for resolving DIDs across different ecosystems. This interoperability is key to building systems that are not locked into a single ledger or technology stack.

In practice, DID Resolution enables core decentralized identity functions. When a user presents a DID to log into a service (DID Auth), the service performs resolution to obtain the public keys needed for authentication. For verifiable credentials, an issuer's DID is resolved to check the revocation status or to verify a credential's signature. The process ensures that identity interactions are rooted in a discoverable, machine-readable, and cryptographically verifiable document, forming the backbone of self-sovereign identity (SSI) architectures.

how-it-works
DECENTRALIZED IDENTIFIER PROCESS

How DID Resolution Works

DID resolution is the technical process of retrieving the cryptographically verifiable document associated with a Decentralized Identifier (DID).

DID resolution is the process of taking a Decentralized Identifier (DID) as input and returning a conforming DID document as output. This document, often called a DID doc, is the machine-readable data structure that contains the public keys, verification methods, and service endpoints necessary to interact with the DID subject (e.g., a person, organization, or device). The resolution process is defined by the W3C's DID Core specification and is fundamental for enabling verifiable interactions in decentralized identity systems.

The resolution process involves several key steps performed by a DID resolver. First, the resolver parses the DID to extract its DID method (e.g., did:ethr:, did:key:, did:web:) and the method-specific identifier. The resolver then interacts with the underlying verifiable data registry associated with that method—such as a blockchain, distributed ledger, or decentralized file system—to fetch the current state of the DID document. This lookup is crucial, as the DID document is not stored within the identifier string itself but is anchored to the registry.

A critical component of resolution is DID URL dereferencing, which goes a step further to locate a specific component within a DID document, such as a particular public key or service endpoint. While resolution fetches the entire document, dereferencing pinpoints a resource identified by a DID URL fragment (e.g., did:example:123#key-1). This allows applications to directly access the specific verification material needed for an operation like creating a digital signature or initiating an encrypted communication channel.

Resolvers must also handle various resolution states. Successful resolution returns a didResolutionMetadata, didDocument, and didDocumentMetadata. However, the process can result in errors, such as invalidDid (malformed input), notFound (DID not on the registry), or deactivated (DID has been permanently retired). Robust resolver implementations manage these states to ensure applications can react appropriately, maintaining the system's reliability and trustworthiness.

In practice, DID resolution can be performed by universal resolvers, which support multiple DID methods through driver plugins, or by method-specific resolvers optimized for a single blockchain ecosystem. The output DID document is inherently cryptographically verifiable; any tampering with the document retrieved from the registry can be detected because its integrity is secured by the underlying ledger's consensus mechanism or via proofs attached to the document itself, such as digital signatures or Merkle proofs.

key-features
CORE MECHANICS

Key Features of DID Resolution

DID Resolution is the process of taking a Decentralized Identifier (DID) as input and returning a DID Document as output. This process is defined by the W3C standard and is fundamental to enabling verifiable, self-sovereign identity.

01

Standardized Resolution Process

The resolution process is formally defined by the W3C DID Core specification. It takes a DID string as input and follows a deterministic algorithm to fetch its corresponding DID Document. This process is independent of any specific blockchain or network, ensuring interoperability across different DID methods (e.g., did:ethr:, did:web:).

02

DID Document Retrieval

The primary output of resolution is a DID Document, a JSON-LD document containing the cryptographic material and service endpoints necessary for interaction. Key components include:

  • Verification Methods: Public keys or other proofs for authentication.
  • Service Endpoints: URLs for interacting with the DID subject (e.g., a messaging service).
  • Controller: The entity authorized to make changes to the DID Document.
03

Decentralized & Verifiable

Resolution does not rely on a central registry. The DID method specifies how to resolve the DID against its underlying system, such as querying a blockchain, a distributed file system (IPFS), or a personal web server. The returned DID Document's integrity is cryptographically verifiable, often through signatures or blockchain consensus.

04

DID Method Drivers

A DID method is a specification defining how a specific type of DID (e.g., did:ethr:) is created, resolved, updated, and deactivated. The resolver uses the method-specific logic to locate the DID Document. Common methods include:

  • did:ethr: Resolves against Ethereum smart contracts.
  • did:web: Resolves via HTTPS from a well-known URL.
  • did:key: Embeds the key material directly in the DID itself.
06

Metadata & Error Handling

The resolution result includes not just the DID Document, but also resolution metadata. This metadata provides context about the resolution process, such as:

  • Content-Type: The MIME type of the returned document.
  • Retrieved Timestamp: When the document was fetched.
  • Resolution Errors: Standardized error codes (e.g., "invalidDid", "notFound") for failed resolutions.
resolution-components
DID RESOLUTION

Core Components of Resolution

DID Resolution is the process of retrieving a DID Document from a Decentralized Identifier (DID). This section breaks down the key technical components that make this secure, verifiable lookup possible.

01

The DID Document

The DID Document is the JSON-LD object returned by resolution. It contains the public keys, service endpoints, and authentication mechanisms associated with the DID. This document is the core credential enabling interactions like signing and encryption.

  • Public Keys: Used for verification and key agreement.
  • Service Endpoints: URLs for interacting with the DID subject (e.g., a messaging service).
  • Proof of Control: The document proves the controller can cryptographically prove ownership of the DID.
02

The Resolver

A Resolver is the software component that performs the resolution process. It takes a DID string as input and returns a DID Resolution Result containing the DID Document and metadata. Resolvers can be:

  • Universal Resolvers: Handle multiple DID methods.
  • Method-Specific Resolvers: Built for a single DID method (e.g., did:ethr, did:key).
  • Client-Side or Server-Side: Can run in a browser, mobile app, or as a backend service.
03

The DID Method

A DID Method defines the specific syntax, operations, and underlying ledger or network for a DID scheme (e.g., did:ethr:..., did:web:...). The method specification dictates:

  • CRUD Operations: How to Create, Read, Update, and Deactivate DIDs on that network.
  • Resolution Algorithm: The precise steps the resolver must follow to fetch the DID Document.
  • Verifiable Data Registry: The system (blockchain, database, etc.) where the DID's state is anchored.
04

DID Resolution Result

The DID Resolution Result is the standardized JSON output of the resolution process, defined by the W3C. It contains more than just the DID Document.

Key components include:

  • didDocument: The resolved DID Document (if successful).
  • didDocumentMetadata: Timestamps, version info, and proof of ledger consistency.
  • didResolutionMetadata: Resolution process details like content type, error messages, and resolver implementation data.
05

Verifiable Data Registry (VDR)

A Verifiable Data Registry is the trusted system where DIDs and their associated public keys are recorded. It provides the necessary data integrity and non-repudiation for the resolution process.

Common VDRs include:

  • Public Blockchains (Ethereum, Bitcoin, Solana)
  • Distributed Ledgers (Hyperledger Indy, IOTA)
  • Decentralized Networks (IPFS, Git)
  • Secure Databases (with verifiable logs)

The VDR is the source of truth the resolver queries.

06

DID URL & Parameters

A DID URL extends a basic DID string to point to specific components within a DID Document or request a particular representation. It enables precise, functional addressing.

Examples:

  • Service Endpoint: did:example:123456#linked-domain
  • Specific Key: did:example:123456#key-1
  • Query Parameters: did:example:123456?service=agent&relativeRef=/path
  • Versioning: did:example:123456?versionId=2

Resolution must correctly parse and process these URL components.

IMPLEMENTATION GUIDE

DID Method Resolution Comparison

A comparison of key technical and operational characteristics across different DID method resolution implementations.

Feature / Metricdid:webdid:keydid:ethrdid:ion

Underlying Ledger

HTTPS Web Server

Cryptographic Key Pair

Ethereum / EVM

Bitcoin + IPFS

Resolution Endpoint

Static JSON File

Local Algorithm

Ethereum RPC Node

Sidetree Node + CAS

W3C DID Core Conformance

Requires On-Chain Transaction

Update/Deactivate Latency

< 1 sec

N/A (Immutable)

~15 sec - 5 min

~10 min - 2 hrs

Verifiable Credential Anchoring

Estimated Operational Cost

$0-50/yr (hosting)

$0

$2-20 per update

$0.05-1 per operation

Decentralization Level

Low (Centralized Server)

High (Key-Based)

High (Public Blockchain)

High (Bitcoin + IPFS)

ecosystem-usage
DID RESOLUTION

Ecosystem Usage & Resolvers

DID Resolution is the technical process of retrieving the DID Document associated with a Decentralized Identifier (DID). This section details the core components and methods used to perform this lookup across different networks.

01

The DID Resolution Process

DID Resolution is the multi-step process of taking a DID string (e.g., did:ethr:0x...) and returning its corresponding DID Document. The process involves:

  • Parsing the DID to extract its method and identifier.
  • Resolving the identifier via the appropriate DID method.
  • Validating the retrieved DID Document's integrity and authenticity.
  • Returning the document, along with optional resolution metadata (e.g., timestamps, proof validity).
03

DID Method Specifications

A DID method defines the precise rules for creating, resolving, updating, and deactivating DIDs on a specific verifiable data registry (e.g., a blockchain). Each method, like did:ethr (Ethereum) or did:sov (Sovrin), has its own specification detailing:

  • The structure of its DID identifier.
  • How the DID Document is anchored to its underlying system (e.g., via smart contracts or ledger transactions).
  • The cryptographic operations supported for key management.
04

Verifiable Data Registries (VDRs)

A Verifiable Data Registry is the decentralized system where DID Documents and their associated public keys are anchored. It is the trust root for the DID method. Common VDRs include:

  • Blockchains (Ethereum, Bitcoin, Polygon) for did:ethr, did:btcr.
  • Distributed Ledgers (Hyperledger Indy, Sovrin).
  • Decentralized Storage Networks (IPFS) for did:web or did:key. The resolver interacts with the VDR to fetch the immutable, verifiable data.
05

Resolution vs. Dereferencing

These are distinct operations in the W3C specification:

  • Resolution fetches the entire DID Document for a DID.
  • Dereferencing fetches a specific component within a DID Document or a resource identified by a DID URL (e.g., did:example:123#key-1 to get just one public key). Dereferencing is often performed after resolution to extract a particular verification method or service endpoint.
security-considerations
DID RESOLUTION

Security Considerations

DID resolution is the process of retrieving a DID document from a Decentralized Identifier (DID). This foundational operation introduces critical security vectors that must be managed to ensure trust and integrity in decentralized identity systems.

01

Resolution Endpoint Trust

The security of the resolution process depends on the trustworthiness of the DID method's resolution endpoint or the Universal Resolver. Key risks include:

  • Man-in-the-Middle (MitM) Attacks: Interception of resolution requests/responses.
  • Endpoint Compromise: A malicious or hijacked resolver returning fraudulent DID documents.
  • Centralization Risk: Over-reliance on a single resolver service creates a single point of failure. Secure resolution requires authenticated channels (HTTPS, DIDs for resolvers) and decentralized resolver networks.
02

DID Document Integrity & Authenticity

A resolved DID document must be cryptographically verifiable as the current, correct state for that DID. Threats include:

  • Document Tampering: Altering public keys or service endpoints post-resolution.
  • Replay Attacks: Substituting an old, valid document for the current one.
  • Key Revocation Lag: Using a compromised key before the revocation is reflected on-chain. Mitigations rely on the DID method's underlying ledger (e.g., blockchain) for immutable proofs and digital signatures embedded in the document or its metadata.
03

Decentralization & Censorship Resistance

A core security promise of DIDs is censorship-resistant identity. Resolution can be vulnerable if:

  • The underlying blockchain (for blockchain-based DIDs) is susceptible to 51% attacks or transaction censorship.
  • Resolver Governance is centralized, allowing operators to blacklist DIDs.
  • Network Accessibility is limited, preventing certain users from querying the resolver. Security is measured by the liveness guarantee—the assurance that any honest party can resolve any DID without permission.
04

Privacy & Metadata Leakage

The resolution process itself can leak sensitive metadata, creating privacy risks:

  • Resolver Correlation: A centralized resolver can log which DIDs a user is querying, building a profile.
  • Network Surveillance: Observing resolution requests on a public network (e.g., P2P gossip).
  • Document Content: DID documents may contain personal service endpoints (e.g., email, IP addresses). Privacy-enhancing techniques include onion routing for requests, blinded resolvers, and minimalist DID documents that avoid PII.
05

Performance & Availability Attacks

Attackers can target the availability and performance of the resolution system:

  • Denial-of-Service (DoS): Flooding a resolver or its underlying infrastructure (e.g., RPC nodes for a blockchain DID method).
  • Slow/Lazy Resolution: Malicious resolvers intentionally delaying responses to degrade user experience.
  • Cache Poisoning: Injecting invalid DID documents into resolver caches. Defenses involve rate limiting, decentralized resolver architectures, efficient caching strategies, and service-level monitoring.
06

Implementation & Specification Risks

Security flaws often arise from incorrect implementation of the W3C DID Core specification or specific DID method specifications. Common issues include:

  • Insecure Defaults: Lack of TLS, improper signature validation.
  • Parsing Vulnerabilities: Malformed DID documents or DID URLs causing crashes or injection.
  • Method-Specific Exploits: Flaws in the smart contract logic of an on-chain DID registry. Mitigation requires rigorous auditing of resolver code, conformance testing to specifications, and responsible vulnerability disclosure programs.
DID RESOLUTION

Common Misconceptions

Decentralized Identifier (DID) resolution is a fundamental process for Web3 identity, yet it is often misunderstood. This section clarifies the technical realities behind common myths about how DIDs are discovered, verified, and linked to their associated data.

No, DID resolution is a cryptographically verifiable process, not a simple database lookup. Resolving a DID involves fetching its DID Document from a decentralized source (like a blockchain or a peer-to-peer network) and cryptographically verifying that the document is authentic and current. This process uses the DID's method-specific identifier to locate the document and then validates signatures or proofs within it, ensuring the binding between the identifier and the public keys or service endpoints is trustworthy. A username lookup typically relies on a centralized directory's authority, while DID resolution establishes trust through cryptographic verification of decentralized data.

DID RESOLUTION

Frequently Asked Questions (FAQ)

Decentralized Identifiers (DIDs) require a standardized process to discover and retrieve their associated documents. This FAQ addresses common technical questions about DID resolution, the protocols that enable it, and its critical role in verifiable credentials and Web3 identity systems.

DID resolution is the technical process of retrieving a DID document from a DID (Decentralized Identifier) using a defined DID method. The process involves a resolver taking a DID string (e.g., did:ethr:0x...) and performing a lookup on the associated blockchain, distributed ledger, or other system specified by the method. The resolver returns a DID resolution result, which contains the DID document—a JSON-LD file holding public keys, service endpoints, and verification methods—alongside resolution metadata about the process. This is standardized by the W3C's DID Core specification to ensure interoperability across different DID methods and networks.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team