Interopérabilité dans la blockchain

La démocratisation de l’intelligence artificielle, avec l’arrivée de ChatGPT 3.5 il y a quelques mois, a clairement supplanté la blockchain de son rôle de leader de l’innovation dans les nouvelles technologies. Néanmoins, il serait exagéré de considérer l’innovation dans la blockchain comme complètement disparue sous le manteau neigeux du “crypto winter”. Nombre d’équipes travaillent d’arrache pied pour répondre aux enjeux et défis de demain. D’ailleurs, derrière le terme d’interopérabilité se cache un de ces défis.

Pour illustrer l’importance que représente l’interopérabilité pour l’émergence de la blockchain, prenons l’exemple du web. Si la toile a permis des innovations devenues aussi courantes que le navigateur sur lequel vous lisez cet article, ce n’est que depuis 1993 et l’ouverture de l’invention de trois scientifiques du CERN au grand public que le potentiel innovant du World Wide Web a pu s’exprimer. En un sens, il en est de même pour la blockchain aujourd’hui. Bitcoin représente certes une alternative démocratique aux banques centrales mondiales et à l’hégémonie, toute relative, du dollar américain. Toutefois, l’océan des possibles n’en est qu’à son état primitif et les quelques cas d’usage sur lesquels l’écosystème travaille aujourd’hui ressemble davantage à une flaque d’innovation qu’à un red ocean.

Nous assistons donc à la construction d’une cathédrale et l’interopérabilité est une clé de voûte essentielle dans l’avancée des travaux. Mais quel est le lien avec l’image du web évoquée plus tôt, ou plutôt, que signifie ce terme exactement ? Quelles sont les solutions actuelles et pour répondre à quels cas d’usages ? D’ailleurs, quels sont les défis auxquels font face ces solutions ? Et quelles sont les perspectives d’évolution de ce concept ? Je vous propose de répondre à toutes ces questions dans cet article qui, je l’espère, saura vous intéresser, sinon vous convaincre.

Définitions

Si vous avez lu mon article sur les oracles dans l’écosystème d’Ethereum, vous savez que je mets un point d’honneur à définir les termes que nous évoquons avant tout développement. Ainsi, je vais me permettre dans ce post de traduire Ledger et sa définition que je juge tout à fait pertinente. L’interopérabilité dans la blockchain fait référence à la capacité de consulter ou partager l’information entre différents réseaux de blockchains. Cela leur permet de communiquer, partager de la donnée et s’appuyer sur les fonctionnalités et cas d’usages de chacun pour construire et faire avancer leur propre solution. C'est ainsi que Ledger définit, à mon sens très justement, l’interopérabilité dans la blockchain. Je vous propose, pour approfondir cette définition, de consulter soit leur page dédiée, de laquelle j’ai extrait cette définition, soit la page dédiée du hub éducatif de Chainlink dont j’ai parlé dans mon article sur les oracles. Finalement, l’interopérabilité n’est autre que le liant qui permet à une blockchain de profiter de l’innovation d’une autre pour compenser une faiblesse ou répondre à un cas d’usage qu’elle n’adresse pas par nature.

A présent, vous comprenez probablement la comparaison avec le web. La technologie innovante que représente la blockchain a besoin que ses principaux acteurs s’ouvrent les uns aux autres pour développer des cas d’usage plus pertinents que ceux que nous connaissons aujourd’hui. Pour le présenter plus concrètement, voici un court exemple. Un quidam dont l’identité sera décentralisée sur un portefeuille basé sur la technologie offerte par la blockchain Ethereum doit pouvoir faire une transaction avec une banque sur le réseau Bitcoin sans passer par des solutions complexes. Pour cela, il est nécessaire que les réseaux d’Ethereum et de Bitcoin parlent le même langage, ce qui n’est pas le cas aujourd’hui. Il en est de même concernant les blockchains de Tezos, Stellar ou Solana par exemple. C’est donc la raison pour laquelle des projets existent pour faciliter la communication entre ces protocoles blockchain hermétiques. C’est cela qu’on appelle l’interopérabilité. Quels sont ces projets ? Quelles solutions proposent-ils ? Et pour quels cas d’usage ? C’est ce que nous allons voir maintenant.

