Open preston-evans98 opened 1 year ago
Posting state diffs only work in ZK-rollup mode, right?
If so, does this impact the workings of the Optimistic-rollup mode? At the very least, seems like we should panic if someone tries to run optimistic-rollup mode/module with output_state_diff set to true.
Background
Currently, Sovereign works only in the model where raw transaction data is posted on some DA layer. This works very well in the context of a fast-finality data-optimized chain like Celestia. But this has two significant drawbacks on less rollup-optimized chains like BTC.
On a system like Bitcoin, a rollup would like to...
We can achieve all four of these goals by adding one extra config switch to the L1 which causes state diffs to be serialized into the final proof output in addition to the current checks for data inclusion and completeness on L1.
With this change, we'll be able to support all of the patterns that developers might want to use:
BTC Rollup with Centralized Sequencer
TL;DR
BTC Rollup with (robust) Decentralized Sequencer
TL;DR
BTC Rollup with Based Sequencing
TL;DR
Implementation Notes
This should be (roughly) a 10 line change to the SDK: