Blockchain was created to provide the users with an additional layer of security achieved through anonymization and encryption of all financial and personal data. However, a sufficient amount of information, such as transaction history, the volume of transferred funds as well as the public key, remain visible to all participants in the network. While most crypto enthusiasts may argue that such an ‘openness’ constitutes the core concept of the blockchain technology, there are a lot of users who would prefer to keep even this portion of information concealed. That is when a zero-knowledge proof comes handy.
A zero-knowledge proof is a cryptographic protocol that provides means for one of the interacting parties to assure the other party of the validity of the conveyed information without disclosing a single part of its content hence the term ‘zero-knowledge’.
The interacting parties are called the ‘verifier’ and the ‘prover’. To put it simply, the prover has to convince the verifier that the information that he possesses is valid without revealing the nature of that information - the zero disclosure.
In order for the verifier to come to the conclusion that the concealed information is valid, he must present the prover with a number of challenges which are known collectively as the “interactive input”. That is why the zero-knowledge proof usually comes in the form of an interactive protocol.
Let’s imagine that there is a person named Viktor (verifier) who gets approached by Peter (prover) and claims that he possesses some secret information which is valuable to Viktor, for instance, a private key.
Now, Viktor needs to assure himself of Peter’s trustworthiness by asking him a series of questions. In case of blockchain, Viktor would initiate an interactive input by sending an encrypted message using prover’s public key. Peter then uses his private key to decrypt the message and send it back to Viktor. In order to bring the probability of Peter guessing the message without actually decrypting it almost to the naught, Viktor would have to send a series of messages until he gets absolutely convinced that Peter is trustworthy thus the information that he carries is also verifiable.
It should be noted that in order for the protocol to qualify as a zero-knowledge proof, it has to meet the following three criteria:
There are two digital currencies, namely Ethereum, INT, the developers of which have been playing around with the idea of introducing a zero-knowledge proof protocol, and only one - ZCash that had implemented this concept into practice.
In 2016, they created zk-SNARK which stands for ‘zero-knowledge succinct non-interactive argument of knowledge”, which is basically a proof construction that is quite similar to the one explained in the paragraph above. The ‘succinctedness’ of this protocol implies that the actual verification takes no longer than a few milliseconds.
The application of this protocol makes ZCash the most anonymous cryptocurrency of all but this characteristic comes at a price as ZEC has the reputation of being one of the favorite cryptocurrencies of hackers and cybercriminals.
|Exchange||Volume change, 24h|