ZKP PRIVACY / VERIFICATION BBATON PROTOCOL

Even we do not know who BBATON users are.

Zero-knowledge proof (ZKP) verifies only the fact required by a service instead of requiring users to submit their full personal information. BBATON applies this principle to an anonymous verification structure so only the required verification result, such as whether a user is an adult, is delivered.

Prove what matters.
Reveal nothing else.

01 / Core Principles of ZKP

Why ZKP matters.

As personal-data governance becomes more important, verification systems are being designed to confirm whether a condition is satisfied without revealing a user's identity. ZKP verifies only true or false and is structured so the rest of the data remains hidden.

01

Completeness

Completeness

If a claim is true, a valid proof must pass verification. In practice, this means legitimate users should be able to prove required conditions reliably.

02

Integrity

Integrity

A proof value must not be manipulated, forged, or used to deceive the verifier through a bypass. The structure is designed so user data cannot be arbitrarily altered or circumvented through blockchain-based controls.

03

Anonymity

Anonymity

The verifier must not obtain any information that could identify the user beyond whether the proof value is valid. BBATON is also designed so that it cannot know who the user is.

02 / Verification Structure

A service-level verification structure.

In production, the user's personal information, the proof generated on the device, and the service that interprets the result should remain separated. The key is that the service can receive only the result it needs without access to raw source data.

STEP 01
SECRET
PROVER / USER SIDE

Original personal data
stays with the user.

Identity documents, birth date values, and personal identifiers remain on the user's device or within a user-controlled area. BBATON is also designed not to collect the user's personal information.

Example Inputs birthdate = 1985-06-14
nationality = KOR
Generate Proof
STEP 02
PROOF
PROOF / PROOF

BBATON verifies whether
the proof is valid.

A request for a condition such as adult status is sent to the user's device, and the device generates a proof and sends it to BBATON. BBATON verifies only whether that proof is valid.

Claim Requested by Service claim = age ≥ 19
proof = 0x8f3a...b2e1
Verify
STEP 03
VERIFIER / SERVICE

Clients check only
the verification result.

The proof value verified by BBATON is returned to the client. That proof does not contain the user's personal information; it contains only whether the requested verification is true or false.

Result verify(proof) → true
knowledge leaked → none
BBATON / Application Direction

Keep the original source on the user device, and let services receive only the result.

BBATON does not handle personal information. The client sends a verification request, the device generates the proof required for that request, and BBATON only verifies and returns the result.

01 · ENROLL
DEVICE / USER DEVICE

Register once,
keep it on device.

At initial registration, the required document information is read and converted into personal information and verification materials that remain only on the user device.

Generated on device passport_data
biometric_template
secret_key (device-only)
On device
02 · CUSTODY
ON-DEVICE
CUSTODY / LOCAL STORAGE

The device stores it,
not the server.

Original identity documents and source values are not uploaded to a central server or blockchain. All information that could identify the user remains in the user's possession.

Never sent externally Passport image, full birth date, name
selfie, facial landmarks
secret key
On request
03 · PROVE
SERVICE QUERY TRUE ✓
PROVE / RESULT DELIVERY

When requested,
prove only the claim.

When the client requests a condition, the user device creates a proof from local information and BBATON verifies it. Raw identity information is not transmitted.

What the service receives claim: age ≥ 19
result: true
leaked info: none
03 / Example Use Cases

Check only the information required.

BBATON is not an identity-verification service. It does not verify who a user is; it verifies whether a specific condition is satisfied.

BEFORE / Existing model

Show the full ID document.

What the clerk receives
NAME
Kim Min-su
ID NO.
950614-1******
ADDRESS
Teheran-ro, Gangnam-gu, Seoul ···
Exposed: name, national ID, address, photo, issue date

What is actually needed is only whether the user is an adult, yet unnecessary personal information is exposed together with the result. The purpose of collection and the scope of exposed information do not match.

AFTER / ZKP model

Check only adulthood.

What the clerk receives
CLAIM
Age 19+
♦ VERIFIED
Hidden: name, national ID, address, birth date

The service checks only the result required by policy and does not know original values such as the name, address, or birth date. The verification purpose and the collected information align.

Check the developer guide.

Developer Guide