Les solutions actuelles

L’écosystème de la blockchain est encore suffisamment jeune pour voir émerger pléthore de concurrence pour répondre à un même besoin. Néanmoins, il ne semble exister qu’un duel de solutions pour tenter de résoudre la problématique de l’interopérabilité dans la blockchain. Deux noms émergent en effet, tant par leur tokenomics que par leur utilisation réelle; tant par leur pertinence que par la légitimité des figures qui les incarnent. Je vais exposer ces deux solutions, du moins ce que j’en ai tiré, ainsi que les cas d'usages qu'elles adressent. Du reste, je vous épargnerai toute information wikipédiesque pour me concentrer sur la réponse au problème de l’interopérabilité et ainsi fluidifier la lecture. Ensuite, suivant cette partie sur les solutions actuelles et dans un souci de relative exhaustivité, je ferai mention de solutions au moins partielles au problème de l’interopérabilité.

Polkadot et Cosmos

Ce sont, aujourd’hui, les deux projets qui dominent la problématique de l’interopérabilité. Ceci étant, il est important de noter que cet article n’a pas vocation à faire une simple comparaison entre les deux comme cet article LinkedIn intitulé The Interoperability War, dont je me suis d’ailleurs servi pour la rédaction de ce contenu.

En fait, ces deux projets s’imposent par une approche que je qualifierai de similaire, mais pas identique. Ainsi, Polkadot, projet initié par Gavin Wood, cofondateur d’Ethereum, comme Cosmos, proposent tous deux l’idée d’une blockchain “socle” sur laquelle s’appuient d’autres blockchains. C’est ce mécanisme qui les rend interopérables. Leur fonctionnement diffère toutefois au-delà de cette notion de “socle”. Alors d’où vient cette différence ? Voyons cela un peu plus en détail.

Polkadot, livrable en point relais

La blockchain “socle” du projet Polkadot se nomme la relay chain. On retrouve les mêmes mécanismes que d’autres blockchain (e.g. Ethereum, Bitcoin, Cosmos, …), notamment un consensus (le Proof of Stake, ou PoS comme Ethereum), un jeton propre (le DOT) et la sécurité souvent inhérente à cette nouvelle technologie. La relay chain est responsable de la sécurité de tout le réseau ainsi que de la connexion aux para chains. Ces dernières sont des blockchains indépendantes et interopérables avec la blockchain “socle” de Polkadot. Pour qu’une para chain se connecte à la relay chain, un système d’enchères communautaires est implémenté où des investisseurs prêtent des DOTs à la para chain concernée et se voient récompensés si celle-ci gagne l’enchère.

Schéma de fonctionnement d'une enchère sur Polkadot par Start in Blockchain
Fonctionnement d’une enchère sur Polkadot. Source: Start in Blockchain

Ce système de para chain ne concerne cependant que des blockchains construites pour fonctionner sur Polkadot. Bien qu’elles soient des blockchain souveraines (ici appelées “layer 1”), elles ne sont finalement que des sous-réseaux de la relay chain (ici appelée “layer 0” ici mais malgré tout un “layer 1”, comme Ethereum, à l’échelle du reste de l’écosystème). Les para chains, bien qu’apportant la scalabilité au réseau de Polkadot, dépendent de la relay chain pour la sécurité et l’emplacement. Enfin, si des stakers de DOT sont responsables de maintenir la relay chain, notez que les para chains sont entretenues par des collators qui se rémunèrent avec le token de la blockchain concernée (e.g. Moonbeam). Alors qu’en est-il de l’interopérabilité avec des blockchains qui ne sont pas construites comme des para chains comme c’est le cas pour Bitcoin ou Ethereum, entre autres ? Et bien, pour ça, il y a les bridges.

Polkadot se voulant être une solution interopérable globale, elle se doit de proposer une solution cohérente et bien documentée. Les bridges (“ponts” en français) existent sous 3 modèles :

  • les bridge pallets, pour les blockchains construites avec le framework Substrate (comme Polkadot ou Kusama par exemple);
  • les smart contracts, pour les blockchains qui implémentent cette technologie (comme Ethereum) grâce au Cross-Consensus Messaging protocol (XCM) implémenté par Polkadot;
  • les higher-order protocols enfin, pour les blockchains n’implémentant ni le framework Substrate ni de mécanisme de smart contracts (comme Bitcoin) grâce à XClaim, un framework complexe dédié à l’interopérabilité.

