Plain JSON is a liability. Every API call that returns a full user object—name, email, balance—creates a permanent data leak. This model forces applications to over-collect and over-expose information, violating core privacy principles.
The Future of Selective Disclosure: Zero-Knowledge Proofs Over Plain JSON
Plain JSON Verifiable Credentials are a privacy liability. This analysis argues that ZK proofs are the only viable architecture for true selective disclosure, examining the technical flaws of current standards and the projects building the alternative.
Introduction
Plain JSON is a liability for user privacy, and zero-knowledge proofs are the only viable replacement for selective disclosure.
Zero-knowledge proofs (ZKPs) enable minimal disclosure. A user proves a specific claim (e.g., 'I am over 18', 'my balance > $1000') without revealing the underlying data. This shifts the paradigm from sharing data to sharing verifiable statements.
The standard is evolving from OAuth to ZK. Legacy systems like OAuth 2.0 grant broad access tokens. New standards like Worldcoin's Sign in with Worldcoin and Polygon ID use ZKPs to prove unique humanness or credentials without a data transfer.
Evidence: Applications using zkLogin for Sui or Sign in with Ethereum with ZK extensions reduce the attack surface by 90+%, as no personal data ever leaves the user's device.
The Privacy Paradox of Modern VCs
Verifiable Credentials (VCs) promise user control, but current JSON-based models leak metadata and force all-or-nothing disclosure, creating a new surveillance risk.
The JSON Leak: Your Credential is a Data Exfiltration Vector
Standard W3C VCs in plain JSON reveal issuer, schema, and issuance dates by default. This metadata creates correlatable fingerprints across applications, defeating the purpose of user-centric identity.
- Correlation Risk: Issuer and type metadata alone can profile users across dApps.
- All-or-Nothing Disclosure: To prove you're over 18, you must show your entire birthdate credential.
- Blind Trust: Verifiers see the raw data, enabling them to store and misuse it.
The ZKP Pivot: Prove Properties, Not Data
Zero-Knowledge Proofs (ZKPs) allow a user to generate a cryptographic proof that a credential satisfies a predicate without revealing the credential itself. This shifts the paradigm from data sharing to property verification.
- Minimal Disclosure: Prove you are over 21 from a birthdate VC without revealing the date, issuer, or even your name.
- Unlinkability: Each proof is unique, preventing correlation across sessions or verifiers.
- Cryptographic Trust: Verifier only checks the proof's validity against the issuer's public key, never seeing underlying data.
The On-Chain Imperative: Anonymous Yet Verifiable Actions
For blockchain applications, ZK-VCs are non-negotiable. They enable Sybil-resistant, privacy-preserving access to governance, airdrops, and DeFi without doxxing your entire identity graph.
- Sybil Resistance: Prove unique humanity via Worldcoin or Iden3 without linking wallets.
- Compliant DeFi: Prove accredited investor status or jurisdiction for a Maple Finance loan pool anonymously.
- Private Governance: Vote in a DAO with proof of membership or token holdings without revealing your stake size.
Architectural Shift: From Centralized Schemas to ZK Circuits
Implementing ZK-VCs requires rebuilding the stack. Issuers must support ZK-friendly formats, wallets must become proof generators, and verifiers need lightweight circuit verifiers.
- Circuit Design: Credential logic (e.g., date comparisons, set membership) is encoded into arithmetic circuits using frameworks like Circom or Halo2.
- Wallet Role: Wallets (e.g., SpruceID's Kepler) move from simple storage to active, offline proof computation.
- Standardization Push: Emerging standards like W3C ZK-VC and IETF's SD-JWT aim to bring interoperability to selective disclosure.
The VC's Dilemma: Invest in Privacy or Obsolete Infrastructure
VCs funding identity and on-chain apps face a binary choice. Backing projects using plain JSON VCs is investing in technical debt and future regulatory liability. The winning stack will be ZK-native from day one.
- Future-Proofing: ZK-VCs are prerequisite for mass adoption in regulated finance (RWA) and healthcare.
- Competitive Moat: Projects like Sismo and Polygon ID are building moats with ZK-proof aggregations and attestation networks.
- Regulatory Alignment: ZK provides both privacy and stronger audit trails via proof-only verification logs.
The Endgame: Credentials as Invisible, Programmable Policy
The ultimate vision is credentials that are never seen, only functionally felt. Access gates, interest rates, and UI features dynamically adjust based on ZK proofs of underlying attributes, making identity a seamless protocol layer.
- Dynamic UX: A DApp's interface personalizes based on proven traits without a data handover.
- Composite Proofs: Combine proofs from multiple issuers (e.g., credit score + DAO membership) in a single ZK proof via zkMaps.
- Revocation via ZK: Prove a credential is not on a revocation list without revealing which credential you're checking.
Architectural Showdown: JSON-LD vs. ZK-Backed VCs
Compares the dominant, standards-based approach for verifiable credentials against the emerging zero-knowledge paradigm for privacy and scalability.
| Feature / Metric | JSON-LD / BBS+ Signatures | ZK-Backed VCs (e.g., Sismo, Polygon ID) | Hybrid Approach (e.g., AnonCreds on ZK) |
|---|---|---|---|
Cryptographic Primitive | BBS+ Signatures (Selective Disclosure) | zk-SNARKs / zk-STARKs | CL-Signatures + ZKPs |
Privacy Leakage from Proof | Reveals claim structure & issuer | Reveals only proof validity | Reveals only proof validity |
Proof Size (On-Chain) | ~1-2 KB (signature + disclosed data) | < 1 KB (constant, e.g., 256 bytes) | ~1-2 KB |
Verification Cost (Gas, Mainnet) | $0.50 - $2.00 | $0.05 - $0.20 | $0.10 - $0.50 |
W3C Standard Compliance | Full (Verifiable Credentials Data Model) | Proprietary / Emerging Standards | Partial (AnonCreds is a de facto standard) |
Trust Model (Issuer Revocation) | Centralized Revocation Lists | On-Chain Accumulators / Nullifiers | On-Chain Accumulators |
Developer Tooling Maturity | High (Microsoft, Transmute, DIF) | Low-Moderate (SDK-dependent) | Moderate (Indy-based ecosystems) |
Succinct Batch Verification |
Why ZK Proofs Are the Logical Endpoint
Selective disclosure of verifiable credentials will transition from plain JSON to zero-knowledge proofs for privacy and composability.
JSON credentials leak data. Plain JSON Web Tokens (JWTs) expose all attributes, forcing users to reveal unnecessary personal information to every verifier, creating permanent data trails.
ZK proofs enable minimal disclosure. Protocols like Sismo and Polygon ID generate proofs that confirm a claim (e.g., 'over 18') without revealing the underlying credential or identifier, enabling private on-chain actions.
The endpoint is programmability. Unlike static JSON, a ZK proof is a cryptographic object that integrates with smart contracts on Ethereum or Starknet, enabling private DeFi transactions and governance.
Evidence: The Ethereum Attestation Service (EAS) schema registry shows the infrastructure shift, with ZK attestations becoming the standard for reusable, private identity claims.
Protocol Spotlight: Building the ZK Credential Stack
The current credential landscape is a privacy nightmare, forcing users to choose between full exposure of their data or complete denial of service.
The Problem: All-or-Nothing JSON
Traditional OAuth and JWTs leak your entire data payload to every verifier. This creates massive attack surfaces and violates data minimization principles.
- Privacy Violation: Verifier sees your full name, email, and birthdate just to confirm you're over 18.
- Data Silos: Credentials are locked to specific issuers, preventing portable, user-owned identity.
The Solution: ZK-SNARKs for Credentials
Zero-Knowledge Proofs allow you to prove a statement about your data without revealing the data itself. This is the cryptographic engine for selective disclosure.
- Minimal Disclosure: Prove you're a citizen, accredited investor, or over 21 without showing your passport, SSN, or birth certificate.
- Portable Proofs: A proof from one issuer can be verified by any service, breaking down walled gardens.
The Stack: Polygon ID & Sismo
Real-world implementations are building the full stack, from issuance to verification. Polygon ID offers enterprise-grade Iden3 protocol integration, while Sismo pioneers non-transferable ZK Badges for granular reputation.
- On-Chain Verification: Smart contracts can trustlessly verify credentials for DeFi access or DAO voting.
- Composability: ZK Badges from Gitcoin, ENS, or POAP can be combined into a single proof of aggregated reputation.
The Killer App: Private DeFi & Governance
The real traction is in financial and governance applications that require proof without exposure. This enables compliant yet private participation.
- Accredited Investor Pools: Prove accreditation status to a lending protocol without revealing your net worth or identity to the world.
- Sybil-Resistant DAOs: Use ZK proofs of unique humanity or past contributions to claim voting power, without doxxing your wallet history.
The Hurdle: UX & Issuer Adoption
The cryptography is solved; the user experience and issuer onboarding are not. Proving systems must be abstracted into seamless flows.
- Wallet Integration: Native support in wallets like MetaMask Snaps or Privy is critical for mainstream adoption.
- Trusted Issuers: Legitimate entities (governments, universities, corporations) must be onboarded to issue verifiable credentials at scale.
The Endgame: The Verifiable Data Economy
ZK Credentials evolve from a privacy tool into a fundamental data primitive. They enable a market for verified, portable attributes without centralized custodians.
- Data as a Liquid Asset: Sell proof of your credit score or professional certification to a service, not the underlying data.
- Interoperable Identity: A single ZK identity layer works across Ethereum, Solana, and traditional web, unifying the digital self.
The Steelman Case for Plain JSON (And Why It's Wrong)
Plain JSON is the incumbent standard for data portability, but its inherent transparency is a fatal flaw for the next generation of user-centric applications.
JSON is the universal API. Every system from legacy banks to modern dApps speaks it, enabling seamless data exchange without new infrastructure. This interoperability is its primary defense against more complex alternatives like ZK-SNARKs.
The cost argument is compelling. Generating and verifying a ZK proof for a simple credential, using a system like RISC Zero or zkEmail, requires significant computational overhead. For non-sensitive data, this is wasteful engineering.
The flaw is binary disclosure. Sending a plain JSON credential, even via a Verifiable Credential (VC) standard, reveals all contained data. To prove you're over 21, you must expose your exact birthdate, creating permanent privacy leakage.
Zero-knowledge proofs enable selective disclosure. Protocols like zkPass and Sismo allow users to prove specific claims (e.g., 'age > 21') from a private data source without revealing the underlying data. This is the core primitive for compliant DeFi and private identity.
Evidence: The Ethereum Attestation Service (EAS) schema registry shows most attestations are public JSON blobs. However, projects like Worldcoin use ZK proofs (Semaphore) to verify uniqueness without linking identities, demonstrating the necessary shift.
Adoption Risks: What Could Derail the ZK Future?
Zero-knowledge proofs promise a paradigm shift from oversharing plain JSON to cryptographically verified claims, but systemic friction threatens mainstream adoption.
The UX Chasm: Proving is a Frictionful Action
ZK's killer feature—proving a fact without revealing data—requires user action. Every proof generation is a computational tax and a cognitive break in the user flow. This is antithetical to the passive, seamless data sharing of OAuth and plain APIs.
- Key Risk: User drop-off increases with each proof step.
- Key Constraint: Mobile device proving times of ~2-10 seconds are unacceptable for most apps.
- Comparison: Plain JSON is a free
GETrequest; a ZK proof is a paid, async job.
The Oracle Problem Reborn: Trusted Data Sources
A ZK proof of your credit score is only as good as the data it proves. Systems like zkPass and zkEmail must source truth from traditional web2 APIs or centralized attestors, creating a trust bottleneck. This reintroduces the very centralization and single points of failure ZK aims to circumvent.
- Key Risk: Centralized data source compromise invalidates the entire ZK privacy guarantee.
- Key Constraint: ~99% of valuable user data is currently locked in custodial databases.
- Comparison: Plain JSON pulls from a known, liable entity; ZK proofs often obscure the source's fragility.
The Interoperability Illusion: Walled Proof Gardens
Proof systems are not natively compatible. A proof from zkSNARKs (Circom) is meaningless to a zkSTARKs verifier or an EVM circuit. Without standardized proof formats and verification languages, we risk creating walled gardens of attestation that destroy composability, the core innovation of DeFi and Web3.
- Key Risk: Protocol-specific proof systems lead to vendor lock-in and fragmented identity.
- Key Constraint: Bridging proofs between systems often requires a trusted relay or re-proving.
- Comparison: Plain JSON is universally parseable; a ZK proof is a proprietary lockbox.
The Cost of Truth: Prover Economics are Unproven
Generating ZK proofs is computationally intensive, requiring specialized hardware or cloud services. The economic model for who pays—user, application, or protocol—is unresolved. At scale, this could make selective disclosure prohibitively expensive compared to the marginal cost of transmitting plaintext JSON.
- Key Risk: Micropayments and high-frequency use cases are economically non-viable.
- Key Constraint: Proving cost, even with ~10x hardware improvements, remains a linear function of statement complexity.
- Comparison: Plain JSON cost trends to zero; ZK proof cost has a persistent, non-zero floor.
Regulatory Ambiguity: Is a Proof a Data Transfer?
GDPR and similar frameworks govern 'personal data'. A ZK proof is a derivative artifact that may contain personal data. Regulators could rule that submitting a proof for verification constitutes a regulated data transfer, imposing compliance burdens that erase the efficiency gains. Legal precedent is non-existent.
- Key Risk: Enterprise adoption halts due to unquantifiable compliance liability.
- Key Constraint: 0 legal cases define the status of ZK proofs under data law.
- Comparison: Plain JSON transfers are a well-mapped compliance nightmare; ZK proofs are an uncharted one.
The Complexity Trap: Developer Onboarding is a Cliff
Building with ZK requires expertise in cryptography, circuit design, and specialized languages (Circom, Cairo, Noir). This creates a severe talent bottleneck. The tooling gap versus the mature, intuitive ecosystem for REST APIs and JSON parsing is a multi-year chasm.
- Key Risk: Innovation velocity slows to a crawl, confined to a few expert teams.
- Key Constraint: ~10k competent ZK developers vs. ~10M full-stack web developers.
- Comparison: Plain JSON is taught in bootcamp week one; ZK circuits are a graduate-level specialization.
TL;DR for Builders and Investors
The shift from plain JSON attestations to ZK proofs is the critical infrastructure upgrade for verifiable, private, and composable data on-chain.
The Problem: JSON Oracles Are a Legal & Trust Nightmare
Current attestations (e.g., from Chainlink Functions, Pyth) are plain JSON blobs. They're opaque, require blind trust in the data source, and expose sensitive raw data. This creates liability and limits composability.
- Trust Assumption: You must trust the signer's data integrity and privacy practices.
- Data Leakage: Full user data (KYC details, credit scores) is exposed on-chain or to relays.
- Legal Risk: Data processors become liable for PII handling under regulations like GDPR.
The Solution: ZK Attestations as Universal Verifiable Credentials
ZK proofs (e.g., using zkSNARKs via RISC Zero, SP1) allow a user to prove a statement about private data is true, without revealing the data itself. The on-chain verifier only sees a proof.
- Selective Disclosure: Prove you're >18 without revealing your birthdate or ID.
- Trust Minimization: Verify the proof's cryptographic validity, not the oracle's reputation.
- Composability: ZK proofs are machine-readable, enabling automatic DeFi underwriting or gaming eligibility checks.
The Killer App: Private On-Chain Credit & Compliance
This enables a new primitive: risk-adjusted DeFi without surveillance. Protocols like Aave, Compound can offer better rates based on private credit scores. zkKYC solutions (e.g., Polygon ID, zkPass) become viable.
- Capital Efficiency: Lending pools can offer 0% loan-to-value rates to verified, creditworthy users.
- Regulatory Gateway: Institutions can prove AML compliance privately, unlocking $10B+ in trapped capital.
- User Sovereignty: Individuals own and reuse their attestations across chains and apps.
The Infrastructure Race: Prover Networks & Standards
Winning this layer means capturing the flow of all verifiable data. It's a battle between zkVM providers (RISC Zero, SP1) and specialized proof systems (zkEmail, zkSBTs).
- Performance: The winning stack will offer sub-$0.01 proof costs and <5 second generation on consumer devices.
- Standardization: Watch for EIPs/W3C standards merging ERC-7231 (ZK attestations) with Verifiable Credentials.
- Network Effects: The platform that becomes the default verifier (like EigenLayer for AVS) will extract most value.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.