The technology behind blockchains has grown so much that the need for newer solutions has increased to answer the decade-long questions that have become even more complex. Currently among the line of such revolutionary attempts are ZK coprocessor solutions, which intend to resolve issues pertaining to trust and scalability on the Ethereum blockchain. Suppose you wonder why businesses are not moving out of Ethereum despite having a thousand choices. In that case, it has the world’s biggest Web3 community, and who would want to miss a lucrative opportunity? This guide jumps into the details of coprocessors based on zero-knowledge technology and how they can be used to improve the Web3 space.
Table of Contents
-
Problems Blockchains Encounter with Huge Influx of Data
-
Understanding Coprocessors in the Blockchain Space
-
Exploring ZK Coprocessor Solutions in Detail
-
Types of Coprocessors Using ZK Technology
-
Who is Using ZK Coprocessors in the Web3 Space Now?
-
Top ZK Coprocessor Solutions in the Market
-
Why Use Only ZK and Not OP for Coprocessors?
-
Are Coprocessors and Rollups the Same?
-
Conclusion
Problems Blockchains Encounter with Huge Influx of Data
The blockchain space today is nothing short of an extravagance. In fact, some reports indicate the market will become a multi-trillion dollar industry by 2032, with an expected annual growth exceeding 85%. While such growth looks enticing from the outside, what most see is only the tip of the larger iceberg.
In fact, the current technological condition in the blockchain industry is a bit worse, as businesses often need to rely on centralized or costly decentralized solutions to process and store data. Imagine a situation where large volumes of data flow into the Web3 space every day. While the Web2 space is successful with big data solutions, the inherent problem of centralization makes it ethically concerning to implement them in Web3.
Understanding Coprocessors in the Blockchain Space
While coprocessors are incredibly popular in the computer hardware industry as a piece of technology that assists central systems, they have entered the blockchain space with the same intention. However, minor differences in blockchain coprocessors still exist (that make their transition from Web2 to Web3), which usually aim to quicken the computing process in blockchain networks.
As more decentralized applications (dApps) promise people to relieve them from centralized software operations, they need to search for decentralized alternatives to process vast swaths of data they generate at any instant. This elevates the need for blockchain-based coprocessors capable of handling thousands to millions of transactions without noticeable latency to ensure an optimal user experience.
Exploring ZK Coprocessor Solutions in Detail
ZK coprocessor solutions utilize zero-knowledge (ZK) technology to supplement a blockchain’s processing capabilities. While the current systems focus on Ethereum for apparent reasons, the scope doesn’t end there, and we can expect to see ZK coprocessors for other networks as adoption increases and noticeable struggles become commonplace.
These systems utilize exclusive programs to derive data from the blockchain and compute them to complete transactions. They essentially work as a decentralized intermediary to bridge the gap between on-chain and off-chain solutions, which were so long fulfilled by traditional software solutions. They also provide ample security to Web3 infrastructure, ensuring adequate trust among participants.
Types of Coprocessors Using ZK Technology
Coprocessors function based on zero-knowledge technology and come in two types: data access and computational. Their names imply their functionality, although there are specific points worth mentioning, which we will discuss in the subsequent sections. Together, these coprocessors let developers delegate accessing historical data from the blockchain and compute it over ZK proofs, thereby reducing operational costs and the time taken for execution.
Data Access Coprocessors
Data access ZK coprocessors aid smart contracts in accessing historical transaction data recorded on the blockchain. Smart contracts cannot natively access such data, and the only kind of data they are able to access—blockchain state—makes the computation process expensive. Using coprocessors based on zero-knowledge technology, accessing data can be made easier using one of the following ways:
- Additional data can be stored alongside the blockchain state, and the data used by the coprocessor can be verified on-chain using EVM storage reading functions. While this idea looks promising on paper, the costs skyrocket when the volume of data to be handled increases.
- Coprocessors can rely on external decentralized oracles or a network of signers to verify the input data fed into their programs. Although this sounds like a cost-efficient way to boost transaction processing, users need to trust the external provider, which tends to reduce the system’s security.
- As an alternative to both these, ZK proofs can be utilized to verify whether on-chain data used by the coprocessor is included in the blockchain’s history. This idea rides on the established fact that all blocks on a blockchain commit to all past blocks and, hence, any historical data. While this approach is both cost-friendly and safe, there are challenges involved in implementing such a complex system.
Computational Coprocessors
Computational ZK coprocessors perform off-chain calculations by feeding a conventional computer program into a zero-knowledge circuit that generates ZK proofs to verify these calculations. All methods used currently for computing blockchain calculations take a toll on performance, compared to ZK proofs that can drive nearly 1 million overheads. That being said, these solutions have an entirely different computing model than conventional programs. Similar to data access coprocessors, computational coprocessors also use the following three approaches:
- Developers can create their own Custom Circuits for every application that provides the maximum performance. Such high-performing circuits, however, require immense effort from developers to build, test, and rebuild algorithms before getting online.
- As a way to combat challenging development requirements, developers can utilize eDSL/DSL to write circuits for individual applications using opinionated frameworks that take part in decision-making after implementation. However, including such automated decision-making frameworks could degrade performance, which could be undesirable in the long run.
- Alternatively, developers can tap into zkVMs (zero-knowledge Virtual Machines) where they can write computational circuits whose execution will be verified using ZK proofs. While using an existing virtual machine provides a seamless experience for developers, the performance overhead increases as computing models differ between VMs and ZK.
Who is Using ZK Coprocessors in the Web3 Space Now?
With the concept of ZK coprocessors increasing in popularity despite all the complexities involved, multiple prominent projects have included them in an effort to streamline their operations. Here, we will discuss how two of the most popular decentralized applications in their respective niches could utilize ZK coprocessing systems for better performance.
Uniswap
Uniswap’s V4 uses the Brevis ZK coprocessor to make its user experience on par with that of traditional crypto-exchanging platforms. Together with Hooks (a system that integrates customized logic for various users), the Brevis ZK coprocessor uses smart contracts that read from historical on-chain data from various networks in a fully trustless manner. This leads to the elimination of spending high costs on gas while ensuring complete trust without relying on intermediaries.
StepN
On the other hand, while StepN has not disclosed the use of ZK coprocessor solutions, using one has the potential to change its business performance. The platform can tap into zero-knowledge coprocessors to monitor various data points like transaction volume, user signups, and floor prices of NFTs. Using the data, the application’s developers can make calculated business moves without intruding on users’ personal information and using centralized computing solutions.
Any good social media promotion should have powerful words and intriguing visuals that compel users toward action. Sometimes, emotions can be tapped too, which lets users associate an NFT project on a personal level – something that is incredibly important in this era of seconds of attention span.
Build Futuristic ZK Coprocessor Solutions with an Experienced Team of Web3 Infrastructure Developers!
Top ZK Coprocessor Solutions in the Market
Despite being in an evolving state, there is ample competition in the market among various projects offering ZK coprocessor solutions. As more Web3 businesses understand the potential of these solutions and begin implementing them, the competition levels could only soar. In this section, we will discuss the top coprocessor solutions based on zero-knowledge technology in the current Web3 space.
Brevis
- Brevis is a coprocessor based on ZK technology that taps into three distinct components: zkFabric, zkQueryNet, and zkAggregatorRollup.
- While zkFabric focuses on creating ZK proofs from block headers of connected blockchains, zkQueryNet functions as an open marketplace for ZK-based queries.
- On the other hand, zkAggregatorRollup is an exclusive rollup blockchain that verifies proofs from other components and stores data.
- This solution is widely used in the Web3 space, with Ethereum PoS, Cosmos Tendermint, and BNB Chain being primary users alongside Uniswap V4, which we discussed earlier.
Herodotus
- Herodotus is a data access middleware that assists smart contracts in seamlessly retrieving current and historical data from across the Ethereum blockchain layers.
- It taps into the concept of Storage Proofs that combine inclusion proofs and computation proofs to validate data from large swaths of information.
- Alongside using ZK technology to prove that the data present is genuine, Herodotus’ coprocessor performs separate calculations to ensure that the results computed earlier are also authentic.
- Currently, this solution is used to ease data access across several networks, such as from Ethereum to Starknet, Ethereum Goerli to Ethereum Starknet Goerli, and Ethereum Goerli to zkSync Era Goerli.
Axiom
- Axiom is a ZK coprocessing solution that allows developers to access block headers, accounts, and storage values from Ethereum’s entire on-chain history.
- It uses two components: AxiomV1 and AxiomV1Query. While the former is a cache of the Ethereum blockchain from Genesis, the latter is an execution environment for smart contracts for AxiomV1 queries.
- Every result derived from Axiom’s computations is verified on-chain using ZK proofs that let smart contracts tap into them without placing any assumptions on trust.
- While this solution is not as widely adopted as others, its recent development, Halo2-repl, allows people to create code using standard JavaScript, making it easy for more developers to enter the Web3 space.
Nexus
- Nexus is a coprocessing solution based on zero-knowledge technology, which aims to establish a global platform for verifiable cloud computing.
- There are two vital components driving the solution: Nexus Zero and Nexus. The former is a decentralized network for verifiable cloud computing backed by ZK proofs and a zkEVM.
- The latter is a decentralized network for verifiable cloud computing backed by multi-party computation (MPC), state machine replication, and a WebAssembly VM.
- Developers can use Rust to create applications on Nexus. The platform itself aims to become a prime source for validating, decentralizing, and tolerating fault for applications for proof generation, such as sequencers based on ZK rollups and Optimistic rollups.
ORA
- ORA (formerly HyperOracle) is a zkOracle network and protocol. By the way, a zkOracle is a blockchain oracle that is able to perform functions related to data access and computation in a decentralized manner.
- Developers can create a Computational Entity/CLE using AssemblyScript, which is an evolution of the TypeScript programming language added with functions to cater to WebAssembly (WASM).
- While ORA’s system is under development (it only supports the Ethereum mainnet), over 30 computational entities built by the community exist (as of January 2024).
Why Use Only ZK and Not OP for Coprocessors?
If you had come this far, we guess the titular question might be lingering somewhere in your mind. With both ZK (Zero-knowledge) and OP (Optimistic) pathways becoming popular in the rollup blockchain development space, it really makes sense to think why we haven’t discussed the possibility of an optimistic coprocessor.
Indeed, creating OP coprocessors is possible, which emphasizes satisfying conditions that demand a lot of computation. While this might be useful for small-scale intensive applications, most Web3 applications requiring coprocessors need them for processing large volumes of data, which makes one prefer ZK coprocessor solutions over their optimistic counterparts.
Are Coprocessors and Rollups the Same?
Although the functionality of coprocessors and rollups based on ZK proofs tends to be similar, both technologies are vastly different. While rollups need to have separate storage layers to retain updated blockchain states in addition to computation layers, coprocessors are stateless, meaning they do not need to store blockchain states after computing.
In terms of real-world use cases, a coprocessor can be perceived as a service plugin for layer-1 and layer-2 networks. At the same time, a rollup is a separate layer for transaction execution that assists the settlement layer of a blockchain.
Conclusion
Henceforth, we hope this guide has showered you with everything about ZK coprocessor solutions. The need for such solutions is only projected to increase as more people opt for blockchains, and sadly, the existing foundational infrastructure is not strong enough to sustain millions of users at the same time. If you are looking to implement a robust solution to supplement your blockchain dApp, using a coprocessor based on ZK technology could be an appropriate solution. At Blockchain App Factory, we have a team of developers with rich experience building novel solutions that can resolve a project’s technical challenges. Get in touch with us right away to know how we can help!