OpenViSTAI · Agents · Blockchain · Crypto
Menu
ZK & Privacy

Spectre

Spectre is a Rust zero-knowledge coprocessor that moves circuit-defined computation away from a target chain’s resource-limited execution layer. Its stated primary circuit verifies the Ethereum LightClient protocol introduced in the Altair hard fork, allowing applications to check Beacon-chain headers against the originating chain’s consensus rules.

Independent OpenViST project profile, based on linked sources.

Spectre — 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 Spectre when building an Ethereum Altair light-client verification component and the target execution layer has limited resources for the required computation.

Who it is for

  • Blockchain developers integrating Ethereum light-client consensus checks into another chain or application.
  • Teams needing to offload circuit-defined verification computation from a constrained execution layer.
  • Rust and Halo2 developers implementing or operating proof and verifier-contract workflows.

Documented uses

  • Verify Ethereum Altair light-client updates and Beacon-chain headers against consensus rules.
  • Move the documented verification computation off a target chain’s execution layer.
  • Set up step or committee-update circuits and generate corresponding verifier-contract source.
Before you choose

Requirements & limits

The repository is public and lists a GPL-3.0 license. The documented development requirements include Rust 1.73.0-nightly, build-essential, clang, pkg-config, libssl-dev, Foundry and Just.

  • Its stated primary circuit is specific to the Ethereum LightClient protocol introduced in Altair; outsourced computation depends on the arithmetic circuits.
  • The prover uses a Halo2 fork and circuits use halo2-lib; verifier contracts are generated via snark-verifier.
  • Support for halo2-solidity-verifier is explicitly behind an experimental flag.
  • Deployment requires network-specific light-client parameters, RPC details and deployer credentials.

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

Set up Spectre circuits

Prepare the repository inputs and run a documented circuit setup for a step proof or committee update.

Before you start

  • Rust 1.73.0-nightly
  • build-essential, clang, pkg-config and libssl-dev
  • Foundry and Just
  • A checked-out Spectre repository

Steps

  1. Initialize repository submodules with the command below.

    Documented command
    git submodule update --init --recursive
  2. Prepare contract and consensus-test inputs with just build-contracts and just download-spec-tests.

  3. Run either just setup-step-compressed testnet or just setup-committee-update testnet to set up the corresponding circuit.

Expected outcome

The selected step-compressed or committee-update circuit setup is invoked for the testnet configuration.

Guide limitations

  • This guide covers circuit setup only, not proof generation, verifier generation or deployment.
  • The README does not establish execution success on a particular machine.
Source-based practical guide

Generate a verifier contract for a configured circuit

Generate Solidity verifier-contract source for a step proof or committee-update proof using the documented Just recipe.

Before you start

  • A checked-out Spectre repository with circuit setup inputs and keys prepared
  • Just

Steps

  1. Choose the step-compressed or committee-update proof type.

  2. Run just gen-verifier-step-compressed testnet or just gen-verifier-committee-update testnet for the selected type.

  3. Use the generated verifier source at the repository path documented for that proof type.

Expected outcome

The corresponding Solidity verifier-contract source is generated; the README gives `contracts/snark-verifiers/sync_step_verifier.sol` as the step-proof output path.

Guide limitations

  • This workflow generates verifier source; it does not deploy the contract.
  • The README's committee-update command names a verifier file with degree 24 in the direct command but degree 20 in its output filename, so confirm the intended key/output configuration before adapting that command.
Evidence and transparency

Sources & review

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