|
| 1 | +# Shasta Fork [The protocol changes introduced by Taiko's Shasta upgrade.] |
| 2 | + |
| 3 | +Shasta is the next major protocol step after **Pacaya**. It keeps Pacaya's blob-based, proof-driven architecture, but reworks the protocol around a separate inbox, proposal-based derivation, and explicit L1/L2 routing for checkpoints and anchoring. |
| 4 | + |
| 5 | +## Proposal-Based Derivation |
| 6 | + |
| 7 | +Shasta organizes L2 block construction around **proposals** rather than the older batch terminology. |
| 8 | + |
| 9 | +Under this model: |
| 10 | + |
| 11 | +- proposals are identified by sequential proposal IDs |
| 12 | +- proposal data is carried in blob-backed derivation sources |
| 13 | +- forced inclusions are processed first and the proposer's source is appended last |
| 14 | + |
| 15 | +This keeps forced inclusion inside the normal proposal pipeline rather than treating it as a side path. |
| 16 | + |
| 17 | +## Sequential Finalization with Checkpoints |
| 18 | + |
| 19 | +Shasta keeps proving on Ethereum L1, but finalization becomes more explicitly checkpoint-driven. |
| 20 | + |
| 21 | +In practice: |
| 22 | + |
| 23 | +- `ShastaInbox` accepts proposals and proofs for contiguous proposal ranges |
| 24 | +- successful proving advances finalization in order |
| 25 | +- finalization writes a checkpoint into the signal service |
| 26 | + |
| 27 | +This gives the rest of the protocol a fresh L1-backed checkpoint as Shasta proposals finalize. |
| 28 | + |
| 29 | +## L1/L2 Routing and Anchoring |
| 30 | + |
| 31 | +Shasta also changes how L1 state is reflected on L2. |
| 32 | + |
| 33 | +- `Anchor` stores anchored L1 checkpoints on L2 and records metadata used by the preconfirmation flow |
| 34 | +- `SignalServiceForkRouter` switches signal-service behavior across the Pacaya/Shasta fork boundary |
| 35 | +- the fork routing model lets Pacaya-era and Shasta-era logic coexist cleanly during transition |
| 36 | + |
| 37 | +This is one of the main architectural differences from the simpler Pacaya overview. |
| 38 | + |
| 39 | +## Preconfirmation-Oriented Permissioning |
| 40 | + |
| 41 | +Shasta is built to support the staged preconfirmation rollout. |
| 42 | + |
| 43 | +It introduces: |
| 44 | + |
| 45 | +- proposer authorization through `PreconfWhitelist` |
| 46 | +- prover whitelisting with permissionless fallback after delay |
| 47 | +- permissionless proposal fallback when forced inclusions stay too old |
| 48 | + |
| 49 | +These controls keep the fast path structured without removing the protocol's escape hatches. |
| 50 | + |
| 51 | +## Key Contract Changes |
| 52 | + |
| 53 | +Shasta introduces or elevates several contracts: |
| 54 | + |
| 55 | +- `ShastaInbox` becomes the Shasta L1 protocol entry point |
| 56 | +- `Anchor` becomes the Shasta L2 anchoring contract |
| 57 | +- `PreconfWhitelist` controls proposer authorization |
| 58 | +- `ProverWhitelist` controls early proving access |
| 59 | +- `SignalServiceForkRouter` handles cross-fork signal-service routing |
| 60 | + |
| 61 | +See [Preconfirmations](/protocol/preconfirmations), [Proving System](/protocol/proving-system), and [Contract Addresses](/network/contract-addresses) for related details. |
0 commit comments