Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ceno Project Overview

Ceno is a non-uniform, segmentable, and parallelizable RISC-V Zero-Knowledge Virtual Machine (zkVM). It allows for the execution of Rust code in a verifiable manner, leveraging the power of zero-knowledge proofs.

Key Features

  • RISC-V Architecture: Ceno is built around the RISC-V instruction set, providing a standardized and open-source foundation for the virtual machine.
  • Zero-Knowledge Proofs: The core of Ceno is its ability to generate zero-knowledge proofs of computation, ensuring that programs have been executed correctly without revealing any private inputs.
  • Rust Support: Ceno is written in Rust and is designed to run programs also written in Rust, allowing developers to leverage the safety and performance of the Rust language.
  • Modularity: The project is divided into several key components, each with a specific role in the Ceno ecosystem.

Project Structure

The Ceno workspace is organized into the following main crates:

  • ceno_cli: A command-line interface for interacting with the Ceno zkVM.
  • ceno_emul: Provides emulation capabilities for the RISC-V instruction set.
  • ceno_host: The host component responsible for managing the zkVM and orchestrating the proof generation process.
  • ceno_rt: The runtime environment for guest programs running within the zkVM.
  • ceno_zkvm: The core zkVM implementation, including the prover and verifier.
  • examples: A collection of example programs that demonstrate how to use Ceno.