Part I: Zero-Knowledge Proofs and Their Applications

A short guide on what we could do with ZKPs in 2023

Ernesto Ojeda
Neftify
6 min readApr 20, 2023

--

Introduction

Cryptography has always been an essential component of secure communication and data protection. With the advent of the internet and the rapid growth of digital transactions, the need for robust cryptographic techniques has become more pressing than ever. Among the many innovations in this field, zero-knowledge proofs (ZKPs) have emerged as a revolutionary technology with the potential to transform not only the world of blockchain but numerous other industries as well.

In this post, we’ll explore the fascinating realm of ZKPs, delving into their current applications and their potential applications outside of blockchain and web3.

The Magic of Zero-Knowledge Proofs

The magic of zero-knowledge proofs (ZKPs) lies in their ability to allow one party (whether man or machine) to prove to another that something is true without revealing any information about the thing itself, apart from its truthfulness. In the context of cryptocurrency and blockchain, ZKPs enable privacy, security, and scalability by allowing users to prove certain claims, such as ownership of assets or that a transaction happened, without revealing anything about them.

The concept dates back to the 1980s, when the idea was first introduced by researchers Shafi Goldwasser, Silvio Micali, and Charles Rackoff in their groundbreaking paper on interactive proof systems. However, it wasn’t until the advent of cryptocurrencies and blockchain technology that ZKPs began to gain significant traction in practical applications.

Zcash introduced the first real application of ZKPs by using a variant called zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) to enable private (shielded) transactions. With zk-SNARKs, users can prove that a transaction is valid without revealing any information about the sender, receiver, or the amount being transacted. This breakthrough allowed Zcash to offer a higher level of privacy compared to other cryptocurrencies like Bitcoin, which up to that point, all had public and transparent ledgers.

Since then, ZKPs have been implemented in various other privacy-oriented cryptocurrencies and protocols, such as Monero, which uses a different privacy-preserving technique called RingCT, and Mimblewimble-based coins like Grin and Beam. These projects utilize different ZKP constructs to achieve privacy and anonymity in their respective networks.

Mimblewimble is a privacy-focused protocol originally proposed in 2016 by an anonymous user named Tom Elvis Jedusor (which is the French name for Voldemort, the villain from the Harry Potter series). It achieves this by using a combination of cryptographic techniques, such as confidential transactions, where the amount of a transaction is concealed, and cut-through, where old transaction data is discarded to reduce the size of the blockchain.

In addition to privacy-focused applications, ZKPs have been instrumental in addressing scalability challenges in the blockchain space. They’re used in layer 2 scaling solutions, such as zk-rollups, to compress transaction data and increase the throughput of blockchain networks without sacrificing security. By bundling multiple transactions together (rolling them up) and generating a single proof that can be verified on-chain as one transaction, zk-rollups reduce the amount of data that needs to be stored and processed on the main chain, resulting in faster and cheaper transactions.

Projects like StarkWare, Aztec, and zkSync are actively working on implementing ZKP-based scaling solutions for Ethereum and other blockchain platforms, aiming to improve their capacity and efficiency.

However, some of the more exciting (potential) applications of ZKPs are happening outside of the blockchain industry.

Applications Outside of Crypto

Beyond privacy-focused applications and rollups, and blockchain as a whole, ZKPs are finding their way into other industries and use cases. Some of these applications include:

Compression

Zero-Knowledge Proofs (ZKPs) can be utilized for data compression in the context of succinctly representing and validating large amounts of data without the need to reveal or transmit the entire dataset. While they’re are not a conventional data compression method like lossless or lossy compression algorithms, they can play a role in reducing the amount of data needed to verify certain claims or computations. One such application could exist within the cloud storage industry.

Cloud storage has become increasingly popular as businesses and developers seek cost-effective and scalable solutions for managing their data. However, concerns about data integrity and privacy remain significant barriers to adoption for many potential users. Zero-Knowledge Proofs offer a promising solution to these concerns by enabling cloud storage providers to allow users to verify that their data has not been tampered with, without the need to download or transmit the entire dataset.

ZKPs can be integrated into cloud storage systems to provide an additional layer of security and trust. They function by allowing a prover (in this case, the cloud storage provider) to demonstrate that they possess specific information (e.g., the user’s data) without revealing the information itself. By leveraging cryptographic techniques, ZKPs can generate a proof of data integrity without exposing the underlying content.

In a cloud storage scenario, users would store their data alongside a hash of the data, which serves as a unique fingerprint. When the user wants to verify the integrity of their data, they can request a ZKP from the cloud storage provider. The provider then generates a proof based on the stored hash and the current state of the user’s data, without revealing the data itself. The user can then verify the proof, confirming that their data has not been tampered with.

This would offer several key benefits:

  1. Enhanced Data Integrity: Users can validate their data’s integrity without downloading or transmitting the entire dataset. This reduces the likelihood of data corruption or unauthorized modification.
  2. Improved Privacy: They’d also be able to verify their data’s integrity without revealing the content itself, minimizing the risk of unauthorized access or data breaches.
  3. Increased Efficiency: The amount of data that needs to be transmitted for validation would be reduced, leading to faster and more efficient data verification processes.
  4. Greater Trust: By providing a means for users to independently verify their data’s integrity, ZKPs help build trust between cloud storage providers and users, potentially driving greater adoption of cloud storage solutions.

Privacy

In Secure Multi-Party Computation (SMPC), multiple parties, as the name suggests, can collaborate on data analysis without exposing sensitive information, jointly computing data mining algorithms to extract valuable insights while preserving data privacy. It holds great promise for collaborative machine learning, a field where organizations aim to combine their data resources to improve the accuracy and performance of models (such as Chat-GPT-like LLMs). Traditional approaches to collaborative machine learning often require sharing raw data among participating organizations, which can lead to privacy concerns and potential breaches of sensitive information.

SMPC offers a powerful solution to this challenge by enabling multiple parties to jointly train machine learning models without revealing their raw data, thereby preserving the confidentiality of each participant’s dataset and mitigating privacy risks. Through a series of carefully orchestrated computations, the parties can collectively update the machine learning model parameters without exposing any one of each other’s datasets.

Ensuring the correctness of computation results without exposing sensitive data remains a challenge. Zero-Knowledge Proofs (ZKPs) can address this issue by allowing parties to validate the correctness of the computation’s result without revealing the inputs or intermediate results, enhancing both the security and efficiency of SMPC.

Conclusion

As research and development in the field continue, ZKPs are likely to find even more innovative applications within the blockchain ecosystem and beyond. One of the biggest challenges holding ZKPs back is their computational complexity, which often leads to slow proof generation and verification times. This complexity also results in the need for substantial expertise to create, implement, and optimize ZKP-based systems. Additionally, they require a trusted setup, which can introduce a central point of vulnerability if not properly executed. And because they are still a relatively new and evolving technology, their integration into existing systems may be hindered by regulatory concerns, lack of standardization, and misunderstanding.

Our goal is to break those down — at Neftify, we are working to have a central role in this innovation and are looking to support and work with founders, teams and developers building in this direction.

--

--

Ernesto Ojeda
Neftify
Editor for

Industrial Engineer@UPRM | Co-founder@Neftify