Zero-knowledge Proof is the First Blockchain Consensus that Respects Privacy
First of all, we already know that cryptocurrencies work thanks to the blockchain: it is a registry that lists all transactions related to the project (cryptocurrency). It has been updated on thousands of computers and servers around the world.
Imagine a series of blocks into which all transactions are entered. All these blocks will be connected to each other by chains. This is a book that lists all transactions made on the network since the launch of the project. According to Coinmarketrate.com at the moment, there are more than 12 thousand cryptocurrencies that work on various consensuses.
After we have refreshed our memory of what blockchain technology is, it seems appropriate for us to determine what the validation consensus is.
The verification consensus ensures that every new block created, verified, and added to the block chain is a unique version of the truth. All nodes in the network must have consent to verify a similar version of the blockchain. Specifically, the consensus mechanism is an automatic internal audit of the blockchain network.
How the Validation consensus works
There are several types of consensus blockchain protocols. They all have the same purpose and ensure synchronization of all nodes in the network. Consensus is aimed at ensuring the authenticity of each transaction recorded in the block chain.
This can be compared to a decision maker in a block chain, since anyone can request the addition of a transaction within the block chain, so it is important to have a regulatory mechanism. And this is exactly the work of consensus, where it will analyze the request and verify the execution of the transaction in its network.
This protocol is important and allows:
- update the block chain, while ensuring the security of each block.
- Nodes must be motivated to participate in the provision of the network
security. For this, it usually receives a reward.
- This prevents one entity from gaining control of the network and guarantees decentralization.
But today the issue of personal data on the Internet is the main topic of the entire ecosystem. How can confidential information be protected? How effectively do they store them, and are they used without the users’ knowledge? These questions are often difficult to answer today.
Even if the latest European regulations are aimed at further protecting users, there are still some forms of abuse regarding the use of this data on the Internet. But then, how can blockchain protect users?
Meet the “Zero-Disclosure Proof”
In fact, the blockchain network works through a protocol. It defines a consensus method to protect the network. The consensus algorithm allows validators to have rules to follow to verify transactions and secure the network. Using this method not only improves the results of current blockchains, but also protects users’ personal data.
And so, let’s introduce you to what Zero-knowledge Proof is, zero-disclosure proof, and how it works in a blockchain environment.
Blockchain Consensus
The verification consensus ensures that every new block created, verified, and added to the block chain is a unique version of the truth. All nodes and network validators must have a common agreement to verify a similar version of the blockchain. Specifically, the consensus mechanism is an automatic internal audit of the blockchain.
In 1985, a team of three people, Charles Rakoff, Shafi Goldwasser and Silvio Mikali, developed an innovation concerning the complex knowledge of interactive proof systems. Recall that Silvio Mikali is the creator of the Algorand project and together with Shafi Goldwasser received the Turing Award in 2012.
Zero-knowledge proof, or ZKP, is now becoming increasingly popular, as this method can be a solution concerning the protection of personal data. In fact, Loopring cryptocurrency is already using this solution as a verification consensus to ensure the security of its users.
What is a zero-knowledge proof
The ZKP protocol, in a sense, is a verification that does not provide any personal information. This system is used in cryptography for “authentication” or “identification” in a secure way.
The verification scheme has a proof provider and a verifier. The proof provider is trying to prove something to the validator mathematically. However, it will not be able to disclose any information other than solving the problem.
Protocols are of the “request/response” type, where two objects exchange information, and the validator checks whether the final response is positive or negative.
ZKP Goal:
- Confidentiality
Zero-knowledge proof speeds up existing processes. This proof allows you to verify something without passing confidential information. Emphasizes the truthfulness of the offer.
All blockchains have their own consensus systems. This makes it possible to reach an agreement between network users on the implementation of a new block, as well as on the verification of transactions within the block chain. The most famous, Proof of Work for Bitcoin and (looking ahead a bit) Proof of Stake for Ethereum are two algorithms that allow more or less secure integration of transactions in the network.
These cryptocurrencies record detailed information during transaction verification: for example, issuer, recipient, date and amount. Thus, it is easy to find out the network usage participants, but some organizations want to maintain a certain level of privacy. Here it becomes interesting to use the ZKP protocol.
It was the Zcash cryptocurrency that was the first to initiate the use of this zero-disclosure protocol. This allows you to hide the details of the transaction when verifying and ensuring its implementation in the blockchain.
- Compliance
The European requirements for the protection of personal data have changed during 2018. Now the company is obliged to monitor and protect the use of its users’ data. But the question does not arise when it uses a zero-disclosure protocol, since confidential information is not used. No manipulation of personal data, which allows you to comply with the current legislation.
- Anonymization
Complete anonymity of data is a problem in cases of illegal use or litigation, since it is impossible to link the use and the user. Today, companies are at a crossroads: on the one hand, they must support the development of innovations and new technologies, for example, through artificial intelligence and technology convergence. But, in addition, they are getting stricter and stricter rules regarding personal data. Anonymization can become a door for creating an anonymous database, for example, for the development of artificial intelligence.
How the ZKP protocol works
The ZKP protocol allows the exchange of evidence rather than personal information, whereas most systems today use confidential data.
To work , the protocol must satisfy three properties:
- ZK – Zero Knowledge – no information
The evidence provider does not provide any information, any confidential personal data. The validator is instructed to verify the validity of the evidence provided by the initiator of the request. This is a mathematical process of solving a problem that will serve as proof, for example, to verify a transaction request.
- Reliability
If the offer is false, no malicious participant will be able to convince an honest validator. The calculation method used is checked so that all results cannot be false.
- Sequence
If both sides follow the rules dictated by the protocol, they will both be convinced of the truthfulness of the decision.
Confidentiality and respect for privacy
The question remained how to serve more than two network participants at the same time. A more advanced method called NIZKP (non-interactive zero-knowledge proof) has appeared, which has several advantages:
- The proofs provided are less complex, and the time associated with verification is shorter.
- There is very little interaction between the parties. This does not necessarily require a stable communication channel between the parties to submit the protocol.
- For this protocol update, you just need to send a confirmation to the system. Thus, it is stored so that all validators can have access to it.
The zk-SNARKs family
This zk-SNARK family is used in the Loopring blockchain, which allows you to check the accuracy of calculations without performing them. In a public block chain, when we want to perform a transaction, we know the public key. It is associated with various information, portfolio, aliases or personalities, amount, etc.
Thanks to this improved protocol, a system external to the block chain will verify all the information available to confirm the transaction. This will provide proof that the information is correct and verified. Thus, miners working with the network have access only to evidence of the veracity of the transaction.
The protocol keeps information secret inside a public block chain.