Axelar released its General Message Passing capability to mainnet in April, one month after rolling it out in a local development environment at the Avalanche Summit hackathon. The need for it has never been more acute.
Over the past few years, as cryptocurrency, decentralized finance (DeFi) and blockchain technology have developed, the sheer number of relevant blockchains on the market has expanded, from only a handful in 2017 to dozens or hundreds in 2022, with more created every day. The explosion in platform choices for decentralized application (dApp) developers has added a new level of urgency to a problem that has existed for some time: siloed development due to the lack of interoperability between platforms. For all their similarities – whether in use, programming language or underlying technology – the ability to build applications that work across chains is still largely absent; at least until now.
Start building with Axelar using General Message Passing:
Example dApps: https://github.com/axelarnetwork/axelar-local-gmp-examples
General Message Passing, explained
General Message Passing is more than wrapping assets and transferring them between chains: it enables a developer building on one chain to call any function on any other connected chain. (We use the word “function” to encompass both smart contracts at the application layer and functions built at the protocol layer, as in Cosmos, for example.) That means complete composability, across Web3. Developers can choose the chain that is best for the use case, and build a complete experience for users that lets them interact with any asset, any application, on any chain, with one click.
Like all Axelar functions, General Message Passing relies on a permissionless validator set (delegated proof-of-stake) for security, and a decentralized protocol that handles routing and translation. Applications built using General Message Passing function across chains, securely: Axelar is based on the same proof-of-stake security model as many of the chains it connects. This allows developers, instead of bringing the asset to the program, to bring the program to the asset. In doing so, General Message Passing opens the door to a whole new world of composability in DeFi, gaming, NFTs and all types of applications on the decentralized web.
With General Message Passing, Axelar network is expanding the definition of secure cross-chain communication. To truly understand the significance of these developments to programmers, we first must look at some of the interoperability choices that are already available.
The user trades an asset from one blockchain for an asset from another blockchain, the centralized exchange holds both assets and works as a middleman. This makes it easy for users to move value to another chain, but requires tradeoffs in asset price exposure. Ultimately, transactions can be censored by the exchange.
Ecosystems such as Cosmos and Polkadot have facilitated the explosion in blockchain platforms by enabling the development of specialized, interoperable blockchains within their purview. While interoperability has thrived within these ecosystems, it has been slower to expand beyond their boundaries, as various challenges have prevented communication with diverse ecosystems.
As demand for interoperability has grown, pairwise multisigs have emerged. These two-way smart contracts include bridges. They store liquidity between two networks and take wrapped assets from the user on a source network, and issue the equivalent on a destination network. Pairwise multisigs have been victims of the largest attacks in DeFi; despite this track record, newly proposed solutions promoting a multichain vision have continued to rely upon this architecture.
How General Message Passing works:
An application developer implements the Axelar Executable interface in the destination contract.
The user initiates a call function (or a call function + tokens) from Source Chain.
The call enters the Axelar Gateway from Source Chain.
Axelar network confirms the call, subtracts the usage fee (in native Source Chain tokens), and prepares an outgoing transaction on the Destination Chain.
The call is approved and emerges from the Axelar Gateway on the Destination Chain.
From there, the call function executes as if it had been made on the Source Chain and results accordingly.
Gateway-to-gateway, this process takes roughly 120 seconds. You can read full instructions for developers in our technical documentation for developers. Discussion and answers to your questions can be found in the `#developers` channel in Axelar Discord.
Potential use cases of General Message Passing
With secure cross-chain communication across all ecosystems, developers can:
Create platforms that host NFTs from multiple chains, enabling users from one chain to buy NFTs minted on another chain without having to move assets from one chain to another.
Allow NFT holders to collateralize their NFTs, using them in borrow-lend apps on any chain.
Index derivatives from one chain to another using dApps.
Allow users to pool liquidity in multiple assets, on multiple chains, via a single aggregator on a single chain.
Already, 18 teams are building applications using General Message Passing and other Axelar functions, as part of Axelar’s cross-chain grant program. As General Message Passing functionality takes hold, the “Super App” that changes the Web3 paradigm might not be far behind.
🏗 To find out more about General Message Passing and start building on Axelar