Topos Technologies

Privacy-Enhancing Technology

Zero-Knowledge Proofs

Zero-Knowledge Proofs (zk-Proofs) were known long before blockchain technology emerged, but with distributed ledgers, a whole new set of possible use-cases came around.

Simply speaking, a Zero Knowledge Proof lets you prove to a verifier that you know something, without revealing that knowledge. Here is an intuitive, non-digital example of what this might look like. A seeing person is the prover, a blindfolded person is the verifier, and there are two balls of different colors.

The seeing person (prover) wants to convince the blindfolded person (verifier) that the two balls are of different colors, without revealing the colors. They sit down at a table and the blindfolded person shows the prover one of the balls. The blindfolded person goes on and put both balls under the table and chooses to show one ball in a second round - either the same one as before or the other one. If he chooses to show the same ball, the prover knows because he sees the same color and he tells the blindfolded person. If the blindfolded person were to show the other ball, the prover could tell with certainty that the verifier (blindfolded person) switched the balls under the table.

Zero-knowledge proofs conceptZero-knowledge proofs concept

In the second round, the prover would have a fifty-fifty chance of getting the right answer if they had to guess. They would have to guess in case the claim that they are trying to prove (the balls are of a different colors) was false. At this point, the blindfolded person cannot be sure if the claim is correct, or if the prover got lucky.

If they repeat the game several times, the chance of getting the answer right every time through guessing decreases exponentially. After just ten rounds of the game, the chance of calling the right ball every time through pure luck has decreased to 1 in 1024 (1 / 2^10). The blindfolded person can be pretty sure by now that the two balls are of different colors although the prover has not shared any information about the colors themselves.

The idea of using Zero-Knowledge Proofs for cryptocurrency transactions is the following: You construct a proof that the transaction you want to send would be considered valid by a verifying node without revealing any of the actual transaction data. This allows the sender, receiver, and the amount to remain private. Another use-case that is perfect for the application of zk-Proofs is identity verification. E.g. you can prove to an entity that you are of a certain age without revealing any personal data like your DOB.

Find out more

Blockchain Elements

A hash function is a mathematical function with a few special properties, but like any other function, it does one job. The hash function takes an input and produces an output (also called hash value, hash digest or a hash).
keep reading

Blockchain Protocol

A protocol is a standard composed of a set of rules and conventions used for a given purpose. Let us take a look at what some of the conventions and rules for a blockchain look like.
keep reading

Directed Acyclic Graphs

The term DAG stands for Directed Acyclic Graph. The structure on the far left of the image below is a simple graph made up of nodes and edges connecting the nodes. In a directed graph each connection has a direction, indicated by the arrows. A directed acyclic graph (DAG) does not allow cyclic relationships of nodes like the one you can see in the bottom part of the directed graph in the middle.
keep reading
back to Topos Technologies
ToposWarePrivacy Policy
© 2019 - 2020 ToposWare Inc. All Rights Reserved