Rollkit Sovereign Rollup on Bitcoin Announcement Twitter Thread
*** So, this seems really huge. I was under the impression that this wasn't possible on Bitcoin without softforks. It seems someone realized it was possible because of inscriptions (meaning putting dickbutt jpegs on the blockchain WASN'T the killer app?)
anyway here is the full Twitter Thread (minus pics, but all links included) announcement for people staying off Twitter. If you just wanna see the Twitter Thread, go here:
https://twitter.com/RollkitDev/status/1632438374513676288.
***
You can now run a sovereign rollup on Bitcoin.
Announcing the first research integration of Bitcoin as a data availability layer for sovereign rollups.
https://rollkit.dev/blog/sovereign-rollups-on-bitcoin/
Rollkit is a modular framework for rollups that provides interfaces for plugging in different components, like data availability layers.
The newest addition is an early research implementation of a module that allows a Rollkit rollup to use Bitcoin for data availability.
Our demo features a Rollkit EVM sovereign rollup running on top of a local Bitcoin testnet. Check it out below and follow along if you’re interested in experimenting with your own Bitcoin sovereign rollup!
( https://youtu.be/qBKFEctzgT0 Rollkit: Ethermint + Bitcoin DA Demo YouTube video)
This new integration expands the possibilities for rollups, and also has the potential to help bootstrap a healthy blockspace fee market on Bitcoin, enabling a more sustainable security budget.
How did we do it? 💡
Ordinals showed us it was possible to publish arbitrary data to Bitcoin. We saw this and decided to follow a similar process.
At its core, all that was needed was two functions: one to submit rollup blocks, and another to retrieve them.
To write and read data on Bitcoin, we use Taproot transactions.
The new `bitcoin-da`package provides the necessary reader/writer interface to Bitcoin.
The package can be re-used by any project that wants to read/write data on Bitcoin
https://github.com/rollkit/bitcoin-da
Next, we made the ‘bitcoin-da’ package satisfy our `DataAvailabilityLayerClient` interface, which defines the client behavior and how block syncing works.
Finally, we implemented the `SubmitBlock` and `RetrieveBlocks` functions for Rollkit to read and write data to Bitcoin.
For a more detailed look at the integration, read the blog post and follow along with the corresponding tutorial. 📑
Blog: https://Rollkit.dev/blog/sovereign-rollups-on-bitcoin/
Tutorial: 👇
https://rollkit.dev/docs/tutorials/bitcoin/
To learn more about the theory of using Bitcoin as a data availability layer for sovereign rollups, check out this thread by @lightcoin ( https://twitter.com/lightcoin/status/1630301399358533633 ) or this blog post by @CelestiaOrg ( https://blog.celestia.org/sovereign-rollup-chains/ ).