Skip to main content

Introduction to General Message Passing (GMP)

General Message Passing (GMP) is a mechanism that enables communication and data transfer between blockchains. GMP is emerging as a solution to enhance interoperability between different blockchain networks. GMP allows app builders to tap into the power of any blockchain by using secure messages to communicate and exchange information between blockchains.

While the underlying idea of facilitating communication between blockchains remains the same, the specific implementation and technical details may vary across different projects. The important thing to remember is that GMP aims to enable interoperability and smooth information flow between blockchain networks, ultimately benefiting users by creating a more connected and versatile ecosystem.

What is General Message Passing?

General message passing refers to the communication mechanism where different entities exchange information or instructions by sending and receiving messages in a decentralized system or network. It works by creating a common language that all the blockchains can understand, so they can send messages back and forth. Think of it as a translator that enables smooth communication between different blockchains, making it easier for them to work together and exchange data securely.

General Message Passing (GMP) utilizes smart contracts to facilitate communication between different blockchains. Smart contracts are self-executing contracts with predefined rules encoded in them. In the context of GMP, smart contracts act as the intermediaries or ports that figure out where the cargo has to go, and GMP ferries the messages across chains. GMP like Axelar or Wormhole connects to both blockchains, and using a variety of methods, validates and authenticates the transaction before it reaches the destination chain.

Moonbeam's role in routed liquidity through General Message Passing (GMP).When a message needs to be sent from one blockchain to another, it is first encoded into a smart contract on the sending blockchain. This smart contract holds the message and any necessary instructions for the receiving blockchain. Once the message is encoded, it is transmitted to the target blockchain.

On the receiving blockchain, a corresponding smart contract interprets and executes the instructions within the message. It may perform actions based on the received message, update data, trigger events, or invoke other smart contracts within its own blockchain.

In essence, smart contracts serve as the communication protocol between blockchains, ensuring that messages are properly encoded, transmitted, and interpreted by the participating chains. They enable secure and reliable interoperability between different blockchain networks through a standardized method of message passing.

By leveraging GMP, developers can overcome the limitations of isolated blockchains and unlock the potential for cross-chain functionality, facilitating the movement of assets and information across the decentralized ecosystem.

What is General Message Passing Used For?

The power of GMP lies in its ability to break down the barriers that traditionally hinder interoperability between blockchain networks. It allows for the exchange of information and assets across disparate chains, unlocking new levels of connectivity and collaboration. At this point in time, many projects are using GMP, with potential for use cases that could allow crypto and web3 to rival the UX of web2.

Diagram illustrating the General Message Passing (GMP) mechanism for blockchain interoperabilityExamples of General Message Passing

  • Cross-Chain Asset Transfers: General Message Passing (GMP) allows users to transfer assets between different blockchain networks. For example, someone holding Bitcoin on the Bitcoin blockchain can use GMP to transfer it to the Ethereum blockchain or any other supported network.
  • Decentralized Exchanges (DEX): GMP enables interoperability between various decentralized exchanges. Users can trade assets across different blockchains without the need for centralized intermediaries or traditional exchanges.
  • Interoperable Applications: GMP allows developers to create applications that can integrate different blockchain features and functionalities into a single user interface.
  • Scalability Solutions: GMP can be utilized to improve scalability by offloading certain transactions or computations to other blockchain networks. This can help alleviate congestion and enhance the overall performance of a blockchain platform. Think of application chains, and parachains using the functionality of other parachains.
  • Cross-Chain Governance: GMP can facilitate cross-chain governance, enabling voting and decision-making processes that involve multiple blockchain networks. This allows stakeholders from different chains to participate in governance activities.
  • Cross-Chain Data Exchange: GMP can be leveraged to exchange data between different blockchains securely. This has potential applications in industries such as supply chain management, healthcare, and finance, where data integrity and transparency are crucial.
  • By enabling the smooth transfer of tokens, GMP fosters liquidity and accessibility across different chains, promoting a more interconnected and efficient ecosystem. It also facilitates the exchange of valuable data, enabling decentralized applications to leverage information from multiple sources and enhance their functionality.

