Authors: Thomas Lavaur
Revision History
| Version |
Changes |
Date |
| 1.0.0 |
Initial version. |
2026-03-31 |
Introduction
This document outlines the cross-channel messaging framework. A channel is a reserved identifier where only authorized keys can post messages on-chain, while anyone can read them. Cross-channel messaging allows different channels (including channels representing a Zone) to communicate and coordinate actions (such as Zone state transitions), enabling interoperability while maintaining security and decentralization.
Objectives
The primary objectives of this framework are to:
- Enable secure communication between different channels without compromising decentralization.
- Support both synchronous and asynchronous messaging patterns to accommodate different use cases and trust assumptions.
- Provide a standard message format while allowing flexibility for custom implementations.
- Provide atomicity guarantees for cross-channel operations when required.
Requirements
The cross-channel messaging framework must satisfy the following requirements:
- Synchronous operations must provide atomicity guarantees (all-or-nothing execution).
- Asynchronous operations must handle finality periods correctly.
- The framework should be flexible enough to support various channel implementations.
Overview
Cross-channel messaging allows different channels to interact and coordinate. The framework supports two distinct messaging modes.
- Asynchronous Messaging: Channels send messages to each other without requiring real-time and/or off-chain coordination. The receiving channel waits for the sending channel’s message to achieve finality on the chain before processing it. This approach minimizes coordination overhead but introduces latency due to finality requirements.