Zero Knowledge Protocol or by its acronym, FPC, is an advanced cryptography protocol used to create highly secure and anonymous distributed systems. ZKP protocols allow information to be shared and verified without revealing unnecessary data, thus maintaining a high level of security.
Security, privacy and anonymity are objectives that cypherpunks they have pursued since the beginning of the movement in the 80s. A series of objectives that are not easy to achieve due to the complexity involved in the systems capable of providing all these capabilities.
However, the joint and often community development of these tools has allowed us to create a technology capable of offering all these characteristics. And best of all, flexibility and ease of use are never compromised. We are talking about Zero Knowledge Protocol or ZKP.
Thanks to the existence of this protocol, we can currently enjoy highly secure and anonymous distributed systems.
The Zero Knowledge Protocol method
A ZKP test serves as an authentication method in which It is not necessary to reveal secrets to achieve the objective of demonstrating that you have certain secret information. This is important because the fact of not sharing secrets means that they cannot be stolen. Undoubtedly, an interesting feature that allows us to create very secure communication channels.
El target of this type of protocols is prove that one or several secrets are known to someone, without actually revealing said secret. The term itself "zero knowledge" It originates from the fact that no information is disclosed. Two parts participate in this process; he "Fitting room" of the argument, and the "Checker" thereof.
The basic idea behind this protocol is prove unequivocally that the "Tester" knows the secret without revealing it, a task that remains in the hands of the “Verifier”. The best thing is that to verify said information, you do not need to consult a third party, just take the information from the "Tester" and apply the protocol. In this way, the "Verifier" can know if the information is true at all times.
In short:
A zero-knowledge proof is a cryptographic method by which one of the parties can demonstrate to the other the veracity of information, without revealing sensitive data of said information.
Developing this cryptographic technology took a lot of hard work from many cryptographers and collaborators. But the result obtained has now allowed us to model and create very safe systems that were previously unthinkable.
A bit of pre-ZKP history
The creation of the ZKP was not a fortuitous event, but is the union of diverse works of more than 50 years of research.
The arrival of asymmetric cryptography
The development of cryptography has always been linked to the fact of ensure the security and privacy of information. All this in order that unauthorized or dishonest third parties have access to it. In principle, cryptographic systems achieved this using fairly simple means. But History radically changed with the advent of computers.
Thanks to computers we reach the potential to create encryption systems using very complex mathematics, which in turn translated into Most fullfilment of security requirements. All this technological advance led to further development of cryptographic technology. However, the biggest qualitative leap was the appearance of the asymmetric cryptography.
This tool quickly became the world's cryptographic standard due to its high level of security. The reason? The design of asymmetric cryptographic systems opened a whole new range of opportunities. The first proposal in this regard was presented by researchers Whitfield diffie y Martin hellman. It was they in 1976 who designed the algorithm of Diffie-Hellman Currently responsible for security on many computer systems, including the Internet.
Creation of Blind Signatures
The evolution of cryptography leads us to one of the best known asymmetric crypto systems; the Blind Signatures. This was designed by David Chaum, in the year 1982. With this system, Chaum radically changed the way documents, files and messages could be digitally signed. All this, without the need to reveal information to the parties involved in the exchange of signatures. This made it possible to improve the level of privacy and solve serious security problems in some existing systems up to that time.
However Thatched, as a dedicated researcher, improved the technology, to the point of creating the well-known Group Blind Firms. With this improvement, it was now allowed to sign the message of a group of people, verify that the message came from that group, but without knowing who had actually signed. With these advances Chaum, was one of the pioneers in the investigation of zero knowledge protocols. Everything before the term even existed. Thus laid the foundations for what would be an extraordinary breakthrough in cryptographic technology.
Evidence of Minimum Disclosure of Knowledge
David Chaum laid the foundation for this technology, not only academically but also in practice. However, the term did not come into use until its first appearance in 1985. That year it came to light «The complexity of knowledge of interactive test systems». This was an article created by Shafi goldwasser and its co-authors Silvio Micali y Charles rackoff. It was in this article that the term was first used “zero knowledge proof”.
Later in 1987, David Chaum along with Gilles Brassard y Claude Crepeau, published the work «Minimum Knowledge Revelation Tests». With this new work, it was finished defining what until now is, the basis of a zero knowledge protocol:
«A zero-knowledge protocol, allows a «fitting room» convince a «checker» that the former has verifiable secret information. all of it without allowing that verifier knows something about such information. Secret information can be statistically or deterministically verifiable. And only one of them, the verifier or the tester, needs to have limited resources.
Zero Knowledge Protocol and The Cave of Ali Baba
In 1992, it was published; How to explain Zero Knowledge Protocols to your children?. This simple article written by louis guilou, Jean Jacques Quisquater y Thomas berson, managed to explain in a completely simple way the operation of this protocol. For this they devised a simple example called «Ali Baba's cave«.
The example of Ali Baba's cave
María wants show him a Roberto who knows the magic word that opens the door of the cave of Ali Baba, but does not want to reveal the secret. For this Roberto and María go to the cave. Maria agrees to go on path A or B.
Both paths communicate only through the magic door. At this point, Roberto waits for María to go through A or B, while he waits for her at the entrance of the cave.
- At one point, Roberto asks Maria to leave for A or B.
- If Maria didn't know the magic words, she couldn't open the magic door. Which means that she can't go down the path chosen by Roberto.
- This reduces to 50% the probability that you have chosen on a first attempt, the correct path chosen later by Roberto.
- The repetition of this scheme on various occasions then serves to determine that Maria really knows the magic words to open the door, but at no time has she said them to Roberto.
Characteristics of a Zero Knowledge Protocol method
A protocol is called the Zero Knowledge Test (ZKP), if it manages to meet these three requirements:
- Integrity and completeness. The two parties involved (the tester and the verifier) are assumed to be honest and to follow the protocol. This means that if a tester gives a statement, the verifier will be effectively convinced by it.
- Solid and robust. The protocol must assume that honesty is little or nil. So to prove that the tester does indeed have a secret, the verifier must be convinced. All this minimizing the chances of successfully deceiving the verifier.
- Zero knowledge. This means that if the statement is true no cheater verifier can know more than this fact.
Compliance with these three requirements is essential for a protocol to comply with the «zero knowledge«. In case you cannot do it, the protocol cannot be called that way as it does not guarantee anonymity.
Apart from this, the protocol must guarantee a source of safe randomness. The justification is given because the generating random numbers is another necessary condition for the proper functioning of it.
ZKP technology use cases
Thanks to the enormous capacity for anonymity, privacy, and security of this type of protocol, its main use cases point to a secure communication system. For example, the military and espionage organizations use this type of technology to secure communications. This in order to allow the field deployment of highly secure communication systems. They are also widely used in authentication systems, even via the web.
The technology also has wide uses within secure voting systems. With the ZKP it is possible for the voter to cast his vote, prove that he voted, but in no way will anyone know which option he has voted for. In this way, ZKP can help voting systems to maintain the secrecy of the vote and provide transparency to these systems.
Another use case widely seen today is in cryptocurrencies, such as the case of Zcash y Monero. Both cryptocurrencies implement the use of Zero Knowledge Protocol. As expected, the purpose is to be able to guarantee the privacy and anonymity of its users.
In the case of Zcash, its testing system ZK-snarks it is based on the operation of ZKP. Of these, there is an evolution under the name zk-STARK what are they presenting better security and performance features, especially resistance to quantum computing. On his side, Monero and his Bulletproof they are also an adaptation of ZKP and Confidential Transactions, which also gives it a high level of security.
Advantages and Disadvantages of ZKP systems
Advantages
- A system with ZKP implemented offers high levels of fullfilment of security requirements, Privacy y anonymity, because it does not require the revelation of any secret.
- La logic of the work es tailored and does not require the creation of new cryptographic systems for its applicability.
Disadvantages
- A system with ZKP implementation, is limited to use values numerical.
- Result computationally expensive compared to other encryption systems.
- No solve The problem of transmission safe of information. It is because it is vulnerable front to a third that can intercept the transmission, modifying or destroying the message.
- The implementation and algorithmic review of these systems is complex, in addition to being an area dominated by very few people around the world. This has as main problem a little capacity to improve the system and debug it.
Click here to open your user account in Spanish for FREE and securely and receive a €5 gift.