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

Revocation Registry Definition

A Revocation Registry Definition is the public metadata that defines the type, cryptographic parameters, and location of a revocation registry for Verifiable Credentials.
Chainscore © 2026
definition
DECENTRALIZED IDENTITY

What is a Revocation Registry Definition?

A formal specification for a system that manages the status of verifiable credentials, enabling issuers to revoke them without contacting the holder.

A Revocation Registry Definition is a cryptographically secured data structure that defines the rules and parameters for a revocation registry, a core component in Verifiable Credential (VC) ecosystems like W3C Decentralized Identifiers (DIDs). It specifies the registry type (e.g., a cryptographic accumulator), the public keys for updating it, and the maximum number of entries it can hold. This definition is published to a verifiable data registry, such as a blockchain or distributed ledger, allowing any verifier to independently check a credential's revocation status.

The primary mechanism involves the issuer maintaining a private revocation registry entry for each credential. To revoke, the issuer cryptographically updates the public registry, marking the specific entry. During verification, a holder presents a non-revocation proof alongside their credential. The verifier checks this proof against the current state of the registry, as defined by the Revocation Registry Definition, to confirm the credential is still valid—all without the issuer's direct involvement in the transaction.

Common implementations use cryptographic accumulators, such as revocation lists or cl-accums, which allow for compact, privacy-preserving proofs. For example, Hyperledger Indy and Aries frameworks utilize a credential revocation registry definition to enable selective disclosure of revocation status. This architecture supports data minimization and holder-centric control, as the holder can prove non-revocation without revealing the credential's unique identifier to the verifier.

The definition's integrity is ensured by anchoring it to a decentralized identifier (DID) and signing it with the issuer's verification method. This creates a trusted, auditable link between the issuer, the credential schema, and the revocation mechanism. Verifiers must resolve the issuer's DID document to fetch the correct registry definition, ensuring they are checking against the authorized revocation source, which is critical for maintaining trust in decentralized systems.

In practice, managing revocation registries involves lifecycle considerations: they have a maximum capacity and may need to be rotated or retired. The definition includes metadata for these transitions, ensuring continuity. This system provides a scalable alternative to centralized certificate revocation lists (CRLs), moving the trust anchor from a single authority to a transparent, cryptographic protocol defined in the Revocation Registry Definition.

how-it-works
DECENTRALIZED IDENTITY

How a Revocation Registry Definition Works

A Revocation Registry Definition is a foundational document in a verifiable credential ecosystem that specifies the cryptographic mechanism and location for checking if a credential has been revoked.

A Revocation Registry Definition is a JSON document that formally describes the structure and parameters of a revocation registry, a critical component for managing the lifecycle of Verifiable Credentials (VCs). It acts as a public blueprint, defining the cryptographic scheme (such as CL signatures or BBS+ signatures), the registry's identifier, the maximum number of credentials it can track, and the endpoints or ledger location where revocation status can be verified. This definition enables any verifier to understand how to check for revocation without needing to trust the issuer's private infrastructure.

The definition is typically published to a verifiable data registry, such as a blockchain or a decentralized network, making it tamper-evident and globally accessible. When an issuer needs to revoke a credential—for example, if a user's employment ends or a driver's license is suspended—they update the corresponding revocation status list (or accumulator) according to the rules in the definition. This update creates a cryptographic proof of revocation that is anchored to the registry, ensuring the action is publicly verifiable and non-repudiable.

For a verifier, the process is straightforward: they obtain the credential holder's revocation nonce or index from the presented proof, fetch the current revocation status list using the information in the published Revocation Registry Definition, and cryptographically verify if that specific index is listed as revoked. This mechanism provides selective disclosure, as the verifier learns only whether that single credential is valid, without gaining information about any other credentials in the registry. It balances privacy with the necessary control for issuers.

