OpenViSTAI · Agents · Blockchain · Crypto
Menu
ZK & Privacy

Reverie

Reverie is a Rust library and command-line tool implementing the prover and verifier for the KKW 2018 MPC-in-the-head non-interactive zero-knowledge proof-of-knowledge system. The CLI works with statements specified in Bristol format, while the library offers simplified and streaming interfaces.

Independent OpenViST project profile, based on linked sources.

Reverie — OpenViST project profile in ZK & Privacy.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Reverie when building or exploring a workflow that needs KKW-style MPC-in-the-head proofs, particularly for complex predicates or Bristol-format statements.

Who it is for

  • Rust developers integrating non-interactive proof generation or verification into applications.
  • Researchers and practitioners experimenting with proofs for Bristol-format statements.

Documented uses

  • Generate a non-interactive zero-knowledge proof for a supported statement.
  • Verify a proof produced for a statement.
  • Integrate proof generation and verification through the library's simplified or streaming interface.
Before you choose

Requirements & limits

The project is public source code licensed under AGPL-3.0. Running it requires a relatively recent nightly Rust toolchain.

  • The CLI's documented statement format is Bristol format.
  • The library provides both simplified and streaming interfaces.
  • The README gives release-build examples using native CPU features with AES, SSSE3 and SSE2, with AVX2 as an additional option.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Run Reverie’s command-line program

Run Reverie in release mode using the documented SSE+AESNI or AVX2+AESNI build flags.

Before you start

  • A relatively recent nightly Rust toolchain.
  • A system supporting the chosen CPU features: SSE+AESNI or AVX2+AESNI.

Steps

  1. From the Reverie project, run time RUSTFLAGS="-C target-cpu=native -C target-feature=+aes,+ssse3,+sse2" cargo run --release for SSE+AESNI.

  2. Alternatively, run time RUSTFLAGS="-C target-cpu=native -C target-feature=+aes,+ssse3,+sse2,+avx2" cargo run --release for AVX2+AESNI.

Expected outcome

Cargo runs Reverie in release mode; the project provides a CLI for proving and verifying statements specified in Bristol format.

Guide limitations

  • The README does not specify the Bristol statement input procedure or provide an example of CLI arguments.
  • The README describes the implementation as seeking 128-bit classical security; this is a stated design goal, not a verification of a security level.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
17 October 2026
Original website title
trailofbits/reverie · Official homepage title · retained in its source language