Introducing Nexus 1.0: The Zero Knowledge Machine

May 24, 2024

Daniel Marin

Daniel Marin

We’re excited to announce Nexus 1.0, our first major release enabling verifiable computation based on recent breakthroughs in zero-knowledge proof technology. 

The result of years of theoretical advancements from the wider scientific community, as well as by members of our own team, Nexus 1.0 represents our commitment to open science and to creating practical applications of the latest cryptographic protocols and techniques. 

Nexus 1.0 is a step towards enabling a more secure, trustworthy, and scalable future for the Internet. Visit the Nexus website to learn more about the product, read our white paper and technical documentation, and download and give Nexus 1.0 a try.

Creating the Machine

Nexus 1.0 incorporates cutting-edge cryptography, including the first independent implementation of the Nova folding scheme. When it executes a user program it divides the execution trace into segments that can be individually proved. The folding scheme then enables the aggregation of the segment proofs into a single proof of a full computation. Through parallelization of the folding scheme, the verifiable computation has a low memory footprint and can be distributed across a network of machines. In the end, Nexus 1.0 returns a compact and easy to verify proof that the whole program execution is correct such that the result can be fully trusted without anybody having to redo the computation.

These have been the state of the art of zkVM design for the past several years. Nexus 1.0 goes beyond that into a more modern and modular architecture that extends the system into multiple components and subcomponents that open up new avenues for integrations, enhancements, and optimizations.

The main components of Nexus 1.0 include:

  • Nexus Prover

  • Nexus Virtual Machine

  • Nexus Compiler

  • Nexus Memory Checking

  • Nexus Proof Compression 

The Nexus Prover uses folding to aggregate proof for program segments into one. Powered by cutting-edge cryptographic techniques like Nova, SuperNova, and HyperNova, the Nexus Prover enables highly efficient recursion and proof aggregation.

The Nexus Virtual Machine, which is the general purpose, computational paradigm of the Nexus 1.0, takes its inspiration from RISC-V, but is actually more minimal and simpler than RISC-V. Nexus 1.0 arithmetizes its virtual machine into a set of arithmetic circuits suitable for proving with the Nexus Prover. Importantly the Nexus Virtual Machine allows itself to be extended with custom precompiles. 

The Nexus Virtual Machine gives developers a full general purpose machine, but it also allows them to extend the machine with custom instructions, like for Keccak-256, ECDSA signatures, etc. And these precompiles are actually quite similar to how one would extend a CPU architecture such as RISC-V with custom instructions to give it further performance. The improvement in performance by these precompiles is actually quite significant. For example, one of the most common use cases for verifiable computation today is proving programs that involve a lot of hashes like Keccak-256 hashes or SHA-256 hashes. By having a custom precompile for SHA-256, within the general framework of a general purpose computer inspired by RISC-V, Nexus 1.0 is able to prove programs, but that take advantage of ASIC-like performance.

The Nexus Compiler is what allows us to translate from any programming language to the Nexus Virtual Machine. Since the Nexus Virtual Machine is a custom CPU architecture, specifically designed for simplicity, prover performance, and extensibility, we need a compiler to translate from other programming languages. The Nexus Compiler first compiles the program to RISC-V and then transpiles RISC-V to the Nexus VM instruction set architecture.

Next, we have the Nexus Memory Checking. When we segment the VM execution over billions of cycles into smaller batches the Nexus Prover does not work directly on the full memory state since this would be costly. We do need to ensure all memory accesses are consistent with each other though, so, for example, a value loaded from memory in one segment corresponds to the last value that was stored in the same address, even if the store happened in a previous segment. Indeed, because the Nexus Prover is optimized for recursion – so we can prove unbounded computations – being able to ensure the consistency of the memory accesses throughout the execution of the machine is of paramount importance. Nexus 1.0 takes a rather simple approach to memory checking, using Merkle trees to commit to the whole memory as it evolves, and to verify each memory access through a Merkle path to the root of the Merkle tree. 

Lastly, there is the Nexus Proof Compression. The Nexus Prover lends itself very easily to unbounded recursion because of folding. However, Nexus 1.0 produces folding proofs, which are larger – a few megabytes in size – than either SNARK or STARK proofs. However, folding proofs lend themselves very easily to proof aggregation and recursion. Once we obtain the final proof, Nexus 1.0 compresses it with Nexus Proof Compression, which performs a sequence of SNARKs composed with each other. The last compression step applies the Groth16 SNARK. Groth16 gives a very small proof that is only three elliptic curve group elements and about 1,000 or 2,000 bits in size. This is so small that the final proof could even fit in a single tweet.

In summary, the Nexus 1.0 architecture does one thing and does it very well, which is to prove any computation and optimize the proof generation process on multiple fronts. And then it produces a proof that is able to be verified by anyone, anywhere, anytime.

Reducing Complexity for Developers

A crucial feature of Nexus 1.0 is its coding abstraction layer, enabling programmers to write and verify programs without needing to grapple with the underlying mathematical or cryptographic intricacies, thus resulting in a more accessible, user-friendly design. 

Generating zero-knowledge proofs no longer requires highly specialized cryptographic expertise – Nexus 1.0 opens up this technology to any developer.

Enabling the Verifiable Internet

Nexus 1.0 signifies more than just a product release. It embodies our vision for the future of computing – one that prioritizes correctness, transparency, security, and accountability – and marks a potential turning point for bringing a new level of verifiability into the digital world at a global scale.

Nexus 1.0 offers developers, researchers, and enthusiasts an opportunity to explore and build on our work, which is documented and freely available under both MIT and Apache 2.0 open source licenses.

Visit nexus.xyz to learn more about both the scientific foundations and the practical implementation aspects of Nexus 1.0, and to try it for yourself. We look forward to you joining us. 



Copyright © 2024 Framer University.

All rights reserved.

© 2024 Nexus Laboratories, Inc.