Privacy-Preserving Compliance on Public Ledgers via Selective Disclosure Authorization Schemes
This paper introduces Selective Disclosure Authorization Schemes (SDAS) and their Ethereum instantiation, ZK-Compliance, to enable granular, revocable regulatory compliance on public ledgers by binding zero-knowledge proofs to specific on-chain senders, thereby mitigating front-running and proof-reuse risks while preserving data privacy.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Imagine a public ledger (like a blockchain) as a giant, transparent glass wall where everyone can see every transaction. This is great for honesty, but it's terrible for privacy. If you need to prove you are over 18 to enter a digital club, the current way forces you to shout your actual birthdate to the whole world. You either reveal your secret or you can't get in.
This paper proposes a new way to solve that problem using a "magic trick" called Zero-Knowledge Proofs (ZKPs), combined with a strict security rule to stop thieves from stealing your trick.
Here is the breakdown of their solution, ZK-Compliance, using simple analogies:
1. The Problem: The "Glass Wall" and the "Thief"
- The Transparency Trap: In a normal blockchain, if you want to prove you are eligible (e.g., "I am over 18"), you usually have to post your real data on the wall. Once it's there, it's permanent and visible to everyone.
- The Thief's Window: Even if you use a "magic trick" (a ZKP) to prove you are over 18 without showing your birthdate, there is a delay. You generate the proof on your computer, but it has to travel through a public waiting room (the "mempool") before it gets recorded.
- The Attack: A thief standing in that waiting room can see your valid proof, grab it, and run to the club door first, pretending they are the one who generated the proof. This is called "front-running."
2. The Solution: The "Wristband" that Only Fits You
The authors created a system called SDAS (Selective Disclosure Authorization Scheme). Think of it as a smart wristband system for the digital club.
- The Magic Trick (The Proof): Instead of showing your birth certificate, you use a special computer program (a "circuit") to generate a digital receipt. This receipt proves, "Yes, this person is over 18," but it contains zero information about who that person is or when they were born.
- The Security Glue (Sender Binding): This is the paper's main innovation. The system takes that digital receipt and "glues" it to your specific digital wallet address (your unique ID).
- The Analogy: Imagine the receipt is a ticket. In the old system, anyone could pick up a dropped ticket and use it. In this new system, the ticket is printed with a hologram that says, "This ticket only works if held by Alice."
- If a thief tries to grab your ticket and use it with their own ID, the hologram doesn't match, and the club bouncer (the smart contract) immediately rejects it.
3. How It Works in Real Life (The "Grant, Verify, Revoke" Cycle)
The paper tested this on a test version of Ethereum (Sepolia) and created a three-step process:
- Grant (The Magic Show): You go to your browser, and a small program (running in under 200 milliseconds—faster than a blink) creates your proof. It checks your birth year against the age limit, adds a secret "salt" (like a random spice to prevent guessing), and binds the proof to your wallet. You send this to the club.
- Verify (The Bouncer Check): The club's smart contract checks two things:
- Is the math on the proof correct? (Did you really prove you are over 18?)
- Crucially: Does the proof match the person holding it? (Is the wallet address on the proof the same as the one sending the transaction?)
- If both match, you get in. If a thief tries to use your proof, the check fails because the "glue" doesn't match their wallet.
- Revoke (The Cut): If you want to leave the club or stop the dApp from having access, you can press a button to "cut" your wristband. The system deletes your access record. The club knows you left, but they still don't know your birthdate.
4. The Results: Fast and Cheap
The authors built a prototype and tested it. Here is what they found:
- Speed: Generating the proof on a regular laptop takes less than 200 milliseconds. It's fast enough for a normal website.
- Cost: Checking the proof on the blockchain costs about 240,000 "gas" units (the currency used to pay for blockchain transactions). While not free, it is a fixed, predictable cost that proves the system is practical.
- Security: In their tests, when they tried to simulate a thief stealing a proof and using it from a different wallet, the system successfully blocked the transaction every time.
Summary
This paper introduces a way to prove you follow the rules (like being old enough) on a public, transparent blockchain without revealing your secrets. The key innovation is binding the proof to the specific person sending it, so even if a thief steals the proof while it's waiting in line, they can't use it because the "lock" on the proof only fits the original owner's key.
The authors call this ZK-Compliance, and they show it works quickly and securely, turning a "transparency trap" into a privacy-preserving security system.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.