What is NovaNet
NovaNet is not a zkL1 or L2 but rather an open peer-to-peer network.
*Open-sourced non-audited version of zkEngine is here (expect breaking changes): https://github.com/ICME-Lab/zkEngine_dev/tree/main NovaNet is a peer-to-peer decentralized prover network. It builds from the ideas of non-uniform incremental verifiable computation (NIVC) from the SuperNova proving scheme to allow for a highly portable and customizable zero-knowledge virtual machine and opcode based prover framework. Why use NIVC? Because it has superior memory efficiency allowing NovaNet provers to run on various types of devices. Allowing many types of devices permits anyone to join the network as a prover. Users can potentially earn tokens while playing their favorite zkGames, using a browser-based app, or even joining the network as a specialized prover (ZK's e pluribus unum). Researchers can create specialized proving scheme and get rewarded for usage in the real world. The first implementation of NovaNet works for WASM executables, but could be extended for RISC or other VMs in the future. WASM has been chosen as the first target for its optimal portability. WASM works in browsers, servers, blockchains, and various other settings. NovaNet also supports specialized opcodes for things like zero-knowledge machine learning (zkML), other VMs (JOLT), and anything else where specialized circuits would out-compete a general purpose zkVM.
Many prover services exist and are being built with a centralized prover stack. The idea is that centralized provers can allow for 'proof racing' and that competition will lead to optimal speed. This assumption often limits the use cases for privacy preserving and local-executing proofs. When you give data to a non-local prover you lose privacy; it is as simple as that. Moreover, we argue that parallelization is possible with a generalization of IVC: proof-carrying data (PCD) can allow for game theoretic optimizations to NovaNet. This better incentives participants and allows for faster proving speeds in many settings.
NovaNet allows developers to host verifiers in any setting that they like. It could be on Ethereum, another blockchain, or even a cloud server. You have the freedom to choose. We decided against recreating the wheel with a NovaNet specific zk-L1. The NovaNet token layer is cross-chain with core components working on various chains to be announced. Orchestration smart contracts handle tokenomics, escrow, validators, and other details. They are mostly opaque to application developers using the network, but can be inspected by anyone as they live on-chain.
Who should use NovaNet?
Testnet launch is targeted for late 2024. We are working hand-in-hand with partners to make sure that testnet will have a strong balance of demand and supply side participants allowing us to conduct further tests and optimizations. Since anyone can be a prover many use cases open up. For example, zk-games looking into fog-of-war (with gamers being the provers), or preventing cheating, can have the gamers themselves earn tokens or items for proving in the network. Teams that have a problem set that run in WASM, but do not have the expertise or time to create a zkFramework, learn a new DSL (Circom, etc), are ideal for testnet participants.
If you are using Rust and you can compile into WASM, your code should work out-of-the-box in NovaNet. The output of the network is a cryptographic proof which can be verified anywhere, which attests to correct execution of your WASM. If you work in another one of the 30+ languages supporting WASM, you should be able to use NovaNet with no modifications.
Most of the NovaNet code is planned to be open-sourced soon after testnet. The reasons for this are: peer review, auditing, and a general release so that participants in the network can help optimize for their use cases. Let's build the most open and easy to use zero-knowledge proof framework!
Last updated