# 15. Zero-knowledge proof – a protocol that respects privacy

Blockchain technology gives us many benefits, but we have to keep in mind that there is still a lack of privacy for some transactions made through the blockchain. And this is where Zero-knowledge proof steps in and helps, like a knight on a white horse. Combining zero knowledge proof with blockchain gives the user incredible security. So let’s take a closer look at this phenomenon.

**How does the zero knowledge protocol work?**

Cryptographic protocols are exchange rules edited by the network to manage and secure communications.

Zero knowledge proof is an encryption algorithm. Basically, a mathematical technique for verifying the veracity of information, without revealing the information itself. It distinguishes between two basic “jobs”: the verifier and the verified. How does it work? Using ZKP, the verifier can prove the veracity of the information received to the verified, without revealing any additional information.

To enable such verification, projects using ZKP use several cryptographic algorithms. E.g., using the ZKP method, the payee can verify that the payer who owes him money has the correct amount of money in his account, while not getting any information about the payer’s balance.

Zero-knowledge proof is generally used to enhance the functionality of blockchain technology. The proof provides flexibility and choice to users who value control and freedom, over the information they share. The protocol was invented by Silvio Micali, Shafi Goldwasser and Charles Rackoff in the 1980s. So, as you can see, ZKP was created even earlier than Blockchain.

**Types of evidence of zero knowledge:**

There are two main types of zero knowledge evidence:

● Interactive, which consist of tasks or activities that the proof writer performs. The effect is to convince the verifier that they have a particular piece of information. The tasks undertaken in the context of interactive PCAs mainly concern concepts related to mathematical probability.

● Non-interactive, as the name suggests, requiring no interaction between the verifier and the verified. Confirmation or verification may occur at a later stage. Therefore, non-interactive FPCs require the use of additional computers or software.

In order for zero-knowledge evidence to work in a given system or protocol, it must meet three conditions:

● They must be complete. What does this mean? If the data presented by the prover is true, the ZKP must enable the verifier to check whether the verified person (prover) is telling the truth.

● It must be reliable. If the prover is lying, the ZKP must allow the verifier to refute his thesis.

● And finally – zero knowledge. The verifier knows nothing except that the statement itself is true or false. The details and personal information of the parties remain fully anonymous.

**ZKP – advantages and disadvantages**

Advantages | Disadvantages |

It does not require complex encryption methods in its operation. | The ZKP is limited. It is usually based on mathematical equations and numerical answers. |

It does not disclose any personal information of users in public blockchains. | Furthermore, it requires enormous computing power to make it work. There are over 2000 calculations per ZKP transaction. And each of these takes time to process properly. |

It takes care of and even improves information security by replacing ineffective authentication methods. | It works similarly to a cryptocurrency wallet. If the initiator of the transaction forgets their details – all is lost. |

It makes the throughput and scalability of Blockchain greater. | It is very vulnerable, especially to quantum computing. |

**Examples of application of ZKP**

✔ It is known – blockchain. The use of ZKP provides transparency of the blockchain, such as Ethereum or Bitcoin. It allows for public verification of transactions. Zero-knowledge proofs definitely introduce more privacy into public chains.

✔ Finance. The ING bank, for example, uses this proof. If a loan applicant wishes to consult it, they can prove that their income is within the permissible range, while keeping the monthly salary information to themselves.

✔ Authentication. ZKP is the ideal way to authenticate users, without exchanging secret information such as passwords.

✔ Online voting. Evidence provides the opportunity to vote anonymously, while verifying to voters whether their vote has been counted.

✔ Machine learning. With ZKP, the owner of a machine learning algorithm can convince others of the results about a given model without revealing any information about the model itself.

**Summary**

Although Zero-knowledge proof offers many possibilities, at the same time it does not give us a 100% guarantee of a claim. Let us remember that zero-knowledge proofs are not real mathematical proofs. The probability of verification by the verifier when the prover lies is still very low. We also mentioned that one of the downsides of ZKP is the need for huge computing power. This makes null proofs unsuitable for slow, mobile devices.

Purchase your favorite tokens on Kanga Exchange