Blog Stakely
13 Septembre 2022

XCM : Format de messagerie à consensus croisé sur Polkadot

13 Septembre 2022

Le Cross-Consensus Message Format, abrégé XCM, est un système ou format de messagerie, et non un protocole, activé dans Polkadot qui définit comment l'échange de messages entre deux blockchains interopérables doit être effectué. Veuillez noter que ce langage n'a pas vocation à être réservé à Polkadot, mais à être étendu à différents systèmes de consensus, ou en d'autres termes, à d'autres blockchains en dehors de l'écosystème.

De la même manière que le système IBC existe dans l'écosystème Cosmos, le format XCM permet aux parachains de Polkadot de communiquer entre elles poussant l'interopérabilité entre différentes blockchains.

En somme, Polkadot permet à d'autres blockchains de se connecter et d'échanger des données et de la valeur entre elles. Cette opération est possible grâce au XCMP (Cross-Chain Message Passing), qui est l'un des canaux de communication XCM. L'interopérabilité native, qui est l'une de ses normes, est ainsi garantie.

Types de canaux de communication dans Polkadot

Polkadot dispose actuellement de trois moyens différents pour échanger des messages entre ses parachains : UMP, DMP, et XCMP, sans compter les passerelles et les pallets de contrat. Voyons en quoi consiste chacun d'entre eux :

  • UMP ou Upward Message Passing : permet aux parachains d'envoyer des messages à la chaîne de relais.
  • DMP ou Downward Message Passing : permet à la chaîne de relais d'envoyer des messages à n'importe laquelle de ses parachains.
  • XCMP ou Cross-Chain Message Passing : permet la communication entre les différentes parachains.

Différences entre XCM et XCMP

Les sigles XCMP et XCM sont similaires. Ici, nous devons faire une distinction pour éviter toute confusion. XCM est un format de messagerie, et non un protocole de cross-chain de Polkadot. En d'autres termes, il fournit des instructions sur la manière dont le message doit être compris, mais il ne peut pas transférer le message lui-même. Les messages XCM peuvent non seulement être utilisés pour des protocoles cross-chain tels que XCMP, mais ils peuvent également être transférés entre différents protocoles de consensus.

Comment fonctionne XCMP ?

Prenons un exemple pour comprendre comment fonctionne XCMP. Supposons que le smart contract sur la parachain A veuille envoyer un message à la parachain B. Ce message sera ensuite envoyé à la parachain B par un autre smart contract qui transfère certains actifs. Avec sa destination et son horodatage, le collator placera ce message dans la file d'attente de sortie de la parachain A.

Lorsque la parachain B demande un nouveau message au réseau, le collator trouve ce message et le place dans sa file d'attente d'entrée. Afin de vérifier que ce passage de message a bien eu lieu, les validateurs des parachains A et B liront également les files d'attente de sortie et d'entrée. Afin de terminer le transfert d'actifs, le nouveau message de la file d'attente d'entrée sera traité par le collator de la parachain B lorsqu'il produira le bloc suivant sur la parachain B. Lorsque le collator soumet le bloc au validateur, ce dernier vérifie que le message a été traité et que tous les autres aspects sont corrects. Ensuite, il inclut le bloc dans la relay chain.

Pour initier des files d'attente XCMP, deux parachains doivent d'abord ouvrir un canal, à l'instar des canaux IBC de Cosmos. Il s'agit d'un canal à sens unique, puisqu'il est identifié à la fois par les parachains d'envoi et de réception. Une paire de parachains peut avoir un maximum de deux canaux entre elles, l'un pour envoyer des messages et l'autre pour en recevoir. Le canal nécessitera un dépôt en DOT pour être ouvert, qui sera retourné lorsque le canal sera fermé.

Exécution du format XCM

De la même manière que les smart contracts dans Ethereum sont exécutés via EVM, dans ce cas, XCM est exécuté via XCVM (Cross-Consensus Virtual Machine) et permet d'interpréter les messages dans chacun des canaux de communication susmentionnés. XCVM est un ordinateur ultra-rapide non Turing-complet et ses instructions sont conçues pour être approximativement au même niveau que les transactions. XCVM comprend un certain nombre de registres, ainsi qu'un accès à l'état général du système de consensus qui l'héberge.

En définitive, un message dans XCM est un programme qui s'exécute dans XCVM. Polkadot cherche ainsi à établir une machine virtuelle capable d'exécuter un large éventail d'instructions qui lui confèrent une grande flexibilité dans l'exécution de différentes opérations.

Objectifs de XCM

Le format de messagerie XCM n'en est qu'à ses débuts et compte quelques applications dans le système Polkadot, comme XCMP. Cependant, son développement doit être en constante évolution si l'on veut qu'il s'impose comme un format de communication de pointe. À cette fin, le XCM doit être :

  • un langage général qui permet l'intercommunication dans un écosystème en constante évolution ;

  • un langage extensible applicable aux situations qui impliquent un changement de direction, car l'écosystème blockchain change et évolue ;

  • un langage efficace qui peut fonctionner sur la chaîne et dans des environnements contrôlés.

XCM vs. Bridges

Ces dernières années, nous avons vu émerger différentes bridges ou passerelles dans le but d'envoyer des données et des tokens cross-chain d'une blockchain à l'autre. Bien que la plupart d'entre elles aient atteint leur objectif, certaines ont été touchées par des attaques, comme c'est le cas de Wormhole et de Meter.io.

Nous pouvons dire que les passerelles sont les premières tentatives d'interopérabilité entre blockchains, mais elles présentent encore certaines limites. Vitalik Buterin, cofondateur d'Ethereum, exhorte les développeurs à créer des systèmes multichain qui permettent d'échanger des actifs entre blockchains au niveau de la même couche, plutôt que de recourir à des solutions cross-chain telles que les bridges.

Polkadot a pris l'initiative de concevoir le format de messagerie XCM, un système multichain natif capable de transmettre des données et de la valeur entre blockchains à partir de la même couche, garantissant un environnement d'échange sécurisé et opérationnel dès aujourd'hui.

Quel avenir pour XCM ?

XCM a été initialement développé pour partager des données et des actifs entre les différentes parachains qui sont connectées à la relay chain Polkadot, cependant, ses plans vont au-delà, car il permet la communication entre les smart contracts et les modules d'exécution de Substrate, également connus sous le nom de pallets. Les développeurs de XCM envisagent en outre la possibilité de rendre le langage compatible avec d'autres blockchains en dehors de l'écosystème Polkadot, afin de garantir une communication fluide des données qui bénéficie de la sécurité offerte par sa chaîne de relais.

Cet article vous a plu ?

Partagez-le avec vos amis !

Auteur·rice

Van

Résumé

Types de canaux de communication dans Polkadot
Différences entre XCM et XCMP
Comment fonctionne XCMP ?
Objectifs de XCM
XCM vs. Bridges
Quel avenir pour XCM ?

Meilleurs articles

Inscrivez-vous pour recevoir du contenu exclusif

Abonnez-vous pour recevoir les dernières nouvelles et annonces de Stakely. Découvrez avant tout le monde les nouvelles fonctionnalités, les nouveaux réseaux avec lesquels nous travaillons et bénéficiez des meilleurs conseils pour optimiser votre staking

© Stakely 2024 | Stakely, S.L. | NIF B72551682

C/Ferraz 2, 2º Izq, 28008, Madrid, Espagne