---
# System prepended metadata

title: Chunk prover - notes

---

**Action Plan and Open Questions**

- Challenges
        - **Option 2: hash of a commitment, not sure what is this exactly**
- Implementation
    - Root Circuit
        - add checks between chunks
        - check fingerprints
        - check challenges
    - PI circuit
        - ???
    - RWTable
        - ???
    - EVM & State circuits (chunk the table, EVM steps need to be consequent, dummy steps)
        - state circuit gets info from PI
        - BeginChunk / EndChunk logic
    - Keccak Circuit
        - reduce its size?
    - Option 2 for challenges
        - bus-mapping
        - snark-verifier
    - Supercircuit
        - ???
    - Chunk fingerprint chronologically ordered
    - Chunk fingerprint ordered by address
    - fingerprint for row
    - fingerprint for chunk
    - Bind chunk proofs by overlapping them by one row
        - add a constraint that last row of previous chunk is equal to 1st row of current chunk
    - fingerprint for the whole trace
        - removing redundancies from the trace fingerprint (rows taken into account more than once due to chunk linking, see below)
    - Constrains for global challenges
    - **What are the checks that need to happen on last chunk?**
    - Option 2 for challenges
        - Poseidon (could we use https://github.com/zcash/halo2/tree/main/halo2_gadgets/src/poseidon ?)
        - bus-mapping modifications
        - snark-verifier modifications
- Testing
- Benchmarking
    - Targets
        - 24GB
        - 32GB
        - 64GB

**PSE meeting 3/10/2023**

Questions

- GG: do we create chunks based on Tchr or Taddr (expressed differently, is the first chunk created by the first N entries of Tchr or Taddr?)
- GG: Is the “local” correctness of Tchr already implemented?
- GG: Is the “local” correctness of Taddr already implemented?
- GG: address sorted trace, do we provide this as a witness and check it?
- GG: don’t understand the 2nd option for challenge generation. Some questions:
    - what is proof chunk?
    - do we need to have ‘Commit’ in-circuit?
    - It is a KZG commitment?
- GG: not yet understood `BeginChunk` (check the previous chunk details are passed correctly) /`EndChunk` (like a write step context into RW table)
- GG: “Change scope summary” paragraph, I don’t understand this yet