We’re excited to announce the Nexus 2.0, the next iteration of our zero-knowledge machine. 2.0 is a major leap forward over last month’s 1.0 zkVM release, and introduces some key new components that are driving performance and efficiency gains:
- A new prover frontend, powered by the Jolt arithmetization system
- A new prover backend, powered by the HyperNova recursive proof system
- The Nexus SDK, a programmatic framework for producing multiple proofs in parallel and at scale
Jolt Integration
Jolt is a highly performant proof system developed by the research team at a16z and their collaborators. At Nexus we recognized Jolt’s potential for improving zkVM performance early on, and are excited to have integrated it into 2.0 – this integration makes verifiable computation faster, bringing significantly better performance to our users.
Jolt’s scientific contribution is to prove correct instruction execution via lookups. Lookups have been used in zero-knowledge proofs since 2017, but Jolt takes this to the extreme: all instructions are proved via a set of lookups. Essentially, Jolt realizes the lookup singularity, which was first formulated by Barry Whitehat, where verification of correct instruction execution is done fully via lookups.
An advantage of using a set of lookups is that you don’t need specialized circuitry for different types of instructions. So, unlike some other zkVMs, Jolt allows us to have a very expressive ISA with many types of instructions; there is no extra cost associated with having additional opcodes.
HyperNova Folding
The Nexus 2.0 includes HyperNova, which builds on the Nova folding techniques in our 1.0 release to enable greater expressivity for the constraints we need to check. As a result our zkVM is now able to check larger and more extensive constraints all at once, thus promising a number of scalability and efficiency gains.
HyperNova extends Nova with two important tools - SumCheck and Customizable Constraint Systems (CCS). CCS captures several leading and natural arithmetic expressions used to describe constraints, bundling them into a single powerful framework. SumCheck is a simple and time-tested algebraic proving technique based on hypercube summations - itself rooted in multilinear polynomial evaluations, originally discovered by our VP of Cryptography, Don Beaver.
The Nexus SDK
The Nexus SDK facilitates development by exposing an ergonomic, modular, and stable interface designed for computing proofs asynchronously as part of larger more robust proof-production pipelines.
The Nexus SDK introduces:
- A programmatic guest / host mechanism, with I/O enabled. Improving on the Nexus CLI, developers can now initialize the zkVM with a program and generate multiple proofs for different inputs, programmatically
- Asynchronous proof generation, allowing developers to compute multiple proofs in parallel from the same host using parallel Rust computation frameworks like Rayon. The zkVM automatically uses the maximum number of cores available.
- An ergonomic SDK interface, optimized for modularity and configurability. The SDK presents a stable interface for developers while abstracting the inner workings of the zkVM, and advanced developers can now find multiple prover backends with different time / space tradeoffs, including Nova, SuperNova, HyperNova, and Spartan+Jolt.
Looking Ahead
The Nexus 2.0 represents a significant advancement toward our goal of scaling ZK to 1 trillion Hz of compute capacity, but there’s still much work to be done. Visit docs.nexus.xyz to learn more about our zero knowledge machine, and join our Telegram channel to be part of the ongoing discussion.
And, we're actively seeking talented teammates who want to join our San Francisco-based team and be part of a fundamental shift in the field of computation. Learn more at nexus.xyz/careers.