A registry in KERI/ACDC is a verifiable data structure that tracks the lifecycle state (issuance, revocation, status) of credentials or other data objects, implemented through Transaction Event Logs (TELs) that are cryptographically anchored to Key Event Logs (KELs) to provide end-verifiable proof of registry state without requiring trusted intermediaries.
Related Concepts
No related concepts available
Comprehensive Explanation
Registry
Process Definition
A registry in the KERI/ACDC ecosystem serves as an authoritative record-keeping system that tracks the lifecycle state of verifiable credentials and other data objects. Unlike traditional centralized registries that require trusted third parties, KERI registries are implemented as Transaction Event Logs (TELs) - cryptographically verifiable, hash-linked data structures that are anchored to the controlling identifier's Key Event Log (KEL).
What It Accomplishes
The registry accomplishes several critical functions:
State Tracking: Maintains the current status of credentials (issued, revoked, suspended)
Cryptographic Proof: Provides verifiable proof of registry state through cryptographic commitments
Decentralized Verification: Enables any validator to independently verify the authoritative state without trusting intermediaries
Lifecycle Management: Tracks the complete lifecycle of credentials from issuance through revocation
Audit Trail: Creates an immutable, verifiable history of all state changes
When It's Used
Registries are used in several key scenarios:
Credential Issuance: Recording when a verifiable credential is issued to a holder
Credential Revocation: Marking credentials as revoked when they should no longer be trusted
Status Verification: Allowing verifiers to check the current validity status of presented credentials
Implementation Notes
Critical Implementation Details
Registry Creation
Management TEL First: Always create the Management TEL before individual VC TELs
Registrar Selection: Choose Registrars with high availability and geographic distribution
Threshold Configuration: Set thresholds to balance security and availability (typically 2-of-3 or 3-of-5)
OOBI Publication: Publish OOBIs for registry discovery through well-known URIs or other mechanisms
Transaction Anchoring
KEL Coordination: TEL transactions must be anchored in KEL interaction or rotation events
Seal Format: Use event source seals with sequence number and digest
CESR Encoding: Encode seals in CESR format for composability
Atomic Operations: Ensure KEL and TEL updates are coordinated
State Verification
Full Chain Validation: Verify the entire chain from TEL to KEL to root of trust
Registrar Consensus: Check that sufficient Registrar receipts are present
Duplicity Monitoring: Compare TEL versions from multiple sources to detect inconsistencies
Caching Strategy: Cache verified registry state but implement refresh mechanisms
Performance Optimization
Parallel Queries: Query multiple Registrars in parallel for faster verification
State Caching: Cache registry state with appropriate TTLs
Incremental Updates: Only fetch new transactions since last verification
Batch Processing: Process multiple credential verifications in batches
Security Considerations
Key Protection: Protect registry controller keys with appropriate security measures
Registrar Trust: Carefully vet Registrars for reliability and security
Duplicity Detection: Implement monitoring for conflicting TEL versions
Replay Protection: Use sequence numbers and timestamps to prevent replay attacks
Privacy Enhancements
Blinded Registries: Use cryptographic blinding for high-privacy use cases
Registry Creation: Establishing new credential registries for specific issuers or credential types
Backer Management: Tracking which entities (Registrars) provide backing services for the registry
Key Participants
The registry process involves several key roles:
Registry Controller: The AID that controls the registry, typically the credential issuer
Registrars (Backers): Entities that maintain copies of the TEL and provide verification services
Credential Holders: Entities that receive credentials tracked in the registry
Verifiers: Entities that query the registry to check credential status
Validators: Any party that can cryptographically verify the registry state
Process Flow
Registry Creation
The registry creation process follows a specific sequence: