Our 2023 Atomic IBC paper makes a business case for why atomic (aka synchronous) composability is the ultimate moat for a blockchain platform, then presents a concept for extending the current asynchronous IBC protocol to support a synchronous mode when possible.

We left the implementation and platform for this open, but suggest an initial direction: Megablocks.

The Megablocks concept is the idea of taking many separate Cosmos state machines and having them share blocks on one CometBFT consensus process. Each “megablock” would contain a block for every participating state machine. This provides atomic inclusion, and provides the basis to build the deeper integrations between state machines called for by Atomic IBC.

Megablocks Prototype

As part of our work towards Atomic IBC, we built a prototype of Megablocks, starting from something called the “ABCI multiplexer shim”. ABCI is a protocol used to communicate between the CometBFT consensus process and the Cosmos state machine using it.

Our ABCI multiplexer enables multiple state machines to use one consensus process. On each validator’s infrastructure, the “megablock” is split up into separate transactions and passed to several state machines for parallel execution. When this is finished, the resulting root hashes are combined, and Comet reaches consensus on this result.

Untitled

This architecture provides several things:

Here’s a screencast demonstrating the Megablocks proof of concept in action, running two state machines on one CometBFT instance:

https://drive.google.com/file/d/1rSo9NeqNgBmkbSLJlMtUF_xUAvGN87Am/view?usp=sharing

Thanks to Bernd Müller for the implementation and video demo! Here is a link to the repo.

Megablocks limitations and rollup architecture

Some of the biggest questions around Megablocks are about how one of these Cosmos state machines differs from a full Cosmos chain (running standalone or with ICS).

Benefits (vs full Cosmos chain):

Limitations:

In general, the limitations of Megablocks are the same as apply to rollups.

This has led to a question- if we are going to accept these limitations anyway, why not move to a full rollup architecture and benefit from provable state transitions and a modular architecture? In fact, Megablocks is very similar to a shared sequencer. Let’s look at some of the benefits of moving Atomic IBC to a rollup architecture.

Benefits of rollup architecture (vs Megablocks)