If you’re operating an on-chain application, a ZK Coprocessor is a key tool for allowing you to scale your on-chain logic while keeping gas costs low. In this post, we review what a coprocessor is, why it matters, and how you can use the Bonsai ZK coprocessor architecture to scale your application.
Having your application execute entirely on the EVM comes with drawbacks. Tasks requiring heavy computation or large stores of data require gas fees so high that using your application can quickly become cost prohibitive. This means certain features are not realistically possible on the EVM, limiting the potential of your applications.
The trick is to move computation off-chain, drastically reducing gas fees and making your application more attractive to users. Traditionally, this would require trusting the computation executed on a centralized server, sacrificing the verifiable ecosystem of Ethereum in the name of cost savings. Fortunately, ZK proofs provide a way to securely verify these off-chain results while maintaining core values of decentralization, and at a fraction of on-chain costs.
The Bonsai ZK Coprocessor Architecture extends the capabilities of on-chain applications with programmable & verifiable off-chain computation. Instead of spinning up your own ZK infrastructure, you can upload the program and request that Bonsai generate proofs on demand.
The Bonsai ZK Coprocessor Architecture is powered by connecting our zkVM and Bonsai with Ethereum using our ETH Relay. This enables us to extend the functionality of Ethereum smart contracts by allowing applications to port logic into Rust and execute the logic off-chain on Bonsai.
One important callout is that Bonsai isn’t restricted to Ethereum. Any blockchain that possesses an execution and consensus layer can harness the Bonsai coprocessor to shift execution or computation off-chain.
A few examples include:
A coprocessor serves as a companion to a processor, allowing for off-loading computation in a resource-constrained system. For example, running an AI model like ChatGPT on your cell phone would be unfeasible. Your phone is slow, has limited storage, you’re paying to download the massive model, and your battery life is limited. However, when you ask ChatGPT a question, it’s sent to a dedicated server where it can run cheaply and efficiently then send back an answer. In this way, ChatGPT’s servers are acting as an AI co-processor for your cell phone’s limited resources.
On the other hand, the EVM serves as a versatile platform capable of executing various operations. Analogous to a personal device, the EVM can handle diverse tasks but might not always be the most efficient for high-volume operations. And zkVM, much like a cloud computer or mainframe, is designed for general-purpose tasks but excels in speed and cost-effectiveness.
Bonsai massively reduces gas fees and expands the capabilities of on-chain applications — slicing through price barriers for your users while providing developers with wider opportunities. This architecture allows you to move the expensive parts of you application, even the entire logic, out of your Solidity smart contracts and into a Rust program that executes off-chain.
Many applications, such as on-chain gaming or central limit order books, need off-chain computation to be economical. However, any application logic requiring more than 250K gas can potentially reduce costs with ZK coprocessors.
DAOs are a perfect example of collective on-chain activity involving many actors and multiple smart contracts and leading to heavy computation. ZK Coprocessors for DAO governance ensure off-chain compute for cheaper gas, and verification of on-chain data among parties. With the Bonsai DAO Governor, DAO members were able to lower their gas fees by more than 50% (from $6-9, to just $2-3 per vote during July 23rd) by moving compute off-chain. We’ll release more on how we built the Bonsai Governor soon!
Another notable use-case includes Web2 to Web3 verification. For example, Bonfire Wallet allows users to create a burner wallet using WebAuthn, while Bonsai ZK Coprocessor handles off-chain compute.
To use Bonsai as a coprocessor for Ethereum, all you need to do is:
Then, follow the instructions in the deployment guide.
Bonsai can help whether you're looking to take heavy computations off-chain or need to generate proofs for your trustless, verifiable software. For any questions, reach out to our team on Discord!