From Passwords to Proofs
Passwords represent the oldest and most fragile layer of digital identity. Users create them, remember them, and — critically — services store them (or hashed versions of them). When a database breaches, millions of credentials leak. The average user reuses passwords across dozens of services, so one breach cascades into many. Zero-knowledge authentication replaces the shared secret with a mathematical proof. Instead of sending a password, the user's device generates a proof that it holds a valid credential — say, a VNeID identity assertion — and that the credential satisfies the verifier's policy (for example, "the holder is over 18 and resides in Vietnam"). The verifier checks the proof cryptographically and allows access. No secret crosses the wire. No profile builds up on the server.
The Anatomy of a ZK Login
A typical ZK login flow has three participants: the prover (the user's wallet or identity app), the verifier (the service, such as a DeFi protocol or government portal), and the issuer (the authority that originally attested to the user's attributes, such as VNeID or a university). First, the user enrolls a credential. In Vietnam's context, this could be a VNeID digital identity registered under Nghị định 13/2023. The credential contains attributes: full name, date of birth, nationality, residence address. These live in the user's wallet, not on any server. When the user wants to log into a service, the service publishes a verification policy. The user's wallet runs a ZK circuit locally — no internet required for the computation — generating a proof that the credential satisfies the policy. The wallet sends the proof to the service. The service verifies the proof against a public verification key. Done. The service never saw the credential, never learned the user's name, and cannot link this login to any other.
Selective Disclosure: Flipping Only the Needed Page
Closely related to ZK login is selective disclosure. A credential may contain fifty attributes, but the verifier only needs to know two: "is the holder over 18?" and "is the holder a Vietnamese citizen?" The prover reveals only those two answers, proven via ZK, while the other forty-eight attributes remain completely hidden.
This matters enormously for applications like eKYC. A bank needs to verify identity and legal residency. It does not need the customer's passport photo, their parents' names, or their exact birth date. Selective disclosure lets the customer satisfy the bank's requirement without over-sharing. Under Vietnam's data protection regulations, over-sharing is itself a compliance risk. Less data transferred means less exposure for both parties.
Real-World Applications
VNeID Integration
Vietnam's VNeID platform, governed by Nghị định 13/2023 on personal data protection, is the natural anchor for ZK login. A VNeID credential, stored in a wallet app capable of ZK proofs, could authenticate users into government services, banking portals, and e-commerce platforms — all without transmitting identity data.DeFi Access
A DeFi protocol might require proof that the user is not on a sanctions list and is over 18. The user's wallet generates a ZK proof from a KYC credential (without revealing which credential authority issued it) and submits it. The protocol verifies and grants access. No KYC data touches the protocol's smart contract.Corporate Systems
Enterprises can issue employee credentials with attributes like "department: engineering" and "clearance: level 3." An internal tool needing only engineering access can verify via ZK. HR never shares the full employee list with IT. The employee's device never reveals their clearance level to a system that only needs department.
