Skip to main content

· 4 min read

Rollkit blog cover

Last Sunday, we released the first research implementation that allows Rollkit rollups to use Bitcoin for data availability.

This announcement has sparked a lot of curiosity and excitement in the community. Many developers are starting to imagine what the future of sovereign rollups could look like on Bitcoin and other data availability layers. They’re looking for ways to innovate using this integration, to replicate it on other layer 1 blockchains, to identify challenges and to suggest improvements.

We believe that there’s a lot of innovation to be done and a lot of challenges to be solved, and that together as a community, we can collaborate on building the future of rollup frameworks.

That’s why we’re happy to announce that we’re launching a Rollkit’s community call: Let’s Roll.

TL;DR

  • Rollkit is launching its community call, Let’s Roll. You can subscribe to the community calendar here

  • The first meeting is scheduled on Zoom for March 21, 2023, 6pm CET(12pm EST, 9am PST).

  • Builders using Rollkit can now present their projects at Let’s Roll. Reach out to us on Telegram

Just merge it

Rollup development is rapidly evolving, with new types of rollups such as sovereign and pessimistic rollups emerging, and with new possibilities of using layer 1-blockchains as data availability layers. Rollkit is at the forefront of the rollup movement offering a modular framework for rollups as an open-source public good.

However, Rollkit's true potential lies in its community of developers and users who bring their unique perspectives, skills, and expertise to the table. When Rollkit integrates a new data availability layer, its community members are best suited to improve this integration and use it in ways that truly benefit the community. Therefore, we invite developers from different communities and skill sets to join us and contribute to Rollkit’s development.

By contributing to Rollkit, we reduce fragmentation, duplicated features and bugs, and we ensure the continuous improvement of Rollkit. By doing that we forge a stronger and bigger community.

One framework is bigger than the sum of all its forks. Together we can build something for all developers and builders to easily use.

Our promise, as core contributors, is to do our best to make “just merge it” a reality. We strive to empower developers to contribute to Rollkit and ensure that their contributions are integrated.

That's why we believe it's time to bring our community together to share knowledge, collaborate on new ideas, and inspire each other to push the limits of what's possible with Rollkit.

What is Let’s Roll?

Let's Roll is a dynamic community-focused meeting that brings together all Rollkit’s contributors to drive the innovation and development of Rollkit.

This meeting serves as a platform for sharing knowledge, discussing the latest updates, and exploring new ideas. Rollkit's contributors will demonstrate the most recent features and advancements, while community members will have the chance to ask questions, provide feedback, and collaborate on new projects.

Building open source means encouraging collaboration and teamwork among all developers. Sharing code and ideas will help us build a better framework more efficiently.

The meeting will be hosted on Zoom. Subscribe to the following Google calendar so that you can be notified of future community calls.

Conclusion

Let's Roll is an exciting opportunity for the Rollkit community to come together, share ideas, and collaborate on the future of this powerful framework. With demos of the latest developments, a discussion of the roadmap and vision, and a dedicated Q&A and feedback session, Let's Roll is an opportunity to stay informed and engaged with the project.

We invite everyone interested in Rollkit and rollup development to join us. Your feedback, ideas, and input are essential to the success of Rollkit, and we look forward to seeing what we can achieve together.

So, join us, roll with us, and let's shape the future of rollup frameworks together.

· 5 min read

rollkit-bitcoin

Last week, we introduced Rollkit, a modular framework for rollups. Today, we are proud to announce that Rollkit is the first rollup framework to support sovereign rollups on Bitcoin. An early research implementation allows Rollkit rollups to use Bitcoin for data availability.

Rollkit is opening the door for developers to create rollups with arbitrary execution environments that inherit Bitcoin’s data availability guarantees and re-org resistance. With the new integration it is now possible to run the EVM on Bitcoin as a Rollkit sovereign rollup. Sovereign rollups on Bitcoin not only expand the possibilities for rollups, but also have the potential to help bootstrap a healthy blockspace fee market on Bitcoin, enabling a more sustainable security budget.

Tl;dr

  • Sovereign rollups using Bitcoin for data availability are now a reality with Rollkit’s new early research integration.
  • Follow along with a demo of the EVM running on Bitcoin as a sovereign Rollkit rollup.
  • The implementation was possible due to Bitcoin's Taproot upgrade and Ordinals' usage of Bitcoin for publishing arbitrary data.

Posting data on Bitcoin with Taproot

