Zero Knowledge Proof

Posted on September 01,2021

ZKP’s are a promising rapidly developing technology and are soon going to be a critical part of many of our security protocols. Zero-Knowledge Proofs are probabilistic-based verification mechanism that includes “fact-like statements” and “statements about personal knowledge”. The verifier asks the prover based on certain probabilistic randomness. If the correct answer is given, the prover has a high probability of possessing what he claims to be “knowledge.” Eg - Zero-Knowledge Proof can prove a transaction is valid without revealing the currency, the amount and the parties involved in the transaction.

A Zero Knowledge Proof Implementation on Ethereum


Zero-Knowledge Proof agreement is a method by which one party (certifying party) can prove that something is true to the other party (verifying party). Except for the fact that this specific statement is true, no additional information is disclosed. Many big players including Ernst & Young are developing their platforms to utilise public blockchains with privacy enabled transactions using ZKP, making public blockchains secure and scalable for the widespread usage.


Setting up a private blockchain, onboarding counterparties to it and maintaining the network can become very costly for businesses. That makes zkp on public networks use-case compelling. ZKP enables businesses to access current public network userbase and also allows them connect advance side chains on public networks while keeping their critical business information private. payment can be made in domestic. This will reduce the net remittance between partner insurance organization as well.

Our Solution

Our POC on Zkp improves transaction privacy by breaking the on-chain link between recipient and destination addresses. It uses a smart contract that accepts tokens deposits that can be withdrawn by a different address. Whenever ETH is withdrawn by the new address, there is no way to link the withdrawal to the deposit, ensuring complete privacy.

How Does it Work?

To make a deposit, depositor can generates a secret and sends its hash (called a commitment) along with the deposit amount to the smart contract. Hence the receiver just needs to prove his identity (using their public/private key pair) to receive the tokens without knowing or sharing the identity link between the sender and receiver. This can be used in use cases such as transaction mixers and anonymous donations.


Basically our ZKP implementation enables private transactions on ethereum(and other blockchains in future) while maintaining the integrity of the temperproof network. To achieve this, we have implemented a ZKSnarks (Zero-Knowledge Succinct Non-Interactive arguments of Knowledge) proofs system.

Promenant International Pte Ltd
18 Margate Road, Singapore 438058
Promenant Innovations Labs
Bangalore, Karnataka - 560048