Zero-Knowledge Proof with zkPass — Private Data Protocol

Sandeep Kumar Seeram
3 min readMay 11, 2024

zkPass stands as a groundbreaking private data protocol designed to facilitate privacy-preserving verification. It rests on the pillars of Multi-Party Computation (MPC), Zero-Knowledge Proofs (ZKP), and Three-Party Transport Layer Security (3P-TLS).

With its innovative TransGate feature, zkPass empowers users to selectively and confidentially validate their data from any HTTPS website to the Web3 world. This spans across a diverse array of data types, including legal identity, financial records, healthcare information, social interactions, work experience, education and skill certifications, and more.

The beauty of zkPass lies in its ability to conduct these verifications securely and privately, without necessitating the disclosure or uploading of sensitive personal data to third parties.

At its core, zkPass leverages Three-Party TLS (3P-TLS), Multi-Party Secure Computation (MPC), and Zero-Knowledge Proof (ZKP) techniques to handle data securely. It initiates with a three-party handshake involving a data source (S), user (P), and zkPass node (V), generating shared session keys through Paillier encryption for enhanced security. P and V collaboratively compute keys for encryption and authentication, with V strictly barred from accessing the user’s private data. This process encompasses standard TLS procedures while preparing for zero-knowledge proofs.

zkPass adopts a hybrid zero-knowledge approach, blending interactive (VoLE-ZK23) and non-interactive protocols. VoLE-ZK23 ensures the authenticity of data origin and shields clients from tampering, optimized by SoftSpoken for efficiency and simplified with AND gates.

For non-interactive zero-knowledge (NIZK), zkPass employs the SNARK framework. Verified outcomes are signed and incorporated into a Merkle tree within the SBT (Selective Blockchain Tree) contract, guaranteeing efficient, secure, and private validation.

Crucially, neither the zkPass protocol nor its validators access or retain any of the user’s private data. It harnesses technologies like Three-Party TLS, MPC, and ZKP to empower users to locally generate zero-knowledge proofs of responses from any HTTPS website, such as within a browser.

The integrity of HTTPS data hinges on two vital aspects:

  1. Integrity of encrypted data from trusted sources: During zkPass’s MPC network protocol execution, random nodes are designated to establish a “client” connection with the user, facilitating communication with the server, essentially forming a Three-Party TLS connection. In this setup, the user possesses shares of both the encryption key and the MAC key, while the nodes only hold the remaining portion of the MAC key. Any attempt by users to tamper with data from a trusted source will lead to failure during MAC verification, thereby ensuring the integrity of data in the Three-Party TLS connection.
  2. Conformance of data statements to verifier requirements: In evaluating the authenticity of data statements, zkPass employs hybrid ZK technology to safeguard customer privacy. The protocol can only be executed successfully if the data adheres to conditions specified by the template, such as age > 18 or assets < 10000. This ensures that the accuracy and truthfulness of the data are also guaranteed.

--

--

Sandeep Kumar Seeram

Software Developer | Site Reliability Engineer | Blockchain/Web3 Enthusiast with Growth-Mindset @sandeepseeram - https://www.sandeepseeram.com