A DID Update is a cryptographically signed operation that changes the DID Document associated with a Decentralized Identifier. This document contains the public keys, authentication mechanisms, and service endpoints (like linked social profiles or data storage locations) that define the DID's capabilities. The update process is governed by the rules of the specific DID method being used, which dictates how the transaction is constructed and submitted to the underlying ledger or network. This ensures that only the controller in possession of the correct private keys can authorize changes to their digital identity.
DID Update
What is DID Update?
A DID Update is a transaction that modifies the state of a Decentralized Identifier (DID) on a verifiable data registry, such as a blockchain, by adding, rotating, or removing cryptographic keys and service endpoints.
The most common reasons for a DID Update include key rotation (replacing old cryptographic keys with new ones for security), adding new verification methods (such as adding a biometric authentication key), updating service endpoints (changing where linked data is hosted), or delegating control to another DID. Each update creates a new, verifiable version of the DID Document, preserving a complete history of changes. This immutability and audit trail are core to the trust model of decentralized identity, allowing any verifier to cryptographically confirm the entire lineage of a DID's state.
Technically, an update is executed by submitting a specific transaction—like a did:ethr transaction on Ethereum or a did:sov write operation to an Indy ledger—that includes the new DID Document or a set of change patches. The update must be signed with a private key currently authorized in the previous version of the document. This mechanism prevents unauthorized alterations and ensures self-sovereignty, as the identity owner maintains direct control without relying on a central authority to approve changes.
How a DID Update Works
A DID Update is the process of modifying a Decentralized Identifier's state on its underlying verifiable data registry, such as a blockchain, by submitting a new DID Document.
A DID Update is a transaction that changes the state of a Decentralized Identifier (DID) on its associated verifiable data registry, typically a blockchain or distributed ledger. The core action is submitting a new DID Document—a JSON-LD file containing public keys, service endpoints, and verification methods—that supersedes the previous version. This operation is authorized by the current controller of the DID, who must cryptographically sign the update request with a private key referenced in the active DID Document. The update is then broadcast to the network, where nodes validate the signature and the update's compliance with the registry's rules before committing the new state.
The mechanics of an update are governed by the DID's method specification, which defines the precise transaction format and validation logic for a specific blockchain (e.g., did:ethr, did:sov, did:ion). Common update actions include: rotating or adding new public keys for enhanced security, adding or removing service endpoints to point to different hubs or agents, updating verification relationships for specific purposes like authentication or assertion, and delegating control to other DIDs. Crucially, the entire history of updates is immutable and traceable on the underlying ledger, creating a verifiable audit trail of the identifier's evolution.
From a security perspective, DID Updates enable key rotation without changing the persistent DID string itself, which is vital for long-lived identities. If a private key is compromised, the controller can issue an update to remove the compromised key and add a new one, mitigating the breach while preserving all existing relationships and credentials issued to that DID. This process contrasts sharply with traditional PKI systems, where revoking and re-issuing a certificate often requires changing the identifier. The update must be signed by a key with the appropriate capability invocation method as defined in the DID Document, ensuring only authorized entities can make changes.
Implementing an update requires interacting with the specific DID method's resolver and registrar libraries. For example, on Ethereum using did:ethr, an update is an Ethereum transaction calling a smart contract function. The new DID Document is often not stored directly on-chain for efficiency; instead, a hash of the document or a change delta is recorded, with the full document hosted on an InterPlanetary File System (IPFS) node or another decentralized storage network. The resolver fetches and assembles the current state by processing this chain of updates. This design balances the immutability and consensus of the blockchain with the need for flexible, document-heavy operations.
In practice, a DID Update is a fundamental operation for maintaining a usable, secure decentralized identity. It allows an identity to evolve over time—adapting to new services, recovering from key loss, and complying with regulatory requirements—while retaining its core, persistent identifier. This capability is essential for real-world applications where trust relationships, access controls, and verifiable credentials are anchored to a DID that must remain functional and secure for years or decades.
Key Features of DID Updates
DID Updates are the mechanism for modifying a Decentralized Identifier's state on its underlying blockchain or ledger, enabling self-sovereign identity management.
Atomic State Transitions
A DID Update is an atomic operation that transitions a DID document from one valid state to another on the ledger. This ensures consistency and prevents partial updates. The process is governed by the DID's controller, who must cryptographically sign the update with the appropriate keys specified in the previous state.
Update Operations
Common update operations include:
- Adding/Removing Verification Methods: Introducing new public keys or cryptographic material for authentication.
- Updating Service Endpoints: Changing the URLs for linked services, like credential repositories or messaging hubs.
- Changing Controllers: Delegating control to a different entity or smart contract.
- Revoking Keys: Marking a verification method as invalid without removing it from the document's history.
Verifiable Data Integrity
Each update creates a cryptographic chain of provenance. The updated DID document is hashed, and this hash is immutably recorded on the underlying ledger (e.g., Ethereum, Sovrin). This allows any verifier to cryptographically confirm the entire history of changes, ensuring the document's integrity and preventing tampering.
Conflict Resolution
Ledger-based DIDs use the blockchain's consensus mechanism to resolve conflicting updates. The first valid, signed update transaction that is included in a block becomes the canonical state. This prevents double-spending of the DID's state and provides a clear, auditable order of operations.
DID Method Specification
The exact mechanics of an update—including supported operations, transaction format, and fee structure—are defined by the specific DID Method. For example, the did:ethr method uses Ethereum smart contracts, while did:sov uses the Indy ledger. The method specification is the authoritative source for update rules.
Recovery & Deactivation
DID Updates enable critical lifecycle management:
- Recovery: Using a pre-defined backup key or a multi-sig scheme to regain control if the primary key is lost.
- Deactivation: Permanently retiring a DID by publishing a final update that removes all verification methods and service endpoints, rendering it unusable.
Common DID Update Operations
A DID update is a transaction that modifies the state of a Decentralized Identifier (DID) on its underlying ledger or network, governed by its DID method and DID Document.
Key Rotation (Replacing a Verification Method)
A critical security operation that deactivates a compromised or outdated verification method and replaces it with a new one. This is often done by updating the verificationMethod list and adjusting related references in the authentication or assertionMethod sections. Proper key rotation maintains the DID's persistent identifier while changing the underlying cryptographic control.
- Mechanism: The update is authorized by the current, still-valid private key(s).
- Importance: Mitigates the impact of key loss or compromise, a core benefit of DIDs over static identifiers.
Updating Service Endpoints
Modifies the service array in the DID Document to point to new decentralized web nodes (DWN), hosted agents, or other service interfaces. This allows the DID's associated services—like encrypted messaging, data storage, or credential exchange—to be relocated or upgraded without changing the identifier.
- Common Updates: Changing the URL for a DIDComm mediator, updating a linked personal data store, or adding a new VC issuance service.
- Flexibility: Decouples service location from identity, enabling user-controlled data sovereignty.
Changing the Controller
An advanced operation that transfers control of the DID from one entity or set of keys to another. This involves updating the controller property in the DID Document. The exact mechanics are defined by the DID method; some may require authorization from the new controller as part of the update transaction.
- Use Case: Transferring asset ownership linked to a DID, or changing organizational control of an institutional DID.
- Contrasts with: Deactivation, which renders the DID unusable. Controller change keeps it active under new management.
Adding or Revoking Delegated Capabilities
Grants or removes authorization for third parties to act on behalf of the DID controller. This is managed through capabilities like OAuth2-style authorization details or UCANs (User Controlled Authorization Networks) referenced in the DID Document. An update might add a new verification method with a specific capability invocation scope.
- Example: Granting a cloud backup service the capability to write to your personal data store for 30 days.
- Granular Control: Enables least-privilege, auditable delegation without sharing primary private keys.
DID Deactivation (Tombstoning)
The final update operation that permanently renders a DID unusable. The DID method specifies the mechanism, often involving setting a flag or removing all verification methods and service endpoints. The DID identifier remains on the ledger but its document indicates it is deactivated, preventing future updates or usage in proofs.
- Critical for: Responding to irreversible key loss, retiring an identity, or complying with legal "right to erasure" requests.
- Permanence: In most blockchain-based methods, this operation is irreversible.
Security Considerations
Updating a Decentralized Identifier (DID) involves modifying its associated DID Document, a critical operation with significant security implications for identity control and data integrity.
Authorization & Key Rotation
The primary security mechanism for a DID update is authorization, enforced by cryptographic proofs. The update must be signed by a verification method (e.g., a private key) currently authorized in the DID Document. This enables secure key rotation, where compromised keys can be revoked and replaced with new ones, a fundamental practice for long-lived identities.
Replay & Race Condition Attacks
DID methods must protect against:
- Replay Attacks: An attacker re-submitting a valid, old update transaction to revert the DID to a previous, possibly compromised state.
- Race Conditions: Concurrent update requests creating an ambiguous final state. Mitigations include using monotonic counters (e.g., updateId), timestamps, or blockchain-native transaction nonces to ensure strict versioning and order.
Registry-Specific Threats
The security model depends on the underlying verifiable data registry (e.g., a blockchain). Considerations include:
- Network Consensus: Updates are only final after blockchain finality.
- Transaction Fees: Update failures due to insufficient gas or fee market volatility.
- Smart Contract Risks: For smart contract-based DIDs (e.g., ERC-725/734), bugs in the contract logic could lock or hijack the identifier.
Recovery & Delegation
A secure DID Document should pre-define recovery mechanisms to prevent permanent loss:
- Recovery Keys/Committees: Separate keys with the sole power to replace all other keys, held in cold storage or by trusted parties.
- Delegated Attorneys: Temporary authorization grants for specific agents to perform updates, which must be explicitly revocable. Without these, a lost primary key renders the DID immutable and unusable.
Privacy & Metadata Leakage
The update transaction itself can leak sensitive metadata:
- Transaction Graph Analysis: On public blockchains, the update's origin address can link a DID to other activities, potentially deanonymizing the controller.
- Document Change Tracking: Observers can monitor all historical states, revealing patterns in service endpoints or key changes. Privacy-preserving techniques like zk-proofs or using private data storage are often necessary complements.
Verifiable Data Integrity
After an update, verifiers must be able to cryptographically verify:
- The authenticity of the new DID Document (valid signature).
- The legitimacy of the update operation per the registry's rules.
- The document's current state against the registry. This chain of trust, from the registry root to the current document, is essential for non-repudiation and preventing fraudulent state assertions.
DID Update vs. Other Core DID Operations
A comparison of the primary CRUD operations defined for Decentralized Identifiers (DIDs), highlighting the distinct purpose and cryptographic requirements of each.
| Operation | DID Create | DID Read (Resolve) | DID Update | DID Deactivate |
|---|---|---|---|---|
Primary Purpose | Generate initial DID Document and keys | Retrieve current state of a DID Document | Modify keys, services, or other properties in the DID Document | Irreversibly disable all operations for the DID |
Cryptographic Proof Required | Creation key (genesis key) | None (public operation) | Current verification method (e.g., current public key) | Authorized verification method |
Modifies DID Document State | ||||
Writes to Underlying Ledger/System | ||||
Typical Initiator | DID Controller | Any Relying Party | DID Controller | DID Controller |
Changes DID Identifier (DID String) | ||||
Can be Reversed or Overwritten | ||||
Core W3C DID Spec Section | §7.1 Create | §7.2 Read (Resolve) | §7.3 Update | §7.4 Deactivate |
Ecosystem Usage & DID Methods
A DID Update is the process of modifying a Decentralized Identifier's cryptographic keys, service endpoints, or other attributes on its underlying verifiable data registry, such as a blockchain.
Key Rotation
The primary reason for a DID Update is key rotation, where the cryptographic keys associated with a DID are replaced. This is a critical security practice to mitigate the risk of key compromise. The update transaction replaces the old public key in the DID Document with a new one, while the immutable DID itself remains constant.
- Security Hygiene: Proactively rotates keys before they expire or are suspected to be weak.
- Post-Compromise Recovery: Essential for regaining control if a private key is lost or stolen.
Service Endpoint Management
DID Updates allow the management of service endpoints listed in the DID Document. These endpoints are URLs for interacting with the DID subject, such as for exchanging verifiable credentials.
- Dynamic Services: Update the location of a credential repository, messaging service, or linked resource.
- Protocol Upgrades: Change endpoints to support new communication protocols or API versions without changing the user's core identity.
Method-Specific Operations
The mechanics of a DID Update are defined by the DID Method specification governing the identifier. Different blockchain and ledger systems have unique update procedures.
- Ethereum (ethr): A smart contract call from the current controller's address.
- Sovereign (did:key): Not updatable; a new DID must be created.
- ION (Bitcoin): Anchoring a new Update Operation to the Bitcoin blockchain via the Sidetree protocol.
- Veramo: Uses a plugin architecture to execute updates across multiple supported DID methods.
Authorization & Signatures
A valid DID Update requires cryptographic proof of authorization. The update transaction must be signed by a key currently authorized in the DID Document or by a designated delegate.
- Controller Proof: The update payload is signed with the private key corresponding to a
verificationMethodorauthenticationpublic key in the current DID Document. - Immutable Record: The signed update request becomes part of the blockchain's immutable transaction history, providing a verifiable audit trail of all changes.
Conflict Resolution & Deactivation
DID Methods implement rules to handle conflicting updates and permanent deactivation.
- Last-Write-Wins: Most ledger-based methods use a monotonic counter or timestamp to ensure the latest valid update is authoritative.
- Deactivation: A special type of update that revokes all keys and services, rendering the DID permanently inactive. This is irreversible and prevents any future updates.
Frequently Asked Questions (FAQ)
Essential questions and answers about Decentralized Identifier (DID) updates, a critical process for maintaining control and accuracy of your digital identity on the blockchain.
A DID update is a transaction that modifies the DID Document (DIDDoc) associated with a Decentralized Identifier, allowing the controller to change verification methods, service endpoints, or other attributes. The process works by submitting a signed update operation to the underlying verifiable data registry (like a blockchain or Sidetree-based network such as ION). This operation must be authorized by a valid verification method (e.g., a cryptographic key) listed in the current DID Document, ensuring only the legitimate controller can make changes. The registry processes the transaction, and the updated state of the DID Document becomes the new authoritative version for all verifiers.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.