This project started in the context of the Turbin3 Advanced SVM cohort of Q1 2025. The original idea is to create a based SVM rollup with ZK validation on Solana.
The term rollup is generally used to mean a blockchain where the canonical state is decided by a validating bridge on a base layer (often an L1 blockchain). The most common verification mechanism for validating bridges are called fraud proofs and validity proofs. In fraud proof, some participant can submit evidence of invalid state transitions so that the validating bridge rejects the commited block. In validity proof, block proposer must also submit a cryptographic proof that the block they propose is valid. We focus on validity proofs because they are safer and now have a lot of great tools.
The most common design for submitting blocks to validating bridge is to have a single trusted operator called the sequencer send a commitment of the block. However this design is centralized and partially defeats the purpose of blockchains. For this reason, researchers came up with a design called based rollups where new blocks are proposed directly on the base layer. Single sequencers can commit to transactions faster than based rollups because they are not limited by the L1, but since we're building on Solana this is less of a concern so we choose the most decentralized option.
Finally, as this work is done in the context of the Turbin3 Advanced SVM cohort, we choose to use the SVM for the rollup, as it will allow use to dive deeper into the inner mechanics of the VM.
The structure of the system is presented in the figure above:
- Users send transactions to block builders.
- Block builders pack transactions into a block they post on-chain, indicating the parent block.
- A block is selected by an on-chain program.
- Provers fetch the selected block and upload the associated proof.
- RPCs fetch the block, verify the proof, execute the block and update their state accordingly.
- Users can now fetch the updated state from the RPC
