ELI5 Zero Knowledge (ZKP) cryptocurrency proofs?

ELI5 Zero Knowledge (ZKP) cryptocurrency proofs?

In cryptographic theory, a zero knowledge proof is a method by which you can convince someone, who does not necessarily trust you, that you possess a piece of knowledge (proof) without providing absolutely any clues about what that knowledge actually is.

In simple terms, zero knowledge proofs allow you to present the results of knowing a secret, without ever revealing the secret.

The technique is also known as “interactive zero knowledge proofs”, because it often involves two or more people interacting with each other.

Simple Real World ZKP Example

Several examples of non-cryptographic zero knowledge proofs are given in this Wikipedia article.

One such example involves proving to a counterpart that you know the password to open a door in a circular pathway. If you are able to come out of the other side of the pathway, it proves you have opened the door but does not tell them how you did it it.

Thus, you prove to whoever is waiting for you at the opposite exit that you indeed opened the door, without revealing the secret pass phrase that you used.

Simple Video Explanation

ZKP in Cryptocurrencies

In cryptocurrencies, the concept of ZKP is implemented via computer algorithms.

How, exactly, does one simulate the previously given real world examples using math?

It turns out, there are mathematical functions called “trapdoor functions” which are very easy to compute in one way, but extremely difficult, if not impossible, to compute in the opposite direction.

This kind of function is often used in cryptography.

As explained in our asymmetric cryptography tutorial, you can compute a certain value using only a piece of this secret, without revealing the complete secret to the other party. If an eavesdropper were to intercept your communication, they’d only obtain the public part of the secret.

This value can be compared by your counterpart using their own piece of a secret, without either participant knowing the other’s secret key.

The receiving end rebuilds the information using the public part. If the resulting code matches what you sent them, then both parties will be convinced that the sender indeed knows the full secret.

For example, PVIX cryptocurrency uses ZKP to protect users’ privacy.

References

Wikipedia

Towards Data Science

CoinTelegraph

Wired.com

HackerNoon

Stanford University (Very Technical)

ZKP and Blockchains by Lukas Schor

Illustration Credit: Dake via Wikimedia by CC

Meta