Implementations vary across frameworks. In Hyperledger Indy, the definition is written to its distributed ledger and uses a cryptographic accumulator. The W3C Verifiable Credentials Data Model references registries as a status method, with the definition often expressed as a Linked Data document. This interoperability is key, allowing different systems to agree on a common, standardized method for establishing trust in the ongoing validity of digital credentials, forming a core pillar of decentralized identity architecture.

key-features
ARCHITECTURE

Key Features of a Revocation Registry Definition

A Revocation Registry Definition is a core component in verifiable credential systems, establishing the rules and technical parameters for a registry that tracks the revocation status of credentials.

01

Registry Identifier

A unique identifier (URI) that permanently and globally identifies the revocation registry. This is the primary reference point used by verifiers to locate and query the registry's current state. It is cryptographically linked to the registry's issuer and definition.

02

Credential Definition Reference

Explicitly links the revocation registry to a specific Credential Definition (or Schema). This ensures the registry is only used to revoke credentials issued under that exact definition, preventing misuse across different credential types.

03

Maximum Credential Limit

Defines the maximum number of credentials (max_cred_num) that can be issued and tracked for revocation within this registry. This is a fixed, public parameter set at creation, determining the size of the cryptographic accumulator used.

04

Issuance Type

Specifies the issuance type, which determines how credentials are added to the registry. The common type is ISSUANCE_BY_DEFAULT, where all credential slots in the registry are initially considered 'revoked' and are moved to an 'issued' state upon issuance.

05

Public Keys

Contains the cryptographic public keys required to update and verify the registry. This typically includes:

  • Accumulator Key: For updating the cryptographic accumulator.
  • Tails File Hash: A reference to the file containing the cryptographic parameters (CL tails) needed for generating non-revocation proofs.
06

Tails File Location

Provides a publicly accessible URI pointing to the tails file. This file contains the essential cryptographic parameters required for a holder to generate a zero-knowledge proof that their credential has not been revoked, without revealing the credential's specific index in the registry.

technical-components
REVOCATION REGISTRY

Technical Components

A revocation registry is a cryptographically secure, decentralized data structure that tracks the revocation status of Verifiable Credentials (VCs) without revealing the credential holder's identity.

01

Core Mechanism

A revocation registry functions as a publicly accessible ledger (often a blockchain or a verifiable data registry) that maintains a list of revoked credential identifiers. It uses cryptographic accumulators (like RSA or Merkle trees) to enable efficient, privacy-preserving proofs. A verifier can check a revocation status proof against the registry's current state to confirm a credential is still valid, without learning which specific credential is being checked.

02

Accumulator Types

Two primary cryptographic structures are used:

  • RSA Accumulators: Represent the set of valid credentials as a single, constant-size value. Revoking a credential requires updating a witness for all other holders.
  • Merkle Tree (CL) Accumulators: Represent valid credentials as leaves in a Merkle tree. The root is published to the registry. Revocation removes a leaf, requiring an updated proof for the non-revoked subset. This method is more common in W3C-compliant systems like AnonCreds.
03

Privacy-Preserving Verification

The registry enables selective disclosure of revocation status. A holder generates a zero-knowledge proof (ZKP) that their credential's unique identifier (e.g., a credential index) is not in the published revocation list, without revealing the identifier itself. This prevents correlation across different verifications and is a cornerstone of self-sovereign identity (SSI) architectures.

04

Registry Operations

Key lifecycle operations managed by the issuer or a designated entity:

  • Issuance: Adding a new credential identifier to the accumulator and providing the holder with an initial validity witness.
  • Revocation: Updating the accumulator to exclude a credential's identifier and publishing the new state (e.g., a new Merkle root).
  • Update: Distributing witness update information to all non-revoked holders so they can refresh their proofs.
05

Implementation Frameworks

