Search

Search for projects by name

ZK Catalog

INTMAX logo
INTMAXINTMAX

About

A zk proving system designed by INTMAX for client-side proving of private token transfers on INTMAX L2.


  • Total Value SecuredTVS
    $3.56 M4.60%

  • Trusted Setups

    Used in

    Verifiers

    1

    Used in

    Verifiers

    1

    Tech Stack

    SNARK
    Plonk: Plonky2
    Field: Goldilocks
    Other: App-specific circuits
    Final wrap
    Plonk: Gnark
    curve: BN254
  • Total Value SecuredTVS
    $3.56 M4.60%
  • About

    A zk proving system designed by INTMAX for client-side proving of private token transfers on INTMAX L2.


    Description

    INTMAX prover is a zk proving system for privacy-preserving INTMAX L2 based on Plonky2 circuits, optimized for client side proving and using not only succinctness, but also zero knowledge properties of Plonky2. INTMAX circuits are proven with a STARK which is wrapped into a Plonk SNARK before settling onchain.

    Proof system

    Plonky2 implements a circuit aritmetization based on TurboPlonk over Goldilocks field, but it replaces KZG polynomial commitment scheme with a FRI-based polynomial testing scheme. In this way proving Plonky2 circuits requires no trusted setup, i.e. it is a STARK. However the circuit design is different from zkVM STARKs, so INTMAX custom logic is implemented as custom circuits rather than a zkVM program.

    Circuits

    INTMAX prover works with several different circuits that could be proven by different entities in the network (e.g. users, validity provers, aggregators). This design support local proving and enables private transactions on the L2. Available circuits are: validity for proving public state transition, balance for proving correct updates of individual user accounts based on private information, withdrawal for proving the validity of withdrawing funds from L2 to the host chain, claim for proving user eligibility for privacy mining program and proof of innocence for proving certain claims about deposits and withdrawals.

    Recursion and final wrap

    INTMAX circuits are based on recursive architecture, where generating a new STARK requires validating a previous STARK proof (e.g. processing a new balance update requires validating all previous balance updates). Several entities are responsible for providing these recursive proofs: users or balance provers for balance updates, validity provers for validity circuit, claim and withdrawal aggregators for processing claim and withdrawal proofs. Only claim and withdrawal proofs are posted onchain to be verified, all other proofs are verified only by the nodes in INTMAX network. Onchain proofs are wrapped in a gnark implementation of Plonk over BN254 curve, which requires a trusted setup (see below for more details).

    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.

    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