Digital credentials have historically depended on centralized issuers and opaque verification chains. A university degree, a professional license, a government-issued ID—each requires the verifier to trust not just the holder but the entire infrastructure behind the issuer. W3C Verifiable Credentials (VCs) break this pattern by establishing a standardized, cryptographically verifiable data model that decouples issuance from verification. When combined with blockchain anchoring, the result is a credential system where proof of issuance is immutable, revocation is transparent, and the holder retains full sovereignty over their data.
The W3C Verifiable Credential Data Model
At its core, a Verifiable Credential is a JSON-LD document containing three elements: the credential metadata (issuer DID, issuance date, expiration), the claims about the subject (the actual assertions being made), and a cryptographic proof. The W3C specification (VC Data Model 2.0) deliberately separates the data format from the proof mechanism, allowing implementors to choose signature schemes appropriate to their threat model.
{
"@context": ["https://www.w3.org/ns/credentials/v2"],
"type": ["VerifiableCredential", "IdentityCredential"],
"issuer": "did:h33:zQ3shKael7x...4fWm",
"validFrom": "2026-02-24T00:00:00Z",
"credentialSubject": {
"id": "did:h33:zQ3shUser9k...2nRj",
"biometricVerified": true,
"authLevel": "post-quantum"
},
"proof": {
"type": "DilithiumSignature2026",
"verificationMethod": "did:h33:zQ3shKael7x...4fWm#key-1",
"proofValue": "z3FXhq9Bv7..."
}
}This structure is critical because the proof travels with the credential. A verifier does not need to contact the issuer to check validity. They resolve the issuer's DID, retrieve the public key, and verify the signature locally. The entire round trip happens without a phone-home request, which eliminates both a privacy leak and a single point of failure.
Why Blockchain Anchoring Matters
Standalone VCs solve the verification problem but leave open questions about issuance timing and revocation. How does a verifier know the credential was actually issued on the date it claims? How do they discover that a credential has been revoked without querying the issuer's proprietary revocation list? Blockchain anchoring addresses both.
The approach is straightforward: when a credential is issued, a hash of the credential (or a Merkle root covering a batch of credentials) is written to an on-chain transaction. This creates an immutable timestamp. Revocation is handled similarly—a revocation registry stored as a smart contract or on-chain bitmap allows verifiers to check status without contacting the issuer. The credential holder is not identified on-chain; only the hash is anchored, preserving privacy.
Architecture: From Issuance to Verification
A production-grade VC-on-blockchain system involves four components: the issuer service, the holder wallet, the blockchain layer, and the verification engine. The flow proceeds in three phases.
Phase 1: Credential Issuance
The issuer authenticates the subject (via biometrics, document verification, or existing credentials), constructs the VC payload, signs it with their private key, and anchors the credential hash to the blockchain. At H33, the authentication step itself runs through a fully post-quantum pipeline: biometric templates are encrypted under BFV FHE, inner products are computed on encrypted data, and the result is attested with a Dilithium signature—all in approximately 42 microseconds per authentication at production scale.
Phase 2: Holder Storage and Presentation
The holder receives the signed VC and stores it in a local wallet (mobile app, browser extension, or hardware device). When a verifier requests proof of a claim, the holder generates a Verifiable Presentation (VP)—a wrapper that proves the holder controls the credential without revealing unnecessary fields. Selective disclosure and zero-knowledge proof techniques allow the holder to prove, for example, that they are over 21 without revealing their exact date of birth.
Phase 3: Verification
The verifier receives the VP, extracts the embedded VC, resolves the issuer's DID to retrieve their public key, verifies the cryptographic signature, and checks the blockchain anchor to confirm issuance timing and revocation status. The entire sequence completes in under a millisecond with modern infrastructure.
| Step | Operation | Latency |
|---|---|---|
| DID Resolution | Resolve issuer DID to public key | ~50 ms (cached: <1 ms) |
| Signature Verify | Dilithium-5 signature check | ~120 µs |
| ZKP Lookup | Revocation registry check (DashMap) | ~0.085 µs |
| Chain Anchor | Confirm hash on-chain (indexed) | ~2 ms (cached: <0.5 ms) |
| Total | Full verification | <3 ms (warm cache: <1 ms) |
Post-Quantum Signatures for Credential Longevity
Most VC implementations today rely on Ed25519 or ECDSA signatures. These are fast and well-understood, but they share a fatal vulnerability: a sufficiently powerful quantum computer running Shor's algorithm can forge signatures in polynomial time. For credentials with long validity periods—university degrees, professional certifications, identity documents—this is not a theoretical concern. A credential issued today with a 10-year validity window must survive quantum threats that may materialize within that window.
Credentials are not session tokens. A diploma issued in 2026 must still be verifiable—and unforgeable—in 2036. Post-quantum signatures are not optional for long-lived credentials; they are a structural requirement.
CRYSTALS-Dilithium (ML-DSA), standardized by NIST as FIPS 204, provides the post-quantum foundation. Dilithium signatures are based on the Module Learning With Errors (MLWE) lattice problem, which remains hard for both classical and quantum adversaries. H33's production stack uses Dilithium for all attestation signatures, achieving a combined sign-and-verify cycle of approximately 244 microseconds. At batch scale (32 credentials per batch), the amortized cost drops further because a single Dilithium signature covers the entire batch attestation.
Soulbound Tokens: Non-Transferable On-Chain Credentials
A natural extension of blockchain-anchored VCs is the Soulbound Token (SBT)—a non-transferable NFT that represents a credential directly on-chain. Unlike standard NFTs, SBTs cannot be sold or transferred. They are permanently bound to the holder's wallet address, making them suitable for representing achievements, certifications, and identity attestations that should not change hands.
The SBT model is particularly powerful when combined with the VC data model. The on-chain SBT serves as the publicly visible anchor (proving the credential exists and has not been revoked), while the off-chain VC contains the full claim details that the holder selectively discloses. This hybrid approach avoids putting sensitive data on a public ledger while still providing the composability benefits of on-chain tokens—smart contracts can gate access based on SBT ownership without needing to parse credential payloads.
// Soulbound Token issuance (simplified)
function issueCredential(address holder, bytes32 vcHash) external onlyIssuer {
require(balanceOf(holder) == 0, "SBT already issued");
_mint(holder, nextTokenId);
_vcAnchors[nextTokenId] = vcHash;
emit CredentialIssued(holder, nextTokenId, vcHash);
}
// Transfer override: SBTs are non-transferable
function _beforeTokenTransfer(address from, address to, uint256) internal pure override {
require(from == address(0) || to == address(0), "Soulbound: non-transferable");
}Scaling Credential Verification
Individual credential verification is fast. The challenge is scale: an enterprise identity provider may need to verify millions of credentials per second during peak authentication flows. This is where the architecture of the verification engine becomes critical.
H33's approach uses three layers in a single API call. First, biometric or credential data is encrypted under BFV fully homomorphic encryption with SIMD batching—32 users packed into a single ciphertext via CRT slot encoding. The encrypted inner product runs in approximately 1,109 microseconds for the full 32-user batch. Second, a zero-knowledge proof lookup confirms the credential against a cached registry; using an in-process DashMap, this lookup completes in 0.085 microseconds with zero network overhead. Third, a Dilithium signature attests the result with post-quantum security. The combined pipeline delivers 1.595 million authentications per second on production hardware (Graviton4, 96 workers), with a per-authentication latency of approximately 42 microseconds.
Revocation Without Centralization
Credential revocation is the hardest problem in any VC system. Traditional approaches use Certificate Revocation Lists (CRLs) or Online Certificate Status Protocol (OCSP), both of which require the verifier to contact the issuer—reintroducing the centralization that VCs were designed to eliminate. Blockchain-native revocation avoids this entirely.
Two patterns dominate. The first is a revocation registry smart contract: a bitmap or accumulator stored on-chain where each bit corresponds to a credential index. Revoking a credential flips a bit; verifiers read the bitmap directly from the chain. The second is a status list approach aligned with the W3C Bitstring Status List specification, where a compressed bitstring is published at a known URL (or anchored on-chain) and updated by the issuer. Both patterns allow verifiers to check revocation status without contacting the issuer and without revealing which specific credential they are checking.
Looking Forward
The convergence of W3C Verifiable Credentials, blockchain anchoring, post-quantum cryptography, and fully homomorphic encryption creates a credential infrastructure that is simultaneously decentralized, privacy-preserving, and quantum-resistant. The pieces are no longer theoretical—they are running in production, at scale, today. As regulatory frameworks like eIDAS 2.0 in Europe begin mandating interoperable digital identity wallets, the systems built on these foundations will define how trust operates in the next decade of the internet.
Ready to Go Quantum-Secure?
Start protecting your users with post-quantum authentication today. 1,000 free auths, no credit card required.
Get Free API Key →