pull down to refresh

For some time, the illimitable @supertestnet has been speaking about the dangers of posting arbitrary data to bitcoin's blocks.
One of enterprises most commonly associated with the spam debate in Bitcoin is Citrea:
Citrea brings modularity to Bitcoin by introducing an execution layer that leverages Bitcoin as both a data availability and settlement layer. At the core of Citrea’s innovation is Clementine, a BitVM-based bridge that connects Citrea with Bitcoin. This bridge optimistically proves zero-knowledge proofs on Bitcoin, making Citrea the most secure and trust-minimized platform to use Bitcoin.

Why does Citrea need to use Bitcoin as a data availability layer?

Super has asked this question on our behalf:
I asked their employees why they plan to post this data on bitcoin, and they said their unilateral exit scheme requires users to have access to the sidechain's block data. Specifically, if the sequencer creates an invalid block N, or refuses to process a withdrawal in block N, she can be challenged on bitcon's blockchain. But to do that, users need the ability to have, or reconstruct, block N. They can reconstruct block N if they have block N-1 and know the state differences created in block N, and to get block N-1, they can reconstruct it from the state differences created in block N-2, etc. This can go back to the sidechain's genesis block, if necessary. Thus users can always recover block N so long as every block's state differences are posted on Bitcoin. So that's (supposedly) the minimum amount of data the sequencer needs to post on bitcoin so her users can create a challenge, if necessary.

But does Citrea need to get quite so much data in Bitcoin blocks?

Super proposes a solution involving an indexed Merkle tree. Rather than describe it here, I'd encourage you to take a look at his paper. I'm can't really say whether it's a good idea, but what I like is the way Super poses his argument:
If, instead, you only post a hash of the data in the happy path, the sidechain's fees can be much lower; moreover, in the sad path, the extra data is paid for by the exiting user, just like in lightning.
Figure out ways to incentivize people to do the things you want them to do and they just might do it.