Si les bridges permettent une meilleure scalabilité, une extension des cas d’usage et surtout l’interopérabilité, ils accroissent la complexité de l’expérience utilisateur en ajoutant encore une étape à chaque transaction, ce qui implique également une augmentation du risque inévitable. Y a-t-il un moyen de pallier ces défauts persistants sans pour autant sacrifier des bénéfices acquis ? C’est ce que nous allons voir à présent avec le réseau Cosmos.

Cosmos, l'internet des blockchains

C’est du moins ainsi que se définit le projet Cosmos. Tout part l’implémentation de Tendermint par Jae Kwon en 2014 mêlant Proof of Stake (PoS) et résolution du problème dit des “généraux byzantins” (Byzantine Fault Tolerance ou BFT). Je ne rentrerai pas davantage dans le détail de ces deux concepts, secondaires pour cet article. Notez toutefois qu’un outil blockchain dit BFT le sécurise face à des nœuds défaillants ou malveillants.

La tolérance aux ‘pannes byzantines’ | Binance Academy
Un nom original pour un concept informatique à la base du bon fonctionnement de la technologie blockchain. Explication de la métaphore.
Proof-of-Stake (PoS) : découvrez la preuve d’enjeu
Découvrez le Proof-of-Stake (PoS) ou preuve d’enjeu, le mécanisme de consensus écologique et efficace pour les blockchains.

Tendermint est un algorithme de consensus qui s’est avéré efficace pour l’implémentation de blockchains. C’est donc dans une suite logique que Jae Kwon, associé à Ethan Buchman, ont créé la Interchain Foundation pour structurer la création du réseau Cosmos. Ils ont d’abord implémenté Cosmos SDK, un kit de développement plus rapide et plus simple à destination des développeurs. Le besoin de communication entre les blockchains implémentées avec le Cosmos SDK a vu apparaître le protocole de communication inter-blockchain (Inter-Blockchain Communication protocol ou IBC). Pourtant, il manquait encore la pièce centrale du réseau Cosmos, ce que j’ai appelé la blockchain “socle” commune à Polkadot et permettant aux blockchains extérieures de faire transiter leurs communications, un hub en somme : le Cosmos Hub.

Illustration du fonctionnement de Cosmos comme internet des blockchains par Julian Koh
Vue globale du réseau de Cosmos. Source : Julian Koh sur Medium

En outre, et au risque de vous décevoir, ce n’est plus sur Tendermint que le développement se fait aujourd’hui mais sur son successeur : CometBFT. Entre une meilleure modularité, une sécurité renforcée et une vision d’avenir plus claire pour les développeurs, les raisons de ce changement se multiplient. Si vous souhaitez aller plus loin, je vous invite chaudement à lire cet article Medium de l’annonce de CometBFT.

Ainsi, et vous l’aurez compris, à l’instar de Polkadot, Cosmos a une blockchain layer 0 permettant à chaque blockchain composant son réseau (layer 1 donc) d'interagir grâce à un protocole commun : l’IBC. L’ATOM, à l’instar du DOT, est le token natif permettant fonctionnement et maintien par des stakers sur le layer 0. Ceci étant dit, posons nous la même question que pour Polkadot : qu’en est-il des blockchain qui ne sont pas construites avec Tendermint (ou son petit frère, CometBFT) comme Ethereum et Bitcoin ? Si Polkadot répond avec des ponts, Cosmos le fait avec des cuillères dures.

What ? Je l’admets, la traduction littérale ne met pas à l’honneur la langue des Lumières. Aussi, vous me pardonnerez de rester outre-Manche (ou outre-Atlantique, choisissez votre camp/accent) pour ce terme : nous parlerons de hard-spooning. La définition que je vous propose est d’ailleurs une traduction personnelle du fondateur de Cosmos. Un hard-spoon est une nouvelle blockchain prenant en compte l’état d’une blockchain existante; pas pour la concurrencer mais pour en fournir un accès extérieur. Ce terme s’oppose au hard-forking qui, en développement informatique, consiste à scinder un projet en deux nouvelles versions suivant des directions différentes. Ici, au contraire d’une scission, c’est une réplication qui est mise en place. Un hard-spoon sur Cosmos est donc une réplication de l’état d’une blockchain comme Ethereum ou Bitcoin. C’est donc la réponse de Cosmos à l’interopérabilité entre les blockchains; l’une des deux seules réponses existantes ?

