Table of Contents
In the last few posts (I, II) we looked at the existing interoperability landscape and the properties needed from scalable cross-chain communication networks. In this article we’ll introduce Axelar network, our protocol stack, and platform. For more details, please see the whitepaper.
Axelar network is a scalable cross-chain communication platform. Blockchain platform builders can use it to seamlessly plug-in their blockchains to all other blockchain ecosystems. Application developers can choose the best blockchain to host their applications and use Axelar’s cross-chain communication protocols to lock, unlock, and transfer assets, as well as communicate with applications on any other chain. By connecting dapps with multiple blockchain ecosystems, the Axelar platform empowers users to interact with all applications across the ecosystem directly from their wallets.
Axelar Stack
On a high level, the Axelar network is a permissionless system which anyone can join to participate in various roles. The network is designed specifically to handle cross-chain requests with high safety, robustness, liveness, and governance. At the start, the network will power two foundational decentralized protocols:
- Cross-Chain Gateway Protocol (CGP) is responsible for cross-chain routing and delivery across autonomous blockchains that may run based on different consensus protocols and finality rules, heterogeneous tech stacks, and even blockchains without smart contracts.
- Cross-chain Transfer Protocol (CTP) is an application level protocol that serves as the gateway, allowing applications to perform simple queries via a unified API (think FTP, HTTP/HTTPS) to facilitate cross-chain operations. Dapps can send CTP queries to special gateways hosted on various blockchains, and CGP is responsible for their cross-chain delivery to the correct destination blockchains, and returning the results to the sending applications.
Let’s take a closer look into each of the core protocols:
Cross-Chain Gateway Protocol (CGP)
This protocol is analogous to the Internet’s Border Gateway Protocol. While not widely known, this protocol is foundational in allowing us to route information across autonomous computer networks. Similarly, CGP is used to connect multiple autonomous blockchain ecosystems and is responsible for routing data across them. Importantly, CGP does not require blockchains to parse state of one another, nor does it impose any restrictions on the consensus rules or smart contract languages.
Platforms can easily join the CGP by setting up a regular gateway account on the platform. However, actions on such accounts can only be executed collectively by a decentralized set of node-runners supporting CGP. These node-runners are responsible for monitoring for packets coming into the CGP gateways, reaching an agreement on what should be done with each packet, and subsequently routing and delivering them to their destination gateways.
An important feature of this protocol is that it can finalize blocks of any chain via a 2nd-layer consensus executed by the protocol node-runners. This means that it can work with probabilistic chains just as easily as it works with chains that support instant finality.
Cross-Chain Transfer Protocol (CTP)
CTP is an application-level protocol. It is analogous to http/https/ftp-type protocols on the Internet. This application-level protocol sits on top of routing protocols, such as CGP and other routing technologies. Application developers can connect their dapps on any chain to perform cross-chain requests. Users can use CTP to interact with applications on any chain using simple API calls analogous to HTTP GET/POST requests. Developers can issue calls to:
- lock, unlock, and transfer assets between any two addresses across any blockchain platform,
- execute cross-chain application triggers. For instance, any dapp on chain A can update its state if some other application on chain B satisfies some search criteria (interest rate > X%),
- perform general cross-chain requests between dapps (for example a smart contract on chain A can call to update a state of a smart contract on chain B). This protocol enables the composability of programs across blockchain ecosystems.
The protocols follow principles of network interconnectivity that we outlined in the previous posts (I, II).
The Axelar platform is an ecosystem and a developer stack for cross-chain communication. Anyone can make a proposal to (1) plug-in a new blockchain into the Axelar network (and it will automatically interoperate with all previously connected chains), and (2) to add new application-level protocols to be supported by the Axelar network and its routing and delivery protocols. Community members can decide which proposals to adopt and developers can build them and deploy to all validators.
Designing a scalable cross-chain interoperability network is challenging, technically stimulating, and incredibly rewarding. Such a network can unlock new value for the ecosystem, increase asset mobility and liquidity, connect communities, and simplify user experience while using the applications across multiple platforms. Our team is not just focused on building the technology however; we are building an open and inclusive ecosystem for platform builders, developers, users, and community members.
In our next series of blog posts we will dive deeper into some of the technical aspects behind the network. To get a head start, read through the whitepaper here and let us know what you think on our social channels.
Join our community by subscribing to our social channels:
Developer Discord | Telegram Community | Telegram Announcements | Twitter
Introducing Axelar Network was originally published in Axelar on Medium, where people are continuing the conversation by highlighting and responding to this story.