Rob Behnke
January 4th, 2024
Zero-knowledge proofs (ZKPs) are a rapidly maturing technology with multiple potential applications within the blockchain ecosystem. However, as ZKP usage grows, the generation of these proofs is a significant challenge for users and application developers.
ZK proving markets like =nil, RiscZero, and Marlin provide an answer to this problem. In these markets, provers can sell their services and computational power to be used in generating these ZKPs. These differ from ZK proving networks, where the next prover is selected based on a consensus algorithm.
A ZKP is a cryptographic algorithm that allows the prover to demonstrate that something is true without revealing any additional information. The proof is constructed in a way that allows the verifier to check the validity of the proof and be assured that the prover can’t cheat the system.
A primary application of ZKPs is to enhance privacy and security for public communications. For example, assume that someone needs to provide a password to gain access to a secret club. If they just say the password to the doorman, then anyone eavesdropping on the conversation now knows the password and can gain access themselves. However, with a ZKP, the person can prove that they have a right to access the club without revealing the password to an eavesdropper or the doorman.
ZKPs have experienced growing adoption because they offer a few potential benefits, including:
Privacy: A ZKP can prove knowledge of some secret without revealing the secret.
Security: A ZKP can be used to prove the correctness of some computation or that it was performed.
Succinctness: A ZKP can be used to prove that the result of a computation is correct without revealing the intermediate steps.
ZKPs have received significant attention due to their numerous potential use cases in the blockchain space. Some of the potential applications of ZKPs in blockchain include:
Private Transactions: Traditionally, transaction details are publicly visible on blockchain ledgers to enable decentralized validation. With ZKPs, it’s possible to prove that a transaction is valid without revealing any details.
Secure Multi-Party Computation (MPC): With MPC, computation is distributed across multiple parties. ZKPs make this possible without revealing the private data of any of the parties involved.
Identity Verification: As discussed in the example above, ZKPs can be used to verify identity or membership in a group. With ZKPs, this can be accomplished without revealing the user’s actual identity or authentication credentials.
ZK Rollups: ZK Rollups are a Layer 2 scaling solution that moves transaction execution off-chain. ZKPs are used to prove that the state updates generated for a bundle of off-chain transactions accurately reflect the result of executing a set of valid transactions.
Private Smart Contracts: Smart contracts are recorded on-chain, and their inputs and internal state are publicly visible. ZKPs could enable private smart contract execution where only the final state is visible on-chain.
Regulatory Compliance: Companies are subject to various compliance requirements. ZKPs can be used to demonstrate adherence to these without revealing private and sensitive data.
Private Voting: On-chain voting is an essential tool for decentralized autonomous organizations (DAOs). ZKPs enable secure voting on-chain while keeping each participant’s vote private.
ZKPs have numerous potential applications in blockchain technology, and several modern blockchain projects are built using these technologies. However, generating a ZKP can be computationally expensive. As a result, resource-constrained devices — such as mobile devices — or systems required to generate a large volume of ZKPs may struggle to do so in an efficient manner.
A ZK proving market is a decentralized marketplace that provides access to the computational power needed to generate a ZKP. When ZKPs are used for succinctness — and contain no sensitive or private information — outsourcing the process of generating the proof to a third party introduces no additional security risks.
ZK proving markets or networks that outsource proof generation don’t even need to be trusted by the user. The purpose of a ZKP is to be verifiable by anyone and prove that a statement is correct. The customer in a ZK proving market can validate the proof themselves before purchasing it and passing it on to the intended recipient.
Distributed ZKP generation can be implemented via a network where provers are selected by a consensus algorithm or a competitive marketplace. Some of the benefits of ZK proving markets include:
Wider Access: ZK proving markets move the burden of proof generation from the client to a third-party provider. This makes it possible to access services requiring ZKP generation from a greater range of devices.
Resiliency: ZK proving markets are designed to be decentralized with multiple provers competing for orders. This helps to ensure that resources will be available and proofs can be generated even if some provers go offline.
Censorship Resistance: Prover decentralization also provides protection against potential censorship. If one provider refuses to generate a proof, the customer can try to purchase it from a competitor.
Reduced Cost: A ZK proving market creates an environment where provers are competing to attract customers. This can drive down the price of proof generation when compared to a centralized system where price fixing is possible.
Improved Efficiency: The competition in ZK proving markets also creates incentives for innovation and investment. This can help to spur advancements in the ZK proving industry as a whole.
Infrastructure Agnosticism: ZK proving markets commonly sell access to computational power for proof generation. Often, this is for general-purpose proof generation rather than support for a specific protocol or application.
As ZKPs become a more crucial component of the blockchain ecosystem, ZK proving markets fill an important niche. ZKP-based projects and their users need access to the computational power required to generate these proofs efficiently and at scale. A ZK proof marketplace both provides this access and creates incentives to continue improving the state of the art in ZKP generation.
For more information about ZKPs, check out our blog What is a Zero-Knowledge Proof.
For an example of a current application of ZKPs in the blockchain space, read more about Linea, a ZK-Rollup developed by Consensys.