Interoperating between chains

Interoperating between chains

Madara aims for a future with thousands of app chains each solving a unique problem. However, one of the major concerns of this roadmap is the fragmentation of apps. Unlike multiple smart contracts on the same chain which can directly call into each other, there's no direct way for multiple apps to synchronously communicate together, yet. Even asynchronous communication today is slow with different trust assumptions depending on the solution.

While we are confident about solving the interoperability problem between app chains and have some solutions we are discussing, we haven't yet finalized any one solution. Two specific solutions that we have been discussing include

  1. Shared sequencing: A common set of decentralized nodes that order transactions and create blocks for multiple Madara chains. One of the core maintainers of Madara has written in detail about it here (opens in a new tab).
  2. Proof aggregation: This involves aggregating proofs across multiple chains and posting the aggregated proofs on the base layer. We don't have a write-up on this just yet and are still discussing it.

If you've any views on the above ideas, have new ideas, or want to help in the discussion and possible implementation of interoperability solutions, please feel free to jump on the Madara telegram (opens in a new tab) or start a new Github discussion (opens in a new tab).