The latest version of XCM, XCM v3, will soon be deployed in the Polkadot ecosystem. Upgrading to XCM v3 will open the door to multi-hop and multi-network communication in the Polkadot ecosystem.
Kusama has initiated a referendum 118, and if passed, will upgrade to a new version, v9380, with XCM v3. The XCM v3 code has already been merged into the Polkadot codebase and is currently being audited.
XCM is the cross-consensus message format of Polkadot, a unified “language” used for communication between different consensus mechanisms. For example, two paralchains can use XCM for cross-chain interaction, allowing for the accurate, ordered, and instant transmission and interpretation of information.
XCM v3 introduces some key features and supplements to XCM, mainly including:
- Programmability: the ability to anticipate messages, allowing for more comprehensive use cases, secure distribution of version checks, branching, and NFT/asset support.
- Functional Multichain Decomposition: defining the mechanism for cross-references and representing the original chain to execute actions on other chains (remote locking), the context/ID of these messages, and the asset namespace.
- Bridging: introducing the concept of a universal location that allows for a basic reference for multi-hop consensus systems. This location is higher than the parent relaychain or other consensus systems, such as Ethereum or Bitcoin.
PolkaWorld recently interviewed Bryan Chen, CTO/Substrate code contributor of Acala, who will explain how XCM v3’s features can be applied from a developer’s perspective, and what new possibilities it will bring to the Polkadot ecosystem.
But we wanna share these questions here and love to hear your thoughts and insights too!
PolkaWorld: According to official information from Polkadot, XCM v3 will have stronger and faster cross-chain capabilities than previous versions. What improvements can XCM v3 achieve in specific cross-chain scenarios?
Bryan: XCM v3 adds support for Weight V2, making the execution of XCM messages more secure. In addition, V3 also adds many new features, such as XCM message routing, remote asset locking, remote governance, etc.
PolkaWorld: Is XCM v3’s bridging function limited to Polkadot and Kusama? How does this differ from Parity’s development of a “Polkadot-Kusama” bridge? What is the difference between a cross-chain bridge based on XCM v3 and a traditional cross-chain bridge?
Bryan: XCM adds message routing functionality for cross-chain bridges. This feature will be used on the “Polkadot-Kusama” bridge, allowing Polkadot parachains to interact with Kusama parachains through the cross-chain bridge. In addition, XCM can also be used to interact with Ethereum smart contracts through cross-chain bridges. XCM is a cross-chain interaction standard that can interact not only between parachains and relaychain through XCMP but also with other L1 through other cross-chain bridges.
PolkaWorld: According to official information, XCM v3 has decomposition functionality, which can decompose the relaychain’s functionality to different parachains. In the future, it is expected to decompose parts of the relaychain’s functionality, such as governance, slot auctions, and staking, into system parachains. What does this mean for parachains that are already lauched, such as Acala? Has Parity begun developing these system parachains? Will there be any changes for ordinary users using system parachains for governance, slot auctions, and staking?
Bryan: There is already a discussion about transferring treasury functions to Statemine/Statemint. XCM’s remote asset locking functionality is a prerequisite for this. When the functionality of the relaychain is transferred to the system parachains, the nodes of the relaychain can use all of their resources for block verification in the parachain, which can improve the TPS and block stability of the parachain. The remote locking and governance functionality of XCM v3 can also be used by Acala and other parachains, making it easier for DOT and LDOT on Acala to participate in Polkadot governance.
PolkaWorld: XCM v3 improves the programmability of XCM. Specifically, what is the use of this and who can benefit from it? Can you give an example?
Bryan: XCM v3 adds many error-handling instructions, which allows developers to better handle unexpected situations when writing XCM instructions. For example, it can implement the function of rolling back the funds to the original chain after part of a transaction fails. V3 also adds version checking functionality to ensure that the standard implemented by the other chain is correct, avoiding incorrect message execution caused by upgrades. There is also data query functionality, which allows you to query the data of other chains through XCM.
PolkaWorld: XCM v3 will support the transfer of NFTs. What is the significance of this feature?
Bryan: In addition to the common collector function, NFTs actually have many other use cases. For example, Uniswap V3 LP, which everyone is familiar with, is an NFT. Cross-chain NFTs can enable more different types of assets to be transferred across chains, increasing composability. For example, an LP NFT from a DEX chain can be transferred to an NFT trading chain and traded on the NFT market.
PolkaWorld: XCM’s continued growth is crucial to the success of Polkadot! As one of the parachains, how is Acala’s XCM cross-chain data doing now? What are some scenarios in which XCM is being used for cross-chain transactions?
Bryan: Acala has currently opened HRMP channels with 9 other parallel chains, receiving and sending over 80,000 XCM messages, which is the largest number among all parachains. Acala also supports Ethereum assets to be transferred to Acala through the Wormhole bridge and then transferred to other parachains through XCM, allowing other parachains to use Wormhole assets.
In addition to cross-chain asset trading, Acala has also used XCM to implement the LDOT liquidity staking protocol. Currently, over 2 million DOT are staked in the LDOT protocol. In the future, we will use remote governance functionality to enable LDOT and DOT on Acala to participate in Polkadot governance.
PolkaWorld: What are the differences between Polkadot’s XCM and Cosmos’ IBC?
Bryan: XCM is a message format, while IBC is a cross-chain protocol. In theory, XCM can be implemented on top of IBC. If we must compare, IBC can be compared to the “Polkadot-Kusama bridge”. Both technologies have very similar principles. However, the Cosmos ecosystem does not have a cross-chain interaction standard similar to XCM, and there is no standard solution for many problems encountered in cross-chain interaction, such as transaction fees.
PolkaWorld: Due to incompatibility with the current version of Karura, Kusama OpenGov recently canceled the upgrade of Kusama runtime to 9380, which includes the new XCMv3 logic. When is the expected release date of the compatible new version, and how long will it take for XCMv3 to go live on Kusama?
Bryan: The vote for the new version has already been initiated, and if it passes, it will be executed at block #17,119,600, which is just over a week away. However, for users, the new version will not have an immediate difference, and all new features will only be reflected after the parachain upgrade.