What is a Zero Knowledge Proof?

A zero knowledge proof is a method to prove that you know something without revealing what you know. They have benefits such as privacy and security, and they also have been used in voting, medical records, and much more.

Zero knowledge proofs operate by having a prover (who is trying to prove something) and a verifier (who is trying to authenticate the proof). The prover sends information to the verifier; the verifier checks this information with other sources of information (such as public records or other people's statements); if there's no discrepancy, then the proof is successful. If there is a discrepancy, then it means that either the prover was untruthful or confused—implying that they might be lying about other topics as well.

In a zero knowledge proof, the prover uses some form of encryption to hide their input values before sending them to the verifier. The verifier then receives the encrypted message without knowledge of what was sent. When they decrypt it, they assess whether or not they were given the correct answer. If so, they give back the correct answer; if not, then they tell us what number was wrong.

One real-world application of zero knowledge proofs is voting. Voting systems like electronic vote counting machines use them as a way to ensure that no voter can manipulate election results by changing their vote from one candidate to another before it's counted at all. Say there's an election coming up. Candidates A and B want their supporters to vote for them so that they win; candidate C wants his supporters to vote for him so that he can beat A and B on election day, but neither A nor B wants C elected because they don't trust him or think he'll make good decisions as president.

Zero knowledge proofs work by having two parties interact in a series of rounds, where each round involves one party sending data to the other party and receiving a response. After each round, the two parties will compare their responses to each other and check to see if they match up. If they do, then both parties believe that they have the same understanding of the data that was sent over time thereby ensuring no misconduct has happened.

In a zero knowledge proof, the prover uses some form of encryption to hide their input values before sending them to the verifier. The verifier then receives the encrypted message without knowledge of what was sent. When they decrypt it, they assess whether or not they were given the correct answer. If so, they give back the correct answer; if not, then they tell us what number was wrong.

Zero knowledge proofs are a form of cryptography that allows the prover to prove possession of information without revealing any details about that information. This allows for privacy, security, and other benefits. To work, a zero knowledge proof must have 3 components:

  1. Prover: The prover is the person whose private information is being used in the proof. In most cases, this will be done via a mathematical procedure that allows them to obtain an honest solution for a certain problem.

  2. Verifier: The verifier is someone who knows what information is being used in the proof and has access to the full blockchain ledger so they can verify that it was obtained honestly by applying their mathematical algorithm.

  3. Round 1: In this round, both parties agree on how much information they want to reveal at each stage of the proof. They also agree on which problem needs solving and how much time they want before moving on to solve it.

We'll talk more about how Zero Knowledge Proof works in future posts!