On Feb. 1, 2023, the Luxor mining pool mined the largest Bitcoin block (#774628) ever, approximately 4 MB. Most of the blockspace was used to inscribe a Taproot Wizards NFT with Ordinals, a project that implements NFTs on Bitcoin by publishing the image data on-chain.

Bitcoin NFTs use Taproot witnesses to inscribe arbitrary data, enabled by Bitcoin's Taproot upgrade. Taproot witnesses provide a slightly better payload-to-data ratio than SegWit transactions. A standard transaction can include up to around 390kB of arbitrary data while still passing through the public mempool. A non-standard transaction, included by a miner directly without passing through the mempool, can include close to 4MB of arbitrary data. In short, with SegWit, it became viable to post big blobs of data to the Bitcoin blockchain.

Since then, the usage of Ordinals for NFT inscriptions and Taproot utilization has kicked off. Eric Wall found that at the time of his tweet, posting data on Bitcoin was 7x cheaper than Ethereum. Now that there are thousands of inscriptions on Bitcoin, it has become clear that sovereign rollups and an ecosystem of dapps on Bitcoin could become a reality. The missing piece: a rollup framework for easily integrating Bitcoin as a data availability layer.

Integrating Bitcoin as a data availability layer into Rollkit

Rollkit is a modular framework for rollups, where developers can plug-in custom execution layers and data availability layers. Initially, Rollkit only supported Celestia as an option for data availability and consensus. Now, Bitcoin is an option, thanks to an early research implementation of a Bitcoin data availability module for Rollkit. In this case, sovereign rollups manage their own execution and settlement while offloading consensus and data availability to Bitcoin.

rollkit-bitcoin-rollup

How Rollkit posts data to Bitcoin

To write and read data on Bitcoin, we make use of Taproot transactions. To facilitate this, we implemented a Go package called bitcoin-da that provides a reader/writer interface to Bitcoin. For details of how the interface works and how it uses Taproot, see the specs. The package can be re-used by any project that wants to read or write data on Bitcoin.

Rollkit was built with modularity at its core. It has a data availability interface so that developers can simply implement specific methods to add a new data availability layer. To add a data availability layer, implementers need to satisfy the DataAvailabilityLayerClient interface which defines the behavior of the data availability client, and the BlockRetriever interface which defines how blocks can be synced. These interfaces live in the da package. The most important methods in these interfaces are SubmitBlock and RetrieveBlock for reading and writing the blocks.

After implementing the Taproot reader/writer interface for Bitcoin (bitcoin-da), adding it as a data availability module for Rollkit took less than a day. We mostly only had to implement the SubmitBlock and RetrieveBlocks functions for Rollkit to call the Read and Write methods in bitcoin-da.

rollkit-bitcoin-rollup-2

EVM on Bitcoin demo

Rollkit supports custom execution layers, including EVM, CosmWasm, or the Cosmos SDK. To test the integration, we used Rollkit to run the EVM (using Ethermint) as a sovereign rollup on a local Bitcoin test network. See below for a demo.

Conclusion

As we move towards a future where sovereign communities will form around different applications, asking them to incur the high cost and overhead of deploying a layer 1 blockchain to be sovereign is not sustainable. Sovereign rollups fix this by making it possible to deploy a sovereign chain that inherits the data availability and consensus of another layer 1 chain such as Bitcoin.

Our goal with Rollkit is to make it easy to build and customize rollups. We invite you to play around Rollkit and build sovereign rollups on Bitcoin, or customize Rollkit with different execution environments and data availability layers. For details on how to run Rollkit with the Bitcoin data availability module, see the instructions here. Keep in mind that the integration is an early research implementation and it is not yet production-ready!

Modularism, not maximalism.

· 6 min read

The original version of this blog post can be found on the Celestia blog.

Rollkit blog cover

Today, we’re pleased to introduce Rollkit, previously known as Rollmint. Rollkit is a modular rollup framework that gives developers the freedom to deploy rollups throughout the modular stack, opening new possibilities for rapid experimentation and innovation.

Rollkit provides a modular node for running rollups on top of a data availability layer. It exposes an ABCI-compatible client interface that can be used as a replacement for Tendermint for any ABCI-compatible blockchain app, including Cosmos chains.

In development since 2021, Rollkit is now emerging as neutral and independent from the Celestia blockchain. Rollkit will serve as a community-led public good for the modular ecosystem going forward, with its own docs site at rollkit.dev.

Tl;dr:

  • You can now build with Rollkit on Celestia’s Mocha testnet. Check out the docs
  • You can customize rollups and plug-in arbitrary data availability and execution layers by leveraging Rollkit’s modular framework
  • Join our Rollkit developer calls that begin in April to help guide its development

Deploying a new chain is hard

Deploying your decentralized application as a smart contract on a shared blockchain means it will share computational resources and is restricted to that blockchain's execution environment. This limits your application's scalability and flexibility.

For that reason, many developers have turned to launching their own layer 1 chains using tools like Tendermint and the Cosmos SDK. However, deploying a new layer 1 chain presents its own set of complex challenges and trade-offs.

In order to deploy a new layer 1 chain, a developer must gather a set of validators to secure the chain, issue a token to compensate these validators, and continuously maintain the network infrastructure. This represents a huge cost in social coordination, time, capital and expertise. This cost prevents many developers from launching their own chains and innovation from progressing as quickly as it could.

Freedom to deploy

Rollups are the answer to this problem. Rollups provide similar advantages as a layer 1 blockchain but reduce the overhead of deploying and maintaining your own chain.

Rollkit comparison table

Rollups provide similar benefits to blockchain developers that cloud infrastructure provides for traditional web developers. Deploying a new layer 1 blockchain is like maintaining a physical server, slow and expensive. Rollups remove the need for blockchain developers to launch and maintain their own layer 1s to deploy their own chain.

With Rollkit, developers no longer have to worry about the complex challenges of deploying a new blockchain. Rollkit will do for rollup chains what Tendermint did for layer 1 chains. The way it works is that rollups leverage an underlying layer for consensus, so that developers don’t need to build their own consensus networks. Rollkit rollups inherit security from the data availability layer, eliminating the need for a full set of validators and reducing the technical barrier for developers.

Vision for Rollkit

In the spirit of modularity, Rollkit’s long-term vision is to give developers a variety of options to choose from so that they can easily plug-in, switch or replace features in Rollkit.

In a rapidly evolving industry like blockchain, time to market and the ability to rapidly experiment and innovate are critical. Rollkit’s customizable stack will enable developers to bring their products to market faster and with more flexibility.

Rollkit lego image

Execution environments

Rollkit will allow you to easily swap in different execution environments. Not fond of the Cosmos SDK? Try Rust with CosmWasm. Still like Solidity? Plug in the EVM. None of the options suit your needs? Modify or add your own execution environment without needing to rebuild your entire chain from scratch.

Sequencers

Rollkit will support multiple sequencing modes to suit your specific use case. A single sequencer might be all you need. If your application requires stronger liveness, you can opt for multiple sequencers using your own set or leverage a set of shared sequencers.

Proof schemes

Rollkit will support a multitude of proof schemes to ensure the execution of your rollup. Run your application in zk mode, optimistic mode with fraud proofs, or pessimistic mode without any proofs.

Rollup types

Rollkit will allow you to build a diverse range of rollups, including sovereign rollups, settlement rollups and settled rollups.

Rollkit is in an early stage of development and many features remain to be built to reach this vision. In its current state, Rollkit rollups are sovereign rollups with single sequencers, with support for a pessimistic mode and a work-in-progress optimistic mode. Integration tutorials are ready and available with Cosmos SDK, Ethermint, and CosmWasm.

We invite the community to collaborate with us to build new features. Each new team that joins the growing Rollkit community brings more firepower to ship new features that we all benefit from. This is the power of modularity in action.

Rollkit is neutral

Celestia Labs originally started developing Rollkit in 2021, when the modular ecosystem was nascent and general-purpose rollup software did not exist. We started building Rollkit out of necessity, because having general-purpose software for rollup chains was critical to the Celestia mission of making deploying a new chain as easy as deploying a smart contract.

Since 2021 several projects have also started building general-purpose execution layer rollup software for various use cases. This includes Eclipse (Solana VM rollups), Dymension (settled Cosmos rollups), Sovereign Labs (sovereign ZK rollups), and Optimism (EVM rollups).

To ensure Celestia remains a decentralized and credibly neutral data availability layer that treats all rollup software as first class citizens, we decided to spin out Rollkit from Celestia Labs into its own project with its own GitHub org and docs site.

This also means that Rollkit aims to be neutral to the underlying data availability layer. Rollkit is designed to allow developers to integrate other data availability layers besides Celestia via the data availability interface.

The Celestia Labs Execution Environments team is currently contributing to the initial and necessary components of Rollkit, and is calling for all developers to contribute to it.

Spinning out Rollkit will enable both Celestia and Rollkit to serve the entire modular ecosystem as public goods that are neutral and independent from each other, and not favor each other in the modular stack.

We believe that to create a positive-sum crypto ecosystem where modularism thrives over maximalism, it’s important that developers have access to neutral rollup frameworks that are treated as public goods. In order for crypto to move into mainstream adoption, the industry needs to work together to create foundational developer tooling that will help crypto to level up.

Next steps

Moving towards a community-led project means increased visibility, transparency and inclusivity. That’s why the Rollkit team will soon release a roadmap blog post to detail ongoing work and its purpose. The team will also hold regular public calls with community members to showcase recent developments, discuss the roadmap and gather feedback from developers building with Rollkit. Keep an eye out for a new announcement from Rollkit.

Learn more about how Rollkit works on the new Rollkit website (you're already on it!). And don’t forget to check out the Rollkit repo too.

Let’s build modular together.