###### 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