Zero-knowledge Proof


So…What exactly is zero-knowledge proof?

Zero knowledge proof or ZKP is a concept in cryptography that aims to reduce the sensitive knowledge shared between two parties. In crude terms, it could mean that if you want to prove a fact like your citizenship, sensitive information like a copy of your passport won’t be shared with the other party as actual proof.

I still don’t get it!

The problem of the colour blind friend and two coloured balls is an excellent example to understand the ZKP concept.
Suppose you have a red and a green coloured ball and you have to prove that the two are differently coloured to your colour blind friend but you have to do this without your friend knowing which one is of which colour or what the colours are.
To go about this, the colour blind friend will have to hide both the balls behind his back. He then shows you one ball before hiding it again. He can then either switch the ball or show you the same ball again. Every time he shows you the ball you now have to tell whether he has switched or not by seeing the colour. If you answer correctly every time, your friend now knows that there are indeed balls of two colours without you ever disclosing which one is which.
And this is what ZKP does, proves the fact without leaking any information.

How important is it?

Though the concept was first introduced by Shafi Goldwasser, Charles Rackofff, and Silvio Micali in 1985, it is still one of the most fascinating ideas in cryptography right now.
The most important application of ZKP right now is in Cryptocurrency systems. It is now possible to make the transactions over public networks with complete anonymity using this concept. This is an incredible achievement in security and privacy protection.
Companies like ZCash are already implementing this concept in addition to blockchain technology to provide additional security.
Apart from cryptocurrency, ZKP is also seeing more usage in business as companies are striving to protect their proprietary information from hackers. It is also seeing increasing applications in authentication, retail and so on.
A few projects in this field are making major news. JPMorgan’s Quorum combines ZKP and blockchain technology to provide better financial services. Netherlands based bank ING has an open source project on GitHub which they use to calculate the mortgage on a person’s income without revealing the actual salary.

The only real downside to ZKP is the high computational cost needed to implement it. And although it was introduced a long time ago, we are only now making substantial advancement in this field. It is still relatively unknown and unexplored. But as information protection gains more and more attention, this technology will also gain momentum in advancement.