Search

Search for projects by name or address

ZK Catalog

Espresso logo
EspressoEspresso Systems

About

Espresso Light Client prover generates a Plonk proof of the HotShot consensus of the Espresso network.


  • Total Value SecuredTVS
    No data

  • Trusted Setups

    Used in

    Verifiers

    1

    Used in

    Verifiers

    1

    Tech Stack

    zkVM
    Jellyfish
    BN254
    App-specific circuits
  • Total Value SecuredTVS
    No data
  • About

    Espresso Light Client prover generates a Plonk proof of the HotShot consensus of the Espresso network.


    Description

    Espresso proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system. implements a light clientSometimes labelled interchangeably as a “node”, they are tasked with processing transactions and managing the blockchains's state. They run the computations for each transaction according to the rollup's virtual machine and protocol rules. If comparing to Ethereum clients, these would be execution clients such as Geth, as opposed to consensus clients. of HotShot consensusAn agreement on the latest and correct state of a blockchain. Unlike L1 blockchains which coordinate participating nodes with consensus rules, rollups rely on L1s for reaching consensus by checking the state of the rollup smart contract deployed thereon. of Espresso networkA constellation of nodes (peers) that communicate via a peer-to-peer protocol, for example, in propagating transactions and blocks to other nodes., i.e. it verifies that a sufficient number of Espresso nodes have correctly signed consensus message. It is implemented by a Jellyfish Plonk proof system on a custom circuit that checks all necessary conditions. Jellyfish is a Rust implementation of Plonk system without significant modifications. This code generates a Solidity verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. to check zk proofs within EVM.

    Aztec Ignition

    Jellyfish

    Detailed description

    Aztec Ignition is a trusted setupGeneration of a piece of data that must then be used for some cryptographic protocol to run. Generating this data requires some secret information. The "trust" comes from the fact the secret must be destroyed after the ceremony, otherwise cryptographic properties of the protocol could be broken. Once the data is generated, and the secrets are forgotten, no further participation from the creators of the ceremony is required. There are two types of trusted setups for SNARKs: (i) trusted setup per circuit where it is generated from scratch for each circuit, (ii) trusted universal setup per proving system where it can be used for several circuits. ceremony for KZG commitmentsA polynomial commitment scheme that allows a prover to compute a commitment to a polynomial, with the properties that this commitment can later be opened at any position: the prover shows that the value of the polynomial at a certain position is equal to a claimed value. KZG is widely used as it’s applicable both for univariate and k-variate polynomials, is efficient for batch proofs, and is able to generate many proofs at once relatively fast. It is also proof generation time efficient: the time for prover to commit to a polynomial is linear on the degree of the polynomial. 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.

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

    Plonk: Jellyfish

    Open-source toolkit of various cryptographic primitives, including an implementation of Plonk SNARK, developed in Rust by Espresso Systems.

    Verifier
    Verification
    Used in
    Known deployments
    Espresso verifier v3