The ethos of the Nexus project is a commitment to open and transparent science and engineering.

For an in-depth look at the science behind the Nexus zkVM, see the specification.

Core Components

The Nexus zkVM is designed to be modular and extensible, with highly optimized components:

  • The Nexus Runtime: A feature-rich runtime enabling straightforward but powerful development of guest programs to run on the Nexus zkVM, with full support for public and private inputs, public outputs, logging, and benchmarking — all in native Rust syntax.

  • The Nexus zkVM Machine Architecture: A custom designed and from-scratch implemented RISC-V virtual machine in a modified Harvard architecture, designed to optimize prover performance through careful memory management in support of a ‘only prove what you use’ model.

  • The Nexus zkVM: A fully-specified Algebraic Intermediate Representation (AIR) arithmetization of the machine architecture, including constraints for the entire RISC-V32i instruction set as well as efficient offline memory checking.

  • The Stwo Prover: An integration with StarkWare’s powerful Stwo prover, a state-of-the-art Circle STARK with excellent performance characteristics.

Each component of the Nexus zkVM has been carefully chosen or designed from the ground up and then implemented by the Nexus team to maximize security, performance, modularity, and extensibility.

As a consequence of that approach, the Nexus zkVM is architected to support new theoretical developments led by our research team, as well as tooling to accelerate deploying the zkVM for a variety of use cases:

  • Proving Schemes: In addition to the Stwo prover, the Nexus zkVM is still compatible with the Nova family of folding schemes, and can be extended with new proving scheme constructions as the state-of-the-art continues to advance.

  • Precompiles: Precompiles are extensions to the instruction set of the machine architecture, supporting common operations (e.g., cryptographic hashing like Keccak, or matrix multiplication) that the zkVM can use to accelerate specific computations. Developers will be able to extend the zkVM with their own custom precompiles, as well as import those published by other developers.

  • Developer Tooling: The Nexus zkVM comes packaged with am SDK that enables quick and correct development of applications on top of it, no matter the use case.

  • Language Support: As the Nexus zkVM implements RISC-V ISA, the zkVM can run programs written in most high-level language (e.g. Rust, C++, etc.) given its common availability as a computation target.

The zkVM aims to offer developers out-of-the-box prover performance and security, designed to power numerous applications.

Proving Architectures

The Nexus zkVM turns programs into proofs, but the computational work of executing and proving the zkVM must be implemented by a proving architecture.

The Nexus zkVM design is compatible with a variety of proving architectures, from sequential execution on your laptop all the way up to the Nexus Network, a globally-distributed proving network under active development.