RISC Zero on Ethereum
The risc0-ethereum repo is where you can find blockchain examples, verifier contracts and Steel.
Prove computation with the RISC Zero zkVM and verify the results in your Ethereum contract.
The zkVM can act as a coprocessor to a smart contract application. This unlocks powerful new applications on Ethereum that offload computationally intensive (i.e. gas expensive) and difficult to implement (e.g. ed25519 signature verification, or HTML parsing) functions to the zkVM. This is possible because, through Bonsai, STARK proofs generated by the zkVM can be wrapped in circom Groth16 SNARKs that are significantly smaller and faster to verify on-chain.
Ethereum Examples
The references below are examples of how the zkVM can be integrated with Ethereum:
Foundry Template
The Boundless Foundry Template provides a minimal application, which uses the Boundless protocol for remote proving, that can act as a template for developing your application.
Steel
Steel is a library for view call proofs, which enables users to easily integrate claims about Ethereum state into zkVM applications.
Zeth
Zeth produces ZK validity proofs for Ethereum Virtual Machine blocks (EVM). This is accomplished by running revm, a Rust implementation of the EVM in the zkVM. The end result is an open-source zkEVM with high code reuse and minute, not hour, proving times on Bonsai. For more info check out Announcing Zeth: The first Type Zero zkEVM.
DAO Governance Example
This example app uses Bonsai as an Ethereum coprocessor. The protocol, based on the OpenZeppelin Governor smart contract standard, batches signature verifications off-chain for a DAO governance vote. The end result is that in ~160 lines of Rust, a gas savings of ~77% is achieved with significant room for optimizations.