Standardized frameworks define how registries are built and used:

  • Hyperledger AnonCreds: Uses a CL-signature-based scheme with a Merkle tree accumulator, often anchored to an Indy ledger.
  • W3C Verifiable Credentials Data Integrity: Specifies the statusList2021 method, which can use bitstring status lists (less private) or cryptographic accumulators.
  • JSON Web Token (JWT) Credentials: Often rely on simpler, non-private methods like querying a URL for a revocation list.
06

Trade-offs & Considerations

Design choices involve key trade-offs:

  • Privacy vs. Efficiency: Accumulators provide privacy but require witness updates for non-revoked holders. Public lists are simpler but leak data.
  • Decentralization: A registry's resilience depends on its hosting. Blockchain-anchored registries are tamper-proof but may have higher latency and cost.
  • Scalability: The frequency of revocations and the number of holders impact the overhead of witness updates and proof generation.
w3c-standards-context
REVOCATION REGISTRY DEFINITION

W3C Standards Context

Within the W3C's framework for decentralized identity, a revocation registry is a critical component for managing the lifecycle of verifiable credentials.

A revocation registry, as defined by the W3C Verifiable Credentials Data Model, is a tamper-evident data structure, often implemented as a cryptographic accumulator like a revocation list or sparse Merkle tree, that enables an issuer to publicly signal the revocation status of verifiable credentials without revealing the credentials themselves. This mechanism is essential for maintaining trust and privacy in decentralized identity ecosystems, allowing verifiers to check if a credential is still valid without needing to contact the issuer directly for each verification request. The registry's state is typically anchored to a decentralized ledger, providing a global source of truth for status checks.

The primary function of a revocation registry is to decouple the revocation check from the credential presentation, preserving holder privacy through selective disclosure. When a verifier receives a credential, they can cryptographically verify the issuer's signature and then query the relevant revocation registry—referenced by a credentialStatus field in the credential—to confirm it has not been revoked. Common implementations include the Status List 2021 specification, which uses bitstrings to encode statuses, and revocation bitmaps within Merkle trees, where a credential's unique index is checked against the current registry state. This design prevents correlation of holder activities across different verifications.

Implementing a revocation registry involves several key decisions: choosing an accumulator type (list vs. tree), determining update frequency, and managing the registry delta—the changes between states. Sparse Merkle trees offer efficient, privacy-preserving proofs of non-revocation but require more complex cryptographic operations. In contrast, compressed bitstring lists, as used in Status List 2021, are simpler but can grow large. The issuer is responsible for publishing updates to the registry, and the integrity of these updates is secured by the underlying ledger or a similar decentralized system. This architecture ensures that even if the issuer becomes unavailable, the historical state of the registry remains auditable and trustworthy for verifiers.

registry-types-defined
REVOCATION REGISTRY

Common Registry Types Defined

A revocation registry is a critical component of decentralized identity and credential systems, providing a mechanism to manage the status of issued credentials without compromising user privacy or requiring a central authority.

01

Core Definition & Purpose

A revocation registry is a cryptographically secure, on-chain or off-chain data structure that tracks the revocation status of verifiable credentials (VCs). Its primary purpose is to allow an issuer to invalidate a credential (e.g., a driver's license or membership card) while enabling a verifier to check its status without learning any other information about the credential holder. This is a fundamental requirement for functional, real-world credential systems.

02

How It Works (Accumulator Model)

Modern systems like those in W3C Verifiable Credentials often use cryptographic accumulators (e.g., RSA Accumulators, CL Signatures).

  • The issuer publishes a revocation registry containing a cryptographic accumulator value.
  • Each issued credential gets a unique, private witness.
  • To revoke, the issuer updates the accumulator, invalidating the witness for that credential.
  • A verifier checks a credential's proof against the current accumulator state.
  • This allows for selective disclosure and status checks without correlatable on-chain transactions.
03

On-Chain vs. Off-Chain Registries

Revocation data can be stored in different locations with trade-offs:

  • On-Chain (e.g., Ethereum, Sovrin): Provides tamper-proof, globally available status lists. Can be expensive and expose metadata.
  • Off-Chain / Decentralized Storage (e.g., IPFS): More private and cost-effective, but requires verifiers to fetch data from a potentially mutable source.
  • Hybrid Approaches: The registry's root hash (e.g., a Merkle root) is anchored on-chain for integrity, while the detailed data lives off-chain.
05

Privacy-Preserving Properties

A well-designed revocation registry minimizes privacy leaks:

  • Unlinkability: Checking the status of two different credentials should not reveal they belong to the same holder.
  • Minimal Disclosure: The verifier learns only 'valid' or 'revoked,' not the credential's contents or holder identity.
  • Non-Correlation: Sequential status checks for the same credential should not be linkable to each other by the registry maintainer or observers.
06

Key Challenges & Considerations

Implementing revocation registries involves navigating several technical hurdles:

  • Scalability: Managing registries for millions of credentials without excessive gas costs or data bloat.
  • Update Frequency & Latency: Balancing the need for instant revocation with the performance of the underlying blockchain or storage layer.
  • Governance: Defining who can update the registry (often just the issuer) and under what conditions.
  • Interoperability: Ensuring different systems (e.g., Hyperledger Indy, Ethereum-based systems) can interpret each other's revocation status.
ecosystem-usage
REVOCATION REGISTRY

Ecosystem Usage & Implementations

A revocation registry is a critical component of decentralized identity and credential systems, enabling the selective invalidation of credentials without compromising user privacy or requiring a central authority.

01

Core Function in Verifiable Credentials

A revocation registry is a tamper-evident data structure, often implemented as a Merkle tree on a blockchain, that allows an issuer to revoke a specific verifiable credential without revealing which credential was revoked. The registry publishes cryptographic accumulators (like a root hash) that allow a verifier to check a credential's status using a zero-knowledge proof, ensuring privacy and selective disclosure.

02

Implementation with W3C Standards

The W3C Verifiable Credentials Data Model defines a standard interface for revocation. Common implementations include:

  • Status List 2021: Encodes revocation statuses in a compressed bitstring, with the credential pointing to a specific index.
  • Revocation List 2020: An earlier JSON-based list of revoked credential IDs.
  • Bitstring Status List: A space-efficient method where each bit represents the status of a credential, enabling batched updates to the registry.
03

Privacy-Preserving Status Checks

To prevent correlation, verifiers do not query the registry directly with a credential ID. Instead, the holder provides a cryptographic non-interactive proof (e.g., a zk-SNARK or zk-STARK) derived from the registry's current state. This proof demonstrates that their credential's unique identifier is not on the revocation list, without revealing the identifier itself to the verifier or the registry.

04

Blockchain as a Verifiable Data Registry

While the registry data can be stored off-chain, its root hash or accumulator state is typically anchored to a blockchain (e.g., Ethereum, Hyperledger Indy) to provide global availability, immutability, and auditability. This makes the registry's state cryptographically verifiable by all parties. Smart contracts can manage registry updates, ensuring only the authorized issuer can revoke credentials.

05

Key Management & Update Mechanics

The issuer holds a revocation key to authorize updates. Revoking a credential involves:

  1. Updating the private accumulator state.
  2. Publishing a new revocation registry entry (e.g., a new Merkle root) to the verifiable data registry.
  3. Providing witnesses or delta updates to non-revoked holders so they can generate fresh proofs. Systems must handle the key compromise scenario, often through a separate revocation authority or time-based key rotation.
06

Use Case: Self-Sovereign Identity (SSI)

In SSI ecosystems like those built on Hyperledger Aries, revocation registries are essential for real-world credentials:

  • Diplomas: A university can revoke a degree if fraud is discovered.
  • Professional Licenses: A medical board can suspend a doctor's license.
  • Access Credentials: A company can revoke an employee's building access upon termination. This allows trust to be dynamically managed without recreating the entire credential system.
REVOCATION REGISTRY

Frequently Asked Questions

A revocation registry is a critical component of decentralized identity systems, enabling the selective withdrawal of credentials. These FAQs address its core mechanics, use cases, and implementation.

A revocation registry is a decentralized data structure, often implemented as a smart contract or a verifiable data registry, that tracks the revocation status of issued verifiable credentials (VCs). It works by allowing an issuer to publish cryptographic proofs—such as a revocation list or a revocation bitmap—that a verifier can check without needing to contact the issuer directly. When a credential holder presents their VC, the verifier queries the registry's current state to confirm the credential has not been revoked, enabling privacy-preserving and trustless status checks.

Key Mechanism: The issuer typically signs a revocation status list (like a W3C Status List 2021) and publishes its location or a cryptographic commitment (e.g., a Merkle root) to a blockchain. The credential contains a non-revealing pointer to this list, and the verifier fetches and validates the latest list to check the credential's status bit.

security-considerations
REVOCATION REGISTRY

Security & Operational Considerations

A revocation registry is a critical component of decentralized identity systems, enabling the selective invalidation of credentials without compromising user privacy or the underlying trust framework.

01

Core Mechanism & Function

A revocation registry is a tamper-proof, decentralized data structure that maintains a list of revoked credential statuses. It allows verifiers to check if a Verifiable Credential (VC) or Decentralized Identifier (DID) is still valid without contacting the issuer directly. This is typically implemented using accumulators (like cryptographic accumulators or sparse Merkle trees) to provide privacy-preserving proofs of non-revocation.

02

Privacy-Preserving Verification

Modern registries use zero-knowledge techniques to allow a user to prove their credential is not on the revocation list without revealing which credential they hold. Key methods include:

  • Revocation Bitmaps: A list where each credential corresponds to a bit; a ZK-proof shows the user's bit is 0 (not revoked).
  • Sparse Merkle Trees: The user provides a Merkle proof of inclusion for a non-revoked leaf.
  • Accumulators: The issuer provides a witness for valid credentials; revocation destroys this witness.
03

Operational Models & Control

Control over the registry determines system trust assumptions. Common models are:

  • Issuer-Held: The credential issuer maintains and updates the registry (common in W3C Verifiable Credentials).
  • Ledger-Based: The registry is anchored to a public blockchain (e.g., Hyperledger Indy, Ethereum), providing decentralized availability and auditability.
  • Holder-Mediated: The credential holder fetches and presents a non-revocation proof from the registry, reducing issuer dependency post-issuance.
04

Security Implications & Trade-offs

The design of a revocation registry directly impacts system security and privacy.

  • Availability Risk: If the registry is offline, verification fails. Decentralized storage mitigates this.
  • Privacy Leaks: Naive implementations can leak credential identifiers or correlation patterns during status checks.
  • Issuer Trust: In issuer-held models, the issuer remains a trusted party for revocation status, a potential centralization point.
  • Update Latency: The time between revocation and its reflection in the registry creates a window of vulnerability.
05

Implementation Examples

Real-world systems implement revocation registries in specific ways:

  • Hyperledger Indy/AnonCreds: Uses a revocation registry built on a CL signature accumulator, published to the Indy ledger.
  • W3C Status List 2021: Encodes revocation statuses in a bitstring (bitmap) stored in a credentialStatus field, often hosted on HTTP(S) endpoints.
  • Ethereum Attestation Service (EAS): Uses on-chain revocation transactions to invalidate specific attestations, with the registry being the blockchain state itself.
06

Key Related Concepts

Understanding revocation requires familiarity with adjacent identity primitives:

  • Verifiable Credential (VC): The digital, cryptographically-signed attestation whose status is being checked.
  • Decentralized Identifier (DID): The identifier for the subject of the credential, often referenced in revocation checks.
  • Selective Disclosure: The ability to reveal only specific claims from a VC, which revocation checks must not compromise.
  • Trust Registry: A separate list of authorized issuers, distinct from a revocation registry for invalid credentials.
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