At a basic level, zero-knowledge proof is a protocol with which you can simplify digital authentication so that you don't need to use passwords and other sensitive data, but not be afraid that the transmitted information will become known to a third party. In other words, any information transmitted between the parties cannot be compromised.
This is extremely useful because it speeds up the overall process and allows you to maintain a high level of security.
The idea behind zero-knowledge proof came back in 1985 when programmers Shafi Goldwasser, Charles Rackoff and Silvio Micali presented the world a concept of “complexity of knowledge” - the logical predecessor of ZKP.
As the name implies, there is some measure of “complexity of knowledge” that determines the amount of knowledge between the validator and the verifier, necessary for the correct implementation of any transaction.
How zero-knowledge proof works
A case in point is the use of evidence with zero disclosure by government authorities for passing certain instances, moreover, without the need to present how and where this data was obtained from.
In addition, ZKP is actively used in many digital fields, including the creation of new mechanisms for digital identification, which generally don't require users to disclose any confidential information.
Already, there are several independent platforms that allow law enforcement officials to find out whether a person has a valid driver’s license, but additionally recognizing nothing but the person’s identification number.
At a higher level, the zero-knowledge proof is used to determine the nuclear potential of countries, without resorting to full espionage and inspections. In addition, it is known that the Office of Advanced Research Projects at the US Department of Defense announced the development of the SIEVE project - "Securing Information for Encrypted Verification and Evaluation", which allows working with US government data without the need to confirm the source of this data once again.
Blockchain integration of ZKP
It can be extremely useful, as it allows you to get a more reliable and secure cryptocurrency transaction with a high level of encryption.
In the context of the blockchain, it is possible to create such systems with ZKP, in which it will not be necessary to indicate the source of the transaction, nor the source of funds in the account, nor the direction of movement of these funds.
An example of the real use of such technology is the Zcash cryptographic platform, which uses the special zk-SNARKs technology, which simultaneously saves transactions completely encrypted and verifies their compliance with network consensus rules.
But despite the fact that evidence with zero disclosure has great potential in the context of the security of modern information systems, the idea itself is still at an early stage of development. Basically, because researchers are trying to identify all its potential flaws and the possibility of its most effective use.
In short, ZKP completely eliminates the need for passwords and other sensitive data. This reduces many of the risks that arise when using authentication protocols tied exclusively to the use of these same passwords.
The disadvantage of this system is one, but significant. While a forgotten password can be reminded by automated mechanisms, a forgotten identification code permanently deprives you of all data associated with it.
Known Effective Use Cases
ZoKrates is a digital toolkit useful for developing and verifying evidence using Solidity, an object-oriented programming language used to create smart contracts based on the Ethereum blockchain.
Quorum is an offshoot from the Ethereum blockchain using its own Constellation smart contract language. Also uses ZKP - a version of zk-SNARKs adapted to your needs.
In any case, this technology will develop further, as it opens up extremely convenient and promising opportunities for users.