Unit 8: Zero Knowledge Proofs
8a. Explain the characteristics of a zero-knowledge proof
- What is soundness?
- What is completeness?
- What is zero knowledge?
A zero-knowledge proof (ZKP) is a cryptographic protocol that provides a means to verify or provide "proof" that one party knows certain information without revealing any further details beyond that fact. Zero-knowledge means that the verifier learns no new knowledge beyond the fact that you do indeed know the information. ZKPs, beyond the zero-knowledge requirement, must have other characteristics to be useful in a practical setting. For example, completeness is a property that means if the statement is true, then an honest verifier (one following the protocol properly) will be convinced of this fact by an honest prover. On the other hand, soundness means that if the statement is false, no cheating prover can convince an honest verifier that it is true (except with some small probability). A zero-knowledge proof must satisfy the three properties: zero-knowledge, completeness, and soundness.
To review, see:
8b. Identify the key features of a SNARK
- What is an Interactive ZKP?
- What is a SNARK?
- What are some zk-SNARKs currently in use?
Zero-knowledge proofs have been motivated by the need for alternative authentication systems where one party wants to prove its identity to a second party via some secret information (such as a password) but does not want the second party to learn anything about this secret. Interactive ZKPs can be probabilistic where many tests need to be performed to build up enough statistics to be confident that the prover has the correct information. Such an approach can be time-consuming and not practical for many applications. Instead, Succinct Non-Interactive Arguments of Knowledge (SNARK) are entities of knowledge that can be proven in one step and do not require further interaction. You should know about current zk-SNARK protocols and how only some are considered post-quantum secure. For example, PLONK is zk-SNARK that is not considered post-quantum secure. In the course materials, there is a table of protocols given along with information about z-SNARK capability and post-quantum security. This table will help you understand the characteristics of many current zk-SNARK protocols.
To review, see:
8c. Describe how ZKPs are applied in practice
How are ZKPs applied in practice?
What is ZoKrates?
What applications are ZKPs being geared toward?
With any new technology, adoption is always an important factor. ZKPs are fun theoretical entities, but the question is who uses them. One of the most important areas on the horizon is decentralized markets such as cryptocurrency and decentralized autonomous organizations. For example, Ethereum blockchain applications are beginning to adopt ZKP protocols. ZoKrates is a platform created for Ethereum to make ZKP implementations more seamless. In this way, its users hope ZKP adoption will become more accessible to the general public. You should be familiar with these applications and what types of problems are being used as proofs for zk-SNARKS.
To review, see:
Unit 8 Vocabulary
This vocabulary list includes terms you will need to know to successfully complete the final exam.
- completeness
- PLONK
- SNARK
- soundness
- zero-knowledge
- zero-knowledge proof (ZKP)
- ZoKrates