While blockchain has brought us great advantages like transparency, immutability, and decentralisation, it can lack the privacy needed for some transactions. However, combining zero-knowledge proofs (ZKP’s) with blockchain technology has the power to provide users with a powerful mix of immutability and security.

What are zero-knowledge proofs?

Zero-knowledge proof is an encryption scheme whereby one party (the prover) can prove the truth of specific information to another party (the verifier) without disclosing any additional information.

For an illustrated example of ZKP’s, watch the video below.

Despite ZKP’s being used to enhance blockchain’s functionality, the protocol preceded the invention of the decentralised ledger by forty years. The method was first introduced by MIT researchers Silvio Micali, Shafi Goldwasser, and Charles Rackoff in the 1980s.

There are two main kinds of zero-knowledge proofs – interactive and non-interactive.

Interactive ZKP’s involve a series of tasks or actions that the prover must complete to convince the verifier that they have particular information. Most of the required tasks undertaken in interactive ZKP’s usually involve concepts of mathematical probability.

Non-interactive ZKP’s require no interaction between the prover and verifier, or the verification can take place at a later stage. These types of ZKP’s require additional computers or software.

All zero-knowledge proofs include three essential prerequisites:

  • Completeness: if a statement is true then the verifier can certify the prover possesses the required input.
  • Soundness: the statement cannot be falsified, and the verifier cannot be convinced the prover has the required input when they do not.
  • Zero-knowledge: the verifier will not be able to know any information beyond the statement being true or false. Details of the information and personal data of the other parties stay anonymous.

The pros and cons

Like all forms of technology, zero-knowledge proofs have a range of advantages and disadvantages.

Does not require any complicated encryption methods.
The protocols for ZKP’s usually rely on mathematical equations and numerical answers. Any other method requires a translation.
Increases the privacy of users by avoiding the reveal of personal information in public blockchains.
Requires a large amount of computing power
There are around 2000 computations per ZKP transaction that each require a certain amount of time to process.
Strengthens security of information by replacing ineffective authentication methods.
If the originator of a transaction forgets their information, all the data associated with it is lost.
Increases blockchain throughput and scalability.
Potential vulnerability to advanced technologies like quantum computing.

Uses of zero-knowledge proofs in blockchain

ZKP’s provide flexibility and choice to users who want control and freedom over their information. Therefore, it makes sense that, when combined, blockchain and ZKP’s have multiple uses.

Private transactions (EY and Nightfall)

The many concerns around privacy and data sovereignty led consulting firm EY to release ZKP and blockchain solutions.

In 2019, EY released Nightfall, a public ZKP protocol that allows companies to preserve confidentiality while conducting private and secure transactions on public blockchains.

As part of their $100 million spend on blockchain-related developments, EY will be working on Starlight, a ZKP prototype compiler, that “supports the needs of complex business agreements where business logic must be shared between parties at the network level but privacy from competitors also remains critical.”

Nightfall and Starlight both aim to allow users greater security and privacy on blockchain applications.

Messaging applications

End-to-end encryption has played a big part in allowing messages to be sent privately. However, traditional messaging applications require users to verify their identity to a server. With ZKP’s, an individual can prove their identity without releasing additional personal information.

Complex documentation

Combining ZKP’s and blockchain allows users to share complex documents with security. ZKP’s have the potential to encrypt data in pieces, this enables users to control certain blocks and the visibility of the information contained within them, allowing some users access while restricting others.

If your business could benefit from data sovereignty and enhanced security contact us for a free demo of our blockchain-backed solutions.