Sequencer Commitments
Last updated
Was this helpful?
Last updated
Was this helpful?
Sequencer commitments are envelopes on Bitcoin that are inscribed by the sequencer before proof generation. Such envelope contains:
Soft Confirmation Hashes: Merkle root built on top of the hashes of soft confirmations, representing a set of Citrea blocks.
Start - End Block Heights: It includes the range information of Citrea blocks (identified by their start and end heights) that were processed to reach the new state.
These commitments are inscribed directly on Bitcoin, creating an immutable record. Thus, unless Bitcoin is re-orged, the sequencer commitments will continue to be trustlessly accessible.
A sequencer commitment is generated by the sequencer and submitted to Bitcoin based on a number of soft confirmations and a state diff size threshold.
Sequencer commitments are used to keep track of the canonical history of the rollup's state, as they represent a commitment to a set of Citrea blocks derived from a Bitcoin block.
Once a commitment is inscribed (and finalized) on Bitcoin, the sequencer cannot re-order transactions within that batch without invalidating the commitment. This maintains the integrity of the batch, and therefore the rollup's state.
While it does not fully guarantee data availability, sequencer commitments prevent re-orgs on Citrea blocks once they are finalized. It allows full nodes to verify the sequencer's claims about the ordering of transactions.
Sequencer commitments are also used in the Batch Proof Circuits to make sure proofs are generated for the canonical batch used in sequencer commitments. You can read more about it .
Lastly, Light Client Proofs that are used in BitVM based bridge benefits from the sequencer commitments indirectly as well. In addition to Clementine whitepaper, you can read more about it .
Sequencer commitments can be queried by using the Citrea Batch Explorer, along with the . You can find the explorer .