A Revocation List is a core mechanism in decentralized identity and credential systems, such as those built on the W3C Verifiable Credentials data model. It functions as a tamper-evident ledger, often implemented as a JSON document or on a blockchain, that contains a list of unique credential identifiers (like a credentialStatus.id) that are no longer valid. When a verifier checks a credential, they consult this list to ensure the credential's status is active and has not been revoked due to expiration, compromise, or a change in the holder's privileges.
Revocation List
What is a Revocation List?
A Revocation List is a cryptographically verifiable registry that tracks the status of issued credentials, such as digital attestations or certificates, to determine if they have been revoked by their issuer.
The technical implementation often uses a Revocation Bitstring, a space-efficient method where each credential is assigned a specific index within a large bit array. A value of 1 at that index indicates revocation, while 0 indicates the credential is valid. This approach, defined in standards like W3C Status List 2021, allows a single, compact list to manage the status of thousands of credentials without revealing any private information about the holders. The list itself is signed by the issuer, making its integrity and authenticity cryptographically verifiable by any party.
In blockchain contexts, revocation lists provide a critical trust layer for Soulbound Tokens (SBTs), academic credentials, and professional licenses. Unlike traditional certificate revocation lists (CRLs) in PKI, decentralized lists are designed for privacy-preserving verification. A verifier can check a credential's status against the list without learning any other information about the holder or other revoked credentials, balancing the need for trust with the principle of data minimization.
The management of a revocation list involves clear issuer responsibilities. The issuer must publish the list at a publicly accessible, persistent URI, update it promptly upon revocation events, and maintain the signing keys for the list's integrity. Systems like Indy's Revocation Registries or cheqd's Status List service provide specialized infrastructure for this, often leveraging distributed ledger technology to ensure the list's availability and immutability without granting the issuer the power to retroactively alter historical statuses.
How a Revocation List Works
A revocation list is a cryptographically verifiable registry that tracks the status of credentials, such as Verifiable Credentials (VCs), by listing identifiers that are no longer valid.
A revocation list functions as a dynamic, append-only ledger, often implemented as a Status List Credential as defined by the W3C. The core mechanism involves a bitstring—a long string of bits (0s and 1s)—where each bit corresponds to the status of a specific credential. A 0 typically indicates the credential is valid, while a 1 indicates it has been revoked. The issuer publishes this list to a verifiable data registry, such as a blockchain or a personal web server, and includes a pointer to a specific bit position within the credential itself. This allows any verifier to check the credential's status without contacting the issuer directly for each verification.
The process of checking revocation involves several steps. First, the verifier extracts the status list credential URL and the status list index (the specific bit position) from the Verifiable Credential presented by the holder. The verifier then fetches the current revocation list from the specified URL and verifies its cryptographic signature to ensure it was issued by the correct authority. Finally, the verifier checks the bit at the given index. If the bit is set to 1, the credential is considered revoked. This method provides a balance between privacy, as it doesn't reveal which specific credential is being checked in a batch, and efficiency, as a single list can manage the status of thousands of credentials.
Key advantages of this system include decentralized verification, selective disclosure, and privacy preservation. Unlike traditional certificate revocation lists (CRLs) in PKI, a W3C-compliant status list does not inherently reveal the identity of the credential holder when a verifier checks a single bit. Common implementations include the Bitstring Status List and the more compressed Bitstring Status List Entry. The integrity and availability of the list itself are critical; if the list is hosted centrally, it becomes a single point of failure. Therefore, many systems use decentralized storage like IPFS or anchor the list's hash to a blockchain to ensure its immutability and availability for verification.
Key Features of Revocation Lists
Revocation lists are a core mechanism in decentralized identity systems, enabling credential issuers to signal when a previously issued credential is no longer valid without requiring direct communication with the holder.
Bitstring Status List
The most common implementation is the W3C Bitstring Status List, where each credential is assigned a specific index in a large bitstring (e.g., 16KB). A 0 indicates the credential is valid, and a 1 indicates it is revoked. This compact format allows a single list to manage the status of tens of thousands of credentials efficiently.
Decentralized & Verifiable
The list itself is published to a decentralized identifier (DID) or a verifiable data registry like a blockchain or IPFS. Verifiers fetch the list independently and check the status bit corresponding to the credential's index. This allows for offline-capable verification and prevents the issuer from being a single point of failure or surveillance.
Selective Disclosure
A holder can prove their credential's status without revealing the credential itself using zero-knowledge proofs. They can cryptographically demonstrate that the bit at their specific index is 0 (valid) without exposing the index or any other information on the list, enhancing privacy-preserving verification.
Issuer Control with Holder Privacy
The issuer maintains sole authority to update the revocation list by publishing a new version, changing bits from 0 to 1. However, the holder controls when and with whom to share the credential and its proof of non-revocation. This separates the power to revoke from the ability to track usage.
Contrast with OCSP/CRL
Unlike traditional Certificate Revocation Lists (CRLs) or the Online Certificate Status Protocol (OCSP) in PKI, a W3C revocation list is:
- Static & Cacheable: Verifiers download a file, avoiding real-time queries.
- Privacy-Enhanced: Does not require sending a credential identifier to an issuer's server.
- Decentralized: Hosting is not tied to a central certificate authority.
Implementation Example
In a Verifiable Credential for a driver's license, the credentialStatus field would point to the issuer's status list URL and specify an index (e.g., "statusListIndex": 12345). A verifier (like a police officer's app) retrieves the public list, checks bit 12345, and confirms it is 0, proving the license is currently valid.
Examples & Use Cases
A revocation list is a cryptographically verifiable registry of invalidated credentials, such as compromised keys or expired permissions. These lists are critical for maintaining security and compliance in decentralized identity and access control systems.
Decentralized Identity (DIDs)
In Decentralized Identifier (DID) systems, a revocation list is used to invalidate Verifiable Credentials without requiring the issuer to be online. For example, if a user's digital driver's license private key is compromised, the issuer can add the credential's ID to a Status List 2021 entry, preventing its future verification. This mechanism is a core component of the W3C Verifiable Credentials Data Model.
Certificate Transparency Logs
In traditional web security, Certificate Transparency (CT) logs function as a public, append-only revocation list for TLS/SSL certificates. When a Certificate Authority (CA) mistakenly or maliciously issues a certificate, it can be reported and added to a CT log's list of suspect certificates. Browsers and operating systems monitor these logs to reject certificates that have been publicly revoked, enhancing trust in the Public Key Infrastructure (PKI).
Access Control in DeFi
Decentralized Finance protocols use revocation lists for role-based access control. For instance, a DAO's smart contract may manage a list of wallet addresses that are banned from certain functions (e.g., executing treasury transactions). Adding an address to the on-chain revocation list immediately prevents it from calling privileged functions, providing a real-time security measure against malicious actors or compromised multisig signers.
Compromised Key Management
A primary use case is managing compromised private keys. If a user suspects their cryptographic key for a blockchain wallet or signing authority has been exposed, the associated public key or credential can be added to a revocation list. Any system verifying signatures from that key will first check the list, rejecting transactions or assertions signed after the revocation timestamp. This is a foundational security practice in public key infrastructure.
Compliance & Regulatory Requirements
Organizations use revocation lists to meet regulatory compliance (e.g., GDPR's "right to be forgotten", sanctions lists). A company issuing employee access badges can maintain a revocation list of badge IDs for terminated staff. Systems at secure entrances check this list in real-time to deny access. In blockchain, a token issuer might maintain a list of wallet addresses subject to legal sanctions, preventing them from holding or transferring the asset.
Implementation: W3C Status List 2021
The W3C Status List 2021 specification provides a standardized, space-efficient method for revocation. It uses a bitstring where each bit represents the status (0=valid, 1=revoked) of a credential. The issuer signs this compressed bitstring and publishes it, often on a blockchain or decentralized storage. Verifiers fetch the list, check the bit at the credential's index, and cryptographically verify the issuer's signature, enabling scalable, privacy-preserving revocation checks.
Ecosystem Usage
A revocation list is a critical component for managing the lifecycle of verifiable credentials and permissions in decentralized systems. It functions as a tamper-evident registry of invalidated identifiers, enabling trust without a central authority.
Credential Status Verification
In Verifiable Credentials (VCs) and Decentralized Identity (DID) ecosystems, a revocation list is used to check if a credential (like a digital driver's license or university degree) is still valid. Issuers publish a list of revoked credential IDs (e.g., on a blockchain), allowing verifiers to instantly check status without contacting the issuer directly. This is essential for privacy-preserving and offline-capable trust systems.
Tokenized Asset Compliance
For security tokens and regulated digital assets, revocation lists enforce compliance. If a token holder is found to be in violation of regulations (e.g., sanctions), their token's unique identifier can be added to a revocation list managed by a compliance oracle or regulator. This prevents the transfer or use of the token, embedding regulatory logic directly into the asset's programmable layer.
Access Control & Authorization
Revocation lists are used in decentralized access control systems, such as those governing DAO membership or gated content. A list of revoked public keys or session tokens is maintained, often via a smart contract or a cryptographic accumulator. This allows systems to instantly invalidate access for specific entities without needing to update permissions for all valid users.
Blockchain as the Anchor
Blockchains provide an ideal, immutable anchor for revocation lists. The list's cryptographic hash (like a Merkle root) is periodically published on-chain, providing a globally consistent and tamper-proof reference point. Systems like Ethereum or Hyperledger Indy use this pattern to ensure all parties can verify the current, authoritative state of revocations without relying on a single database.
Privacy-Preserving Revocation
Advanced schemes like zero-knowledge revocation allow a verifier to confirm a credential is not revoked without learning which specific credential ID is being checked. This is achieved using cryptographic accumulators (e.g., RSA or Merkle tree-based) or zk-SNARKs, enhancing privacy by preventing correlation between different presentations of the same credential.
Comparison: On-Chain vs. Off-Chain Revocation
A comparison of the core technical and operational characteristics of storing revocation status directly on a blockchain versus using external, off-chain data sources.
| Feature / Metric | On-Chain Revocation | Off-Chain Revocation |
|---|---|---|
Data Location | Stored in smart contract state or ledger transactions | Stored in a centralized server, decentralized storage (e.g., IPFS), or a sidechain |
Data Integrity & Immutability | ||
Verification Trust Assumption | Trustless; relies on blockchain consensus | Requires trust in the data publisher or a cryptographic proof system (e.g., digital signatures) |
Real-Time Status Updates | ||
Update Latency | Subject to block time and confirmation delays (e.g., ~12 sec to 10+ min) | Near-instantaneous (network request time) |
Update Cost | Requires gas/transaction fee for each status change | Typically low to zero cost for the publisher |
Verifier Operational Cost | Low; cost is a simple on-chain read | Variable; may involve HTTP requests and signature validation |
Privacy of Revocation List | Fully public; all status changes are visible | Can be private; access can be gated or encrypted |
Security Considerations
A revocation list is a critical security mechanism for managing the status of digital credentials or permissions. These cards detail its core functions, operational models, and associated risks.
Core Function: Status Management
A revocation list's primary function is to act as a denylist or blocklist, providing a real-time, authoritative source for checking if a previously issued credential (like a token, certificate, or key) is no longer valid. This is essential for responding to security incidents like key compromise, credential theft, or user privilege changes. Without it, compromised assets remain active, creating a critical security vulnerability.
Centralized vs. Decentralized Models
Revocation implementations vary by trust model:
- Centralized Lists: Managed by a single authority (e.g., a Certificate Authority's CRL). Fast to update but creates a single point of failure and control.
- On-Chain Lists: Stored on a blockchain (e.g., an ERC-20 blacklist). Tamper-proof and transparent, but updates are slower and incur transaction costs.
- Zero-Knowledge Proof Lists: Status is proven without revealing the revoked item (e.g., in anonymous credentials). Maximizes privacy but adds cryptographic complexity.
The Liveness vs. Consistency Trade-off
This is a fundamental security trade-off in distributed systems using revocation lists. Liveness ensures all nodes eventually see the latest list. Consistency ensures all nodes see the same list at the same time. A network may prioritize one over the other:
- Favoring liveness risks temporary forks where a revoked asset is accepted on some nodes.
- Favoring consistency can cause delays in propagating critical revocations, creating a window of vulnerability.
Privacy Leakage Risk
Simple revocation lists can leak sensitive metadata. If a verifier checks for a specific user's credential on a public list, it reveals that the user is interacting with that service. Advanced schemes like accumulators or zero-knowledge proofs allow a prover to demonstrate their credential is not on the list without revealing which credential they hold, preserving user privacy during the verification process.
Implementation Vulnerabilities
Common vulnerabilities stem from flawed logic or integration:
- Time-of-Check Time-of-Use (TOCTOU): The state of the list changes between the time it's checked and the time the credential is used.
- Unenforced Checks: The application fails to query the revocation list for every transaction.
- Sybil Attacks on Decentralized Lists: An attacker floods the list with junk entries to increase verification cost or obscure genuine revocations.
- Centralized Point of Failure: The list manager can censor updates or be compromised.
Related Concept: Token Allowlist
An allowlist is the security inverse of a revocation list. Instead of listing what is banned, it explicitly lists only what is permitted. This default-deny model is often considered more secure for high-value systems, as any new, unknown, or compromised asset is blocked by default. The choice between allowlisting and denylisting is a key architectural decision based on the required security posture and operational overhead.
Common Misconceptions
Clarifying widespread misunderstandings about how credential revocation is managed in decentralized identity systems, particularly within the W3C Verifiable Credentials framework.
No, while both serve a similar purpose, they operate in fundamentally different trust models. A Certificate Revocation List (CRL) is a centralized, authoritative list published by a Certificate Authority (CA) in traditional Public Key Infrastructure (PKI). In contrast, a W3C-compliant Revocation List (or Status List) is a Verifiable Credential itself, issued by a Decentralized Identifier (DID) controller. Its integrity is secured by a cryptographic signature, not a central authority, allowing for decentralized verification without relying on a single point of trust or failure.
Technical Details
A revocation list is a fundamental mechanism for managing the status of verifiable credentials and permissions in decentralized identity systems. This section explains its core functions, technical implementation, and role in blockchain-based attestations.
A revocation list is a cryptographically verifiable registry, often implemented as a W3C Status List, that indicates whether a specific verifiable credential or authorization is still valid. It works by associating a unique credential identifier with a revocation status bit (e.g., 0 for valid, 1 for revoked) within a compressed bitstring. A verifier checks the credential's status by locating its corresponding bit in the list, which is published to a persistent, decentralized storage layer like IPFS or a blockchain. The integrity of the list is secured via a cryptographic digest, ensuring any tampering is detectable.
Frequently Asked Questions (FAQ)
Common questions about blockchain revocation lists, which are mechanisms for invalidating credentials, permissions, or access rights without modifying the underlying blockchain ledger.
A blockchain revocation list is a tamper-proof, decentralized registry that tracks the revocation status of credentials, permissions, or digital assets. It works by maintaining a list of unique identifiers (like a credential's hash or a public key) that have been invalidated, allowing verifiers to check if a presented credential is still valid without needing to contact the original issuer. This is a critical component for Verifiable Credentials (VCs) and Decentralized Identity (DID) systems, providing a scalable way to manage credential lifecycles on-chain or on a linked data structure.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.