###### tags: `Codex` *[PA]: Proof Aggregator *[L2]: Layer 2 # High-level design options for Codex: 1. naive - no proof compression at all - no zk used at all - **not possible** 2. computation-lite on storage nodes - zk proof specific to each slot of a storage contract - no compresssion - multiple proofs posted on-chain for each storage contract 3. computation on storage nodes (no PAs) - zk-proof recursion - single proof for a storage node at each timeslot (2 per 24 hours) across all the storage node's contracts 4. computation spread between storage nodes and PAs - 2 done by storage nodes, PA does proof recursion - NOTE: proofs from storage nodes do NOT need to be on-chain, and can be sent off-chain for aggregation properties 5. computation fully on PAs - PA does all proofing, recursively - single proof on-chain --- Roadmap impact based on above design selection - L2 w/o PA then tacking on the PA afterwards - write down what Codex can do in a stable way