Generalised Circuit + PoC

Overview

The goal of this project is to produce a generalized ZK based Merkle-Patricia tree inclusion proofs (MPTIP) system and all the supporting infrastructure. The workings of this system will be showcased through a verification PoC, proving state with Arbitrum, Optimism, or Ethereum as the source or destination network.

Scope

Circuit

In order for the ZK MPTIPs to work a halo2 based circuit will be created. The circuit will have a single public input publicInputsHash. In reality this will be a hash of the actual public inputs of the MPT, but will be condensed to a single hash for optimization purposes.

The public input constituents that are concatenated and hashed together to form the single publicInputsHash are:

Note: The verifier (think smart contract) will get these and hash them together to form the publicInputsHash and provide it as input to the verification.

The private inputs of the circuit will include the above 4 constituents in their raw form. In addition the following inputs will be passed: