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.
Lto security, privacy and anonymity, are objectives that cypherpunks they have always pursued since their inception in the 80s. A series of objectives that are not easy to meet due to the complexity of 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, at present we can enjoy very secure and anonymous distributed systems. But how secure are the ZKPs? How does this protocol work? Where is it applied? Those questions and many more will be answered in this new article by Bit2Me Academy.
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 more secrets are known to someone, without actually revealing that 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 to unequivocally prove that the "Tester" knows the secret without revealing it, a task that is left to the "Verifier". The best thing is that to verify this information, it is not necessary 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 a few simpler words:
A zero knowledge test is a cryptographic method by which one of the parties can demonstrate to the other, the veracity of information, without revealing sensitive information 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.
Zero Knowledge Protocol
Learn how Zero Knowledge Protocol (ZKP) methods ensure our privacy.
A bit of pre-ZKP history
Of course the creation of the ZKP was not a fortuitous event, in fact, it is the union of diverse works in more than 50 years of research. Here you will learn a little more about how this advanced crypto system became reality.
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, crypto systems achieved these by 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 Mostfullfilment of security requirements. All of this technological advancement later led to further development of cryptographic technology. However, the greatest qualitative leap was undoubtedly the creation 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 in which documents, files and messages could be digitally signed. All this, without the need to disclose information to the parties involved in the exchange of signatures. This allowed to improve the level of privacy and solve serious security problems of some existing systems until then.
However Chaum, 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 certainly laid the foundation for this technology, not only academically but also in practice. However, the term did not begin to be used 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 test."
Later in 1987, David Chaum along with Gilles Brassard y Claude Crépeau, published the work "Minimum Disclosure Tests of Knowledge". 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, need 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 Guillou, 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íawantsshow himaRoberto 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 expects Maria to go by 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 did not know the magic words, she could not open the magic door. Which means that you cannot go out on 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 secure communication systems. For example, the military and spy organizations use this type of technology to secure communications. This in order to allow the deployment in the field of very 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 that the voter can make their vote, show that they voted, but in no way can anyone know which option they have voted for. In this way, ZKP can help voting systems maintain the secrecy of voting 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 that have better characteristics in terms of security and performance, especially resistance to quantum computing. For its part, Monero and its Bulletproofthey are also an adaptation of ZKP and Confidential Transactions, which also gives it a high level of security.
How much do you know, cryptonuta?
Can the Zero Knowledge Protocols only be applied in special cases?
The Zero Knowledge Protocols can be applied to any computer system, as long as we respect its three basic characteristics: robustness, solidity and zero knowledge.
Advantages and Disadvantages of ZKP systems
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.
work es easy and does not require the creation of new cryptographic systems for its applicability.
A system with ZKP implementation, is limited to use nutritionalnumerical.
Result computationallyexpensive compared to other encryption systems.
Nosolve The problem of Transmisiónsafe of information. It is because it is vulnerablefront 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.