Zero Knowledge Proof is a technology in cryptography and blockchains. The main use behind is to prove validity without disclosing underlying information. The technology is crucial in the overall trend to make the interaction of users with the blockchain more private and secure.
A zero-knowledge proof is a cryptographic method that separates data verification from the data itself. One party (the prover) can prove to another party (the verifier) the possession or existence of some information without revealing the information. Proofs might be used in an extensive range of applications such as credit card authorization, account confirmation, and identity validation.
The most recent stage in the development of ZK include SNARKs, bulletproofs, STARKs, and Zether.
“To illustrate the role of zero-knowledge proofs, consider a setting in which a party, called Alice, upon receiving an encrypted message from Bob, is to send Carol the least significant bit of the message.
Clearly, if Alice sends only the (least significant) bit (of the message), then there is no way for Carol to know Alice did not cheat. Alice could prove that she did not cheat by revealing to Carol the entire message as well as its decryption key, but that would yield information far beyond what had been required.
A much better idea is to let Alice augment the bit she sends Carol with a zero-knowledge proof that this bit is indeed the least significant bit of the message. We stress that the foregoing statement is of the “Nondeterministic Polynomial type” (since the proof specified earlier can be efficiently verified), and therefore the existence of zero-knowledge proofs for NP statements implies that the foregoing statement can be proved without revealing anything beyond its validity.”
Foundations of Cryptography, Cambridge University Press, 2009.
zkMakers uses ZK-SNARKs in order to protect the users sensitive and personal data and have a more secure blockchain environment.