# Espresso Markdown version of https://l2beat.com/zk-catalog/espressoprover ## Summary - Creator: Espresso Systems - Trusted setups for Jellyfish (Plonk): - Aztec Ignition, risk green (lowest risk) per the [Trusted Setups Risk Framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381): Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation. - Used in: Espresso DA - Verifiers: 1 not verified - zkVM: Jellyfish (Plonk), BN254 (curve), App-specific circuits (Other) ### About Espresso Light Client prover generates a Plonk proof of the HotShot consensus of the Espresso network. ### Links - Website: https://www.espressosys.com/ - Docs: https://docs.espressosys.com/network/learn/the-espresso-network/internal-functionality/light-client - Repository: https://github.com/EspressoSystems/jellyfish, https://github.com/EspressoSystems/espresso-network/tree/main/contracts/src ## Proof System ### Description Espresso proof system implements a light client of HotShot consensus of Espresso network, i.e. it verifies that a sufficient number of Espresso nodes have correctly signed consensus message. It is implemented by a [Jellyfish Plonk](https://github.com/EspressoSystems/jellyfish) proof system on a [custom circuit](https://github.com/EspressoSystems/espresso-network/blob/2c166fe13a730733d18198d3989d3be2b4c42da8/hotshot-state-prover/src/v3/circuit.rs) that checks all necessary conditions. Jellyfish is a Rust implementation of [Plonk system](https://eprint.iacr.org/2019/953.pdf) without significant modifications. [This code](https://github.com/EspressoSystems/espresso-network/blob/2c166fe13a730733d18198d3989d3be2b4c42da8/contracts/rust/gen-vk-contract/src/main.rs) generates a Solidity verifier to check zk proofs within EVM. ## Trusted Setups Risk levels follow the [Trusted Setups Risk Framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381). Yellow (medium risk): all contributions are published and the final output can be verified, the ceremony client is open source, there were at least 30 contributions, participation was open to the public and announced, and participants are publicly identified. Green (lowest risk): everything required for yellow, with at least 150 contributions. Red (highest risk): at least one requirement for yellow is not met. N/A: the proof system needs no trusted setup. ### Aztec Ignition - Risk: green (lowest risk) - Proof systems: Jellyfish (Plonk) 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. - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification). - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup). - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition). ## Verifier IDs 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. #### Espresso verifier v3 Custom verifier ID: SHA256 hash of the abi packed flattened VerifyingKey structure returned by _getVk() function on the Espresso Light Client contract (0x95Ca91Cea73239b15E5D2e5A74d02d6b5E0ae458). - Verifier ID: `0x060faa7957cb2ffdc75de8ea20d1eb50277c7fb0d2f48ecb7e2db7956d0bdad4` - Source: https://github.com/EspressoSystems/jellyfish - Verification: not verified - Used in: Espresso DA **Known deployments** - [0x098C593361d12DD638Ce7dBf34c8C6a655f8274c](https://etherscan.io/address/0x098C593361d12DD638Ce7dBf34c8C6a655f8274c#code) on Ethereum, used in: Espresso DA