Does Polkadot have General Message Passing?

Polkadot has an internal general messaging protocol called XCM. Parachains connected using XCM inside the Polkadot ecosystem can interoperate with one another, and can be accessed my remote (non-Polkadot chains) through Moonbeam using other general message passing protocols, such as Axelar or Wormhole. These external GMP protocols connect the Polkadot ecosystem to remote blockchains like Ethereum, Solana, and Avalanche through Moonbeam.

Flowchart showing how General Message Passing (GMP) facilitates cross-chain asset transfersWhile GMP itself is not exclusive to Polkadot, the connection between GMP and Polkadot lies in the use of XCM as the underlying mechanism for enabling interoperability within the Polkadot network and extending it to other blockchain networks.

Moonbeam’s connections with Axelar, Wormhole and other GMPs like Cosmos IBC allows developers to build cross-chain connected applications on Moonbeam that can tap into functionality from Polkadot, Ethereum, Avalanche, Cosmos, and beyond. Axelar is one of the projects that has implemented GMP as part of its protocol. It enables communication and message passing between various blockchains, creating a connection for them to interact with each other. Other blockchain networks may also have similar capabilities, but they might refer to them using different names. For example, Polkadot has a general message passing protocol called XCM, or cross consensus messaging.

GMP and XCM: Advancing Cross-Chain Messaging

GMP and XCM (Cross-Consensus Messaging) are closely related concepts in the context of blockchain interoperability, but they serve different purposes and work together to enable seamless communication between different chains.

GMP refers to the general methodology and framework for cross-chain communication and interoperability. It provides a set of principles and guidelines for exchanging messages and data between smart contracts on different blockchains, regardless of their underlying protocols or consensus mechanisms. GMP establishes the groundwork for enabling interoperability and connectivity across disparate blockchain networks.

On the other hand, XCM specifically refers to the protocol and technology used for cross-chain messaging within the Polkadot ecosystem. It is a standardized messaging format that allows different parachains and networks connected to the Polkadot network to communicate with each other. XCM defines how messages are sent and received, enabling the secure and efficient exchange of information, assets, and instructions between connected chains.

So, while GMP provides the broader framework for cross-chain communication and interoperability, XCM is the specific implementation of that framework within the Polkadot ecosystem.

GMP and XCM Work Together

In practice, GMP and XCM work together to facilitate seamless interoperability between chains. XCM serves as the messaging protocol that allows smart contracts on different parachains within the Polkadot network to communicate using a standardized format. It ensures that messages are properly encoded, routed, and processed between the interconnected chains.

GMP, on the other hand, extends the concept of cross-chain interoperability beyond the Polkadot ecosystem. It allows developers to apply similar principles and techniques to enable communication and interaction between smart contracts on different chains outside of Polkadot. GMP provides a broader framework for implementing cross-chain messaging and interoperability across various blockchain networks.

Moonbeam Applications of General Message Passing

GMP plays a crucial role in Moonbeam Routed Liquidity (MRL), which allows Moonbeam to act as the port parachain for liquidity originating from other chains and routing it to various Polkadot parachains. Through GMP, messages containing arbitrary data and tokens can be sent across blockchains outside of Polkadot using chain-agnostic GMP protocols. These GMP protocols can be combined with Polkadot’s XCM messaging system to enable effortless liquidity routing.

In the context of Moonbeam Routed Liquidity, the GMP precompile acts as an interface. It acts as a bridge between token-bearing messages from GMP protocols and the parachains connected to Moonbeam through XCMP (Cross-Chain Message Passing). Currently, the GMP Precompile specifically supports the relaying of liquidity through the Wormhole GMP protocol.

Axelar, a platform for cross-chain communication, mentions GMP in the context of cross-chain connected contracts. It allows for the seamless interaction of smart contracts across different chains, leveraging GMP and its capabilities.

Overall, GMP is an essential component that empowers cross-chain interoperability and enables the smooth flow of assets and data between different blockchain networks.

Elizabeth Browning, Distractive

Author Elizabeth Browning, Distractive

More posts by Elizabeth Browning, Distractive