Les solutions partielles

Comme je vous l’exprimais en introduction de la partie précédente, dans un souci d’exhaustivité, il est désormais temps de vous présenter quelques solutions alternatives, souvent plus légères mais inévitablement moins complètes au problème de l’interopérabilité.

Le retour des oracles ?

Avant d’aller plus loin sur l’interopérabilité permise par les oracles, je vous invite à lire, si toutefois vous ne l’auriez pas déjà fait, mon article sur les oracles dans le domaine de la blockchain, et tout particulièrement autour d’Ethereum.

Oracles, les yeux d’Ethereum
Les oracles sont les yeux d’Ethereum. Vous voulez y voir plus clair ? Venez à la rencontre du big data et de la blockchain.

Bien, voyons à présent en quoi cette technologie d’oracles peut être, au moins partiellement considérée comme une solution d’interopérabilité. Pour cela, prenons un peu de recul. Imaginons que le besoin d’interopérabilité se résume à transférer de la data entre deux blockchains différentes (e.g. connaître la quantité de XTZ de la blockchain Tezos depuis un portefeuille d’une blockchain différente). Si on souhaite utiliser une blockchain comme Polkadot ou Cosmos, nous pouvons mais cela implique d’avoir respectivement soit un bridge soit une zone permettant l’interaction. Dans un tel cas d’usage, peu demandeur en besoin de sécurité (on ne réclame finalement qu’une information publique), un oracle suffirait et résumerait donc l’opération à l’exécution d’un smart contract qui irait chercher la donnée dans “le monde extérieur” de la blockchain sur laquelle nous nous trouvons.

Schéma du fonctionnement d'un échange cross-chain avec l'oracle Chainlink et son protocole CCIP
Exemple d’un échange cross-chain avec l’oracle de Chainlink et CCIP. Source : Chainlink Education

En revanche, et par exemple, il convient de noter qu’il est aujourd’hui beaucoup plus complexe, voire impossible, d’échanger un NFT entre deux blockchains grâce à un oracle. Les oracles offrent, malgré tout, une opportunité intéressante par le nombre de blockchains avec lesquelles ils se rendent compatibles, le but de leur existence étant de faire transiter l’information extérieure jusqu’à ces mêmes blockchains. En définitive, ils sont, comme je vous le disais en introduction de cette partie, une solution partielle. Constituent-ils la seule alternative envisageable à Polkadot et Cosmos ? La réponse est non, il reste une dernière solution à mentionner, bien qu’on réduise encore davantage le champ des possibles en terme d’interopérabilité.

L’interopérabilité native

J’ai précédemment mentionné la fine différence idéologique entre une blockchain de layer 0 et une blockchain de layer 1. En règle générale, on considère toute blockchain souveraine de son architecture comme étant de layer 1. C’est donc le cas de Bitcoin, Ethereum, Tezos, Ripple, Polkadot, Cosmos, et bien d’autres. Chacune tente de résoudre au mieux ce que Vitalik Buterin, cofondateur d’Ethereum, appelle le trilemme impossible des blockchains : sécurité, décentralisation et scalabilité. Pour ce dernier point, la scalabilité donc, des “sous-couches” aux layer 1 émergent de plus en plus comme solutions idéales : les layer 2. Si vous trouviez longue la liste de blockchain dites souveraines ci-dessus, je vous épargne celle de leurs layer 2 respectives. On peut tout de même noter le Lightning Network basé sur Bitcoin et Polygon basé sur Ethereum, bien que ce dernier soit de moins en moins considéré comme tel. D’autres ont vu le jour plus récemment sur la blockchain de Vitalik Buterin comme Optimism et Arbitrum.

Bref, l’heure est plutôt aux réponses qu’aux énumérations. En quoi ces layer 2 constituent-elles une solution d’interopérabilité ? En fait, elles ne le sont pas… sauf dans leur propre écosystème. Je vais m’expliquer. Pour ce faire, prenons l’exemple le plus simple pour illustrer cette idée : la blockchain Ethereum.

Ethereum implémente, à l’instar d’Internet et ses RFC (Requests For Comments) des standards documentés appelés ERC (Ethereum Requests for Comments) qui définissent absolument tout ce dont la blockchain a besoin pour fonctionner convenablement. De nouvelles ERC sont d’ailleurs ajoutées régulièrement en étant votées par les stakers d’ETH, comme le font Cosmos et Polkadot pour leurs propres fonctionnements. Si tous sont importants, certains ERC sont particulièrement notables comme l’ERC-20 qui constitue le token standard de la blockchain Ethereum.

Chaque token ERC-20 renferme des propriétés standards.
Chaque token ERC-20 renferme des propriétés standards. Source Pexels.

En tenant compte de ces divers standards, dont certains ne sont pas énumérés ici, et de l'existence de layers 2 sur la blockchain Ethereum, on peut affirmer qu'il existe une certaine interopérabilité native entre les blockchains de différentes couches. Vous en conviendrez, même si transférer un NFT est ici possible sans grande complexité, nous parlons d’une interopérabilité toute relative.

C’est donc ainsi que se termine la présentation des différentes solutions d’interopérabilité que je souhaitais présenter dans cet article. Mais nous n’en avons pas fini pour autant car à toute solution il y a des limites et je n’ai fait qu’effleurer ces limites en ce qui concerne les autres. Qu’en est-il alors de Polkadot et Cosmos ? Et quels cas d’usage ces limites empêchent-elles de traiter ?

Les limites persistantes

S’il n’existe pas (encore) de réelle alternative complète aux deux solutions que sont Polkadot et Cosmos, cela ne signifie en rien que celles-ci n’ont pas leurs petits défauts. Afin de rester constructif dans la critique que je fais aux solutions qui s’offrent à l’interopérabilité actuellement, j’ai pu tirer une limite spécifique par projet et une limite commune. Dans cette partie, je vais donc vous les exposer pour vous amener à une transition sur la partie suivante traitant des perspectives et tendances à venir. Pour le moment, concentrons nous sur ce qui fait baisser la note de nos deux élèves modèles, à commencer par Polkadot.

Beaucoup de choses sont reprochées à la blockchain Ethereum mais sa roadmap est si complète qu’on peut difficilement les blâmer de manquer de visibilité concernant l’avenir. Gavin Wood n’a pas retenu la leçon depuis qu’il a fondé Polkadot et c’est le reproche que je ferai au projet maintenu par la Web3 Foundation : le manque de visibilité sur le développement. En un sens, c’est injuste puisque la relay chain est robuste et le principe, bien que nouveau, a l’air de fonctionner. Mais le développement se fait désormais principalement sur les parachains ce qui ne manque pas d’ôter de la visibilité sur la direction prise par les maintainers. C’est une petite tape sur la nuque donc, rien de très grave mais ça n’aidera pas notre premier point négatif commun qu’on abordera juste après le sujet Cosmos.

Un peu plus qu’un rappel à l’ordre, Cosmos, justement, peut se voir reprocher de manquer non pas de visibilité mais de simplicité. Vous l’aurez peut-être ressenti par le schéma de Julian Koh ci-dessus, le fonctionnement du layer 0 qu’est Cosmos est loin d’être trivial. Beaucoup de travail marketing a été réalisé et les évolutions sont de mieux en mieux vulgarisées. Malgré tout, il y a encore du travail à faire.

Voyons enfin les limites communes aux deux projets. Comme je vous le disais il y a quelques lignes, Polkadot partage avec Cosmos un premier point qui n’est pas insignifiant, bien au contraire. En effet, je couplerai, en guise de première limite partagée, le manque d’adoption de ces projets et le manque de standardisation inhérent à leur concurrence. L’adoption, d’une part, est un luxe que peu de blockchains peuvent se targuer d’avoir aujourd’hui. En plein “hiver crypto”, il est déjà difficile de faire connaître Bitcoin ou Ethereum à madame Michu; bon courage à celui ou celle qui voudra leur vulgariser ces deux projets d’interopérabilité. L’adoption de masse d’une ou l’autre des solutions est encore loin et j’en arrive à mon deuxième point : le manque de standardisation. Le paradoxe avec ces deux limites qui n’en sont qu’une tient dans le fait que si une standardisation d’une des deux solution se fait, ce sera par l’adoption de masse et donc, forcément, au détriment de l’autre.

Comme deux finalistes d’une compétition qui n’a pourtant pas encore duré bien longtemps, il semble inéluctable que ce sera soit Polkadot, soit Cosmos qui constituera l’avenir de l’interopérabilité dans la blockchain. A moins que…

Les perspectives

J’ai déjà mentionné Chainlink, aussi bien dans cet article que dans celui que je publiais il y a quelques mois sur les oracles. J’ai d’ailleurs bien précisé, dans la partie qui lui était dédiée, que Chainlink, comme tous les oracles, ne représentait qu’une solution partielle au problème de l’interopérabilité. Oui… mais non.

Vous avez peut-être déjà entendu l’expression “builders are building” pendant une des phases de baisse de l’écosystème blockchain. Justement, ils ne chôment pas chez Chainlink. Ainsi, le 17 juillet 2023 est sortie la première version stable du Chainlink Cross-Chain Interoperability Protocol (CCIP). Pour l’instant uniquement disponible sur la blockchain Ethereum (ETH) ou sur des blockchains issues d’Ethereum (Avalanche, Optimism, Polygon), CCIP promet de jouer les troubles-fête et de rendre cet article complètement obsolète d’ici quelques semaines, mois ou années.

Diagramme animé sur le fonctionnement de CCIP. Source : Chainlink documentation

La solution de Chainlink est encore jeune et, bien que prometteuse, elle doit faire ses preuves sur d’autres blockchains plus restrictives (e.g. Bitcoin). Elle doit aussi montrer sa pertinence et sa robustesse pour voir son utilisation augmenter suffisamment et, peut-être alors, être considérée comme une alternative viable à Cosmos ou Polkadot. Pour l’heure, une solution qui n’impose pas un développement sur une nouvelle blockchain est bien évidemment bien plus enviable que l’existant mais relève plus du potentiel que du réel.

Conclusion

En conclusion, l'interopérabilité dans le domaine de la blockchain se révèle être un défi majeur, rappelant les premières étapes du développement du World Wide Web. Des solutions telles que Polkadot et Cosmos émergent comme des leaders, offrant des approches distinctes pour permettre aux blockchains de collaborer. Cependant, ces solutions ne sont pas sans limites, avec des défis tels que le manque de visibilité sur le développement et l'adoption limitée. Des alternatives partielles, comme l'utilisation d'oracles et les réseaux de layer 2, apportent également leur contribution à l'interopérabilité, tout en soulignant la nécessité d'innovations continues.

Les perspectives d'avenir se dessinent avec des projets novateurs tels que le Chainlink Cross-Chain Interoperability Protocol (CCIP), qui promet de jouer un rôle disruptif. Alors que l'écosystème blockchain continue d'évoluer, des solutions plus complètes et largement adoptées pourraient émerger, redéfinissant ainsi le paysage de l'interopérabilité. En somme, l'interopérabilité demeure un moteur crucial pour libérer le plein potentiel de la blockchain, et son évolution constante offre des opportunités passionnantes pour les acteurs du secteur.

Ressources supplémentaires

Si vous avez été suffisamment curieuse ou curieux pour arriver jusqu’à la fin de cet article, voici, pour aller plus loin, quelques ressources complémentaires soigneusement choisies. Je vous remercie pour le temps accordé à la lecture de ce contenu. Il ne me reste plus qu’à vous souhaiter une bonne fin de journée et à vous inviter à me suivre sur LinkedIn !

What Is Blockchain Interoperability? | Chainlink
Discover how blockchain interoperability enables users and dApps to send data and tokens between different blockchain networks.
Bridges · Polkadot Wiki
Bridges and Examples of Common Bridges.
CometBFT Documentation - CometBFT - v0.38
Proof of Green Has Arrived
Carbon Crowd Unveils PoG Dashboard at Sustainability Roundtable