Internal Annoucement - NovaNet
February 29, 2024

NovaNet: Incentivizing Zero Knowledge Proofs Everywhere

Decentralization is transforming the world. From self-financed energy producers to AI systems that run on independent servers, decentralization is making the promise of scalable, secure, and transparent digital networks a reality.

NovaNet brings decentralization to zero knowledge proofs. Most ZKP systems are centralized, slow, and lock users into a monolithic proving service. 

But not NovaNet.

NovaNet is a high-speed, peer-to-peer ZKP network that runs on ordinary consumer-grade machines. NovaNet enables ZKP generation on laptops, IoT devices, and other constrained environments. This is  made possible by implementing advanced folding schemes, lookup tables, and WASM execution. 

Moreover, NovaNet works as an incentive layer for specialized or hardware enhanced provers. Our base is a WASM based zkAggregation layer that can benefit from various zkVM and proving schemes, making NovaNet highly modular and adaptable.

The Power of ZKP

ZKPs use advanced cryptography that enable a prover to assure a verifier that something is true without needing to access any additional information. This information includes confidential or personal data, proprietary algorithms, and large data sets. 

ZKPs have a transformative power because they enable three things:

- Verifiable compute: Statements, including whether computation is being performed correctly, can be verified with near-absolute certainty. ZKPs cannot be faked.

- Privacy: ZKPs verify without sacrificing privacy because underlying information doesn’t need to be revealed.

- Scaling: Verifying proofs allow networks to run faster. Verifying a proof of a correct computational process takes much less power than running the process itself.

Until recently, ZKPs have mostly been used for scaling Ethereum, a valuable endeavor. But this has led to centralized and monolithic proving services that have mixed incentive structures for their users.  

And that’s where NovaNet and modern ZKP proving schemes come in.

Based on recent innovations in ZKP design, NovaNet overcomes these problems to launch the first highly portable zkFramework and incentive layer. 

NovaNet thus completes a third step needed for mass adoption of ZKPs:

1. Faster verifiers (circa Groth16).

2. Fast provers (circa Plonky3, STARKs, Lasso, Nova, and many more).

3. Getting ZKP to run everywhere. (Nova, Protostar, folding, incremental verifiable computation (IVC))

NovaNet works as an incentive and aggregation layer for step 3.

How NovaNet Works

NovaNet is operated by prover nodes that generate ZKPs. Anyone can be a prover simply by installing NovaNet’s software or loading a prover WASM in a browser. This means that NovaNet acts as the first decentralized physical infrastructure network (DePIN) for ZKPs.

Provers are paid in tokens for using their GPUs to generate ZKPs. The amount they are paid is based on factors such as proof cost, demand, opcode count, and how many other devices were used to generate the proof. This not only incentivizes participation but also aligns the interests of individual contributors with the health of the network.

As a peer-to-peer network, the nodes that generate proofs on NovaNet are connected using a gossip protocol. The protocol determines how to best generate proofs using parallel proving techniques. We are adopting the well-known open source project, Lib P2P.

NovaNet’s users are ZKP requesters. Requesters provide the demand for ZKPs by purchasing proofs for their particular use cases. After a proof is generated on NovaNet, the proof can be verified anywhere such as on a blockchain, smart phone, or in the cloud. Payout is only done upon successful verification of the resulting proof. NovaNet is designed for minimal lock-in.

NovaNet token demand is driven by users burning tokens to request proofs. Token supply is based on new tokens being minted to pay provers for generating proofs. 

Decentralized Without a New Blockchain

Unlike ZKPs provided by a centralized service using specialized hardware, NovaNet ZKPs are generated in a decentralized manner by any machine that connects to the network. There is no single entity or group that controls the ZKP generation process. NovaNet ZKPs are generated according to an autonomous peer-to-peer protocol running on laptops and other node machines.  Users can opt-in for specialized proving services, specific proving schemes (opcodes), and much more. We expect that various zkVM will work in the network as provers.

With our multi-chain approach, NovaNet uses existing blockchains and smart contracts to make token payments and manage token supply and distribution.

But NovaNet is not a new Layer 1 blockchain nor is it a Layer 2 roll up. NovaNet is distinguishable from a blockchain in the following ways:

1. NovaNet does not seek consensus over transactions, smart contract execution, or proof generation and verification.

2. Nodes generate, aggregate, and verify proofs. Proofs can also be sent to user-selected environments to be verified and stored (e.g., on chain, the cloud).

3. NovaNet does not produce its own chain of blocks that maintains a sequential history of proofs, payments, or other data.

4. Blockchain validators are used only to make payments to provers and manage tokenomics.

The decentralized infrastructure of NovaNet significantly enhances privacy and security for ZKP generation. Private proving means local proving. NovaNet allows use to select this option and have only aggregation run in the network layer. By distributing the computational load across numerous nodes worldwide, the network ensures that no single entity can control or compromise the generation and verification of proofs. 

Importantly, unlike ZKP services that generate proofs on a third party network or service, NovaNet preserves privacy by not requiring data to leave a proof requestor’s local machine.

How NovaNet is Possible 

NovaNet is able to run proofs at high speeds in constrained environments based on the modern science of ZKPs such as folding schemes and IVC. We have implemented several sophisticated innovations in ZKP design that streamline data processing and verification, and maximize memory efficiency.

NovaNet is based on the non-uniform IVC scheme SuperNova. We modified the SuperNova proving scheme with opcodes and improvements such as optimal memory consistency checks (MCC), and an extension for parallelization using the same MCC paradigm. Anyone can add custom opcodes for use-case specific proving, or use the opcodes that are already there for more standard applications.  Moreover, any proving scheme or zkVM can join the network and earn incentives for proving.

The network decides on the size of the chunks a prover can handle based on a prover’s computer specifications and the underlying execution trace being proved. NovaNet can do zero-knowledge computations incrementally with very little costs on each iteration. NovaNet breaks a problem into smaller problems and runs them in parallel. When recombining, we prove that the chunks followed each other and had the claimed output for each portion of the execution trace. Specialized provers can be selected by users for use cases such as zkML, advanced lookup arguments, and much more.

NovaNet’s use of WebAssembly (Wasm) as a compilation target also supports portability. NovaNet allows you to take any valid WASM file, execute it, and output a proof attesting to the correct execution of that code. The verifier for that proof can be hosted anywhere (e.g., a Layer 1 blockchain, a cloud server).

Programming in any of the 30+ languages that compile to WASM should be able to use NovaNet with no modifications. NovaNet initially supports standard WASM opcodes. But it may be the case that different opcodes (circuits) are more efficient for a specific use case, or even different prover paradigms. NovaNet is written in Rust using R1CS via the Bellpepper crate.

NovaNet will have open-source libraries that allow for proof composition for various prover schemes. For example, these could be used to make the JOLT verifier into an executable which can be proved recursively in NovaNet. This allows for NovaNet to capitalize on new or specialized proving schemes quickly.

These advancements are crucial for enabling NovaNet's network.

ZKPs will run everywhere for verifiable and privacy preserving compute. NovaNet is the open peer-to-peer network and incentive layer that achieves this.

Gradient Shape - NovaNet
Gradient Shape - NovaNet