Search

Search for projects by name

ZK Catalog

SP1 logo
SP1Succinct

About

SP1 is a zk proving system for RISC-V programs built by Succinct.


  • Total Value SecuredTVS
    $3.07 B10.0%

  • Trusted Setups

    Used in

    +15 more

    Verifiers

    1by
    1

    Used in

    Verifiers

    1

    Used in

    +15 more

    Verifiers

    1by
    1

    Used in

    Verifiers

    1

    Tech Stack

    zkVM
    STARK: Plonky3
    ISA: RISC-V
    Field: Baby Bear
    Final wrap
    Plonk: Gnark
    Groth16: Gnark
    curve: BN254
  • Total Value SecuredTVS
    $3.07 B10.0%
  • About

    SP1 is a zk proving system for RISC-V programs built by Succinct.


    Description

    SP1 is a RISC-V zkVM using the Plonky3 stack. The zkVM execution is proven recursively and is wrapped into a SNARK for final verification. It provides tools to generate onchain Groth16 or Plonk verifiers. SP1 targets 100 bits of security.

    Proof system

    SP1 proves execution of a RISC-V VM using several ZK circuits connected by lookup arguments, as implemented in Plonky3. VM execution trace is split into several chunks that could be proven in parallel with a STARK proving system. The parallelized proofs are recursively checked by the next layer of STARK circuits. The correctness of the final STARK proof is verified with the final wrap SNARK program, the wrap SNARK proof is verified onchain.

    zkVM component

    Verifies execution of a RISC-V program in a zkVM. Uses Plonky3 STARK toolkit with AIR arithmetization and FRI-based polynomial commitment scheme within the BabyBear field.

    Recursion circuits

    SP1 provides tools for recursive proof generation by verifying proofs in a zkVM. This uses the same toolkit as top-level proof system, but proves the correct verification of all proofs generated on the previous step.

    Final wrap

    SP1 supports Plonk (with KZG polynomial commitments) or Groth16 final SNARK wrap of the STARK proof for performant onchain proof verification (link). The gnark implementation of these proof systems over BN254 curve is used. For Plonk, Aztec Ignition trusted setup ceremony is used, for Groth16 Succinct run internal circuit-dependent phase 2 trusted setup, see below for more details.

    Plonky3 final polynomial degree check vulnerability

    2025 Jun 3rd

    Release of SP1 V5.0.0 with a fix of a Plonky3 library issue that affected the security of SP1 zkVM.

    Learn more

    Plonky3 FRI size check vulnerability

    2025 Mar 28th

    Fix of a Plonky3 library soundness issue that affected the security of SP1 zkVM.

    Learn more

    Aztec Ignition

    Plonk: Gnark

    Detailed description

    Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.


    SP1 Groth16 circuit-specific setup

    Groth16: Gnark

    Detailed description

    Ceremony was run among 7 contributors to the SP1 project without public calls to participate. It generated setup parameters for Groth16 wrapper of SP1 zkVM.

    List of different onchain verifiers for this proving system. Unique ID distinguishes differents deployments of the same verifier from different verifiers (e.g. different versions).

    Plonk: Gnark
    verifier hashes
    Groth16: Gnark
    verifier hashes