Skip to main content

Proof System Overview

When the RISC Zero zkVM executes, it produces a SessionReceipt that serves as a proof of validity of a given Session.

To confirm that a SessionReceipt was honestly generated, use SessionReceipt::verify and supply the ImageID of the code that should have been executed as a parameter.

The SessionReceipt includes a journal, which contains the public outputs of the Session. The contents of the journal are specified by calling env::commit() and env::commit_slice() in the guest code.

Cryptographically speaking, the SessionReceipt is a collection of ZK-STARKs, each of which proves a single Segment.

The details of the RISC Zero ZK-STARK are described in our ZKP Whitepaper and in this Sequence Diagram.

Learn More

About the zkVM

About STARKs

About RISC Zero