Celestia (TIA) : Qu’est-ce que c’est, comment ça fonctionne ?

Celestia Labs propose une innovation majeure dans l'architecture des blockchains. Séparant les deux couches d’une blockchain, le mécanisme de consensus et la couche d’exécution. De cette manière, Celestia permet à quiconque de déployer rapidement un registre distribué décentralisé sans avoir à mettre en place un nouveau réseau pour le consensus.

Tout le contenu Coin Academy pour Celestia

Construire une blockchain scalable sans sacrifier la décentralisation et la sécurité est probablement le plus grand défi pour les développeurs travaillant sur l'architecture des blockchains actuellement.

Les problèmes de scalabilité d'Ethereum ont été le sujet de discussion du secteur des cryptomonnaies tout au long de l'année 2021, chose ouvrant la voie à l'adoption d'autres Layer 1 et le développement d'autres technologies de scalabilité comme les Rollups, les Sidechains, les State Channels, etc.

celestia-blockchain-architecture

Cette croissance des différents Layer 1 a été passionnante pour l'ensemble de l'écosystème et a largement facilité l'adoption de la DeFi et des NFT, entre autres.

En conséquence, nous disposons désormais de blockchains scalables, mais nous avons également un problème d'interopérabilité entre les chaînes. Des applications différentes vivent sur des chaînes différentes et ont besoin d'un moyen efficace et rapide d'échanger des données entre elles.

Par conséquent, nous avons besoin de solutions de scalabilité, mais aussi d'interopérabilité et de composabilité, et c'est là où le projet souhaite exceller.

Celestia, les blockchains actuelles et la disponibilité des données

Si vous n'êtes pas familier avec le fonctionnement des transactions sur la blockchain, les blocs ont essentiellement deux fonctions principales :

L'en-tête du bloc : il s'agit des informations de base sur le bloc, notamment la racine Merkle des transactions (La racine de Merkle est une structure de données, centrale en cryptographie, qui valide les transactions en hachant les paires TX-ID).

Les données de transaction : cette partie constitue la majeure partie du bloc, elle est de taille variable et dispose de la liste de toutes les transactions contenues dans le bloc.

clients-legers-celestia

Il existe aussi généralement deux types de nœuds dans un réseau blockchain :

Les nœuds complets : ce sont des nœuds qui téléchargent et contrôlent la validité de toutes les transactions sur le registre distribué. Cela nécessite beaucoup de ressources (coûteux), mais ce sont les nœuds les plus sécurisés, car ils ne peuvent pas être trompés dans l'acceptation de blocs contenant des transactions invalides.

Clients légers : Si vous n'avez pas suffisamment de ressources pour exécuter un nœud complet, vous pouvez exécuter un client léger. Un client léger ne télécharge ni ne valide aucune transaction. Au lieu de cela, il ne télécharge que l'en-tête du bloc et supposent que le bloc ne contient que des transactions valides. Les clients légers sont par conséquent moins sûrs que les nœuds complets.

Ce manque d'informations sur les clients légers crée un dilemme communément appelé “The Data Availability Problem” (problème de disponibilité des data). En d'autres termes, si les données de transactions n'ont pas été correctement validées, nous ne pouvons pas savoir s'il existe ou pas une transaction malveillante cachée dans le bloc.

Pour éviter ce problème, Ethereum demande à tous les nœuds de télécharger toutes les données des transactions. Évidemment, cela pose en soi un problème de scalabilité.

celestia-blockchain-consensus-execution

Que permettra Celestia et la disponibilité des données ?

Résolvant le problème de la disponibilité des données, Celestia réimagine la manière dont se déroule le développement d'applications décentralisées et vise à réduire considérablement la barrière à l'entrée pour les nouvelles blockchains.

Une blockchain paresseuse

Pour construire la blockchain la plus basique au monde, deux éléments sont principalement nécessaires : l'ordre des transactions et la disponibilité des données. À partir de ces deux éléments et en sachant que ces données sont correctes et vérifiées, toute Dapp fonctionnelle peut être construite.

C'est cet aspect de Celestia, ou on sépare les deux couches maîtresses d’une blockchain et où seule la disponibilité des données des transactions est garantie, qui la rend “paresseuse” (le projet est anciennement connu sous le nom de Lazy Ledger).

Contrairement à ETH qui comprend l'environnement d'exécution, le consensus et la disponibilité des données de manière monolithique, Celestia dissocie l'exécution de la blockchain et se concentre uniquement sur organisation des transactions et la fourniture de la “disponibilité des data” ce qui facilite énormément le développement d'applications sur ce registre distribué.

traditional-monolithic-architecture-celestia-enabled-modular-architecture

Celestia, un pas important vers l'interopérabilité

Conformément à la vision de Cosmos et Polkadot, Celestia croit dans un monde capable de supporter des millions de blockchains. C'est dans la lignée de cette idée qu'ils ont construit cette couche inférieure très modulaire qui permet aux développeurs de lancer des blockchains en surcouche de Celestia. Et ainsi, permettre à n'importe qui d'exécuter sa blockchain sur Celestia et se concentrer strictement sur le développement d'applications.

L'écosystème Celestia

Celestia est une construit sur le SDK Cosmos et sécurisé par le consensus proof of stake (PoS) de Tendermint.

On sait désormais que la blockchain n'a pas d'environnement d'exécution, ce qui permet au consensus d'être uniquement responsable de l'ordre des transactions et de garantir la disponibilité des données (Précision : étant une blockchain PoS, ils auront besoin d'une vérification d'état minimale, il y aura donc un peu d'exécution sur la blockchain).

Nous obtenons une chaîne où la production de blocs est toujours centralisée, mais la validation des blocs est fiable et hautement décentralisée.

Vitalik Buterin, ETH 2.0 ‘endgame’ roadmap.

Dans son récent article “Endgame”, Vitálik Buterin (cofondateur d'ETH) traite de la production et validation des blocs. Il fait ressort l'idée qu'il est coûteux pour les producteurs de blocs de les produire (très chère, peu de personnes peuvent se le permettre, donc centralisé), mais qu'il n'est pas cher pour les utilisateurs finaux de vérifier que les producteurs de blocs se comportent honnêtement (peu couteux, beaucoup de personnes peuvent se le permettre, donc décentralisé).

Les récents développements de L2 et le succès des blockchains avec des applications spécifiques (Terra avec Anchor et Cosmos avec Osmosis) ont confirmé que le monde des blockchains spécifiques et le multi-chaine jouera un rôle important à l'avenir. Si ces chaines de blocs continuent à attirer des utilisateurs, beaucoup de ces chaînes monolithiques seront confrontées au même problème qu'Ethereum aujourd'hui.

Avantages-Ecosysteme-Celestia

Grâce à Celestia, une autre vision de la décentralisation peut exister, une vision plus modulaire : une production centralisée de blocs (dans la blockchain principale, L1) et une validation décentralisée et résistante à la censure des blocs (dans Celestia).

La communication inter-chaînes grâce à Celestia

Les clusters Celestia

C’est un terme avec lequel on est familier depuis un certain temps : un “cluster”, dans le monde réel, est un groupe / ensemble de choses similaires qui sont étroitement liées entre elles.
Dans le monde des blockchains, un cluster est un ensemble de chaînes qui peuvent communiquer entre elles. Un cluster peut par exemple être un ensemble de rollups dans une blockchain donné (comme c'est le cas des rollups d'Ethereum), ou de blockchaines autonomes comme Polygon, Avalanche ou Solana. Ces clusters peuvent ensuite communiquer entre eux et assurer une communication inter-clusters.

Clusters-Celestia

Chaque chaîne du cluster peut valider la machine d'état (qui stocke le statut du registre) des autres chaînes du cluster. Par exemple, tous les rollups Ethereum sont compatibles avec l'EVM, il est donc possible de valider les preuves de fraude ou de ZK des rollups au sein de l'EVM. Cependant, il n'est pas viable en pratique de valider le statut de Solana au sein de l'EVM, Solana ne peut donc pas partager un cluster avec Ethereum.

Clusters-Celestia-Blockchains

Comme on a vu jusqu'ici, Celestia ne fournit pas d'environnement de smart contracts, contrairement à ETH, mais uniquement un consensus et une disponibilité des données. L'écosystème Celestia n'est pas un cluster en soi, car il n'applique aucun mécanisme spécifique de communication inter-chaînes entre les chaînes basées sur Celestia, mais propose la base pour construire des clusters.

Celestia apporte la couche de disponibilité des data, tandis que d'autres peuvent construire leurs couches d'exécution et de smart contracts par-dessus. Toutes les chaînes du cluster doivent vérifier que les blocs des autres chaînes ont été inclus dans la chaîne de disponibilité des données et sont donc en mesure de vérifier les données avec un minimum de confiance.

Comment fonctionne Celestia ?

Maintenant que nous connaissons en partie l'idée derrière le projet, parlons désormais sur l'aspect technique et essayons de découvrir comment fonctionne techniquement cette blockchain.

Les codes correcteurs (ERASURE CODES)

Dans sa technique de disponibilité des data, Celestia utilise un concept très connu en informatique appelé les codes correcteurs. Ce qui consiste en un schéma de codage permettant aux nœuds légers, juste avec un échantillon des données du bloc, de vérifier avec une forte probabilité que le reste du bloc ait été bien publié.

En termes simples, les codes correcteurs sont une des méthodes de mise à disposition des données, par laquelle les data sont divisées, encodés, ,stockées dans des nœuds de stockage puis vérifiées par des nœuds légers.

Les-codes-correcteurs

Considérons qu'un nœud complet fait son travail et qu'il délivre un résultat sous forme d'équations, avec des donnes tells que x= 3 et y=10.

Le processus d'encodage va créer une série d'équations de cette apparence :

  • x+y= 13
  • 2x+y= 16
  • 2x+2y= 26
Système-de-deux-équations

Pour connaître le résultat du départ, il faut qu'une partie des équations puissent être décodée. Nous avons 3 équations, mais nous pouvons obtenir l'information originale à partir de deux d'entre elles.

La bibliothèque Namespaced Merkle Tree (NMT):

Celestia a implémenté une bibliothèque NMT qui est un arbre de Merkle ordonné par des espaces de noms. Il s'agit d'un élément clé, car il rend les rollups sur Celestia agnostiques. De cette manière, tout rollup peut télécharger les données qui sont pertinentes pour lui et ignorer les données des autres rollups.

L'encodage dimensionnel Reed Solomon Merkle Tree (rsmt2d):

Comme dit précédemment, Celestia utilise un encodage spécial pour s'assurer qu'un bloc entier a été publié. Ce mécanisme d'encodage s'intègre au NMT pour calculer les racines de Merkle des lignes et des colonnes à partir du bloc codé, ce qui rend statistiquement très difficile pour les nœuds complets de cacher des données.

Les composants IPFS et IPLD

Celestia Labs a pris la décision de modifier l'IPFS et coder un plugin IPLD pour permettre l'échantillonnage dans un réseau P2P, en créant une bibliothèque pour les clients légers et d'autres types de nœuds pour valider la disponibilité des blocs.

Nodes Celestia

Pour que le réseau soit encore plus modulaire et impartial, Celestia Labs a construit plusieurs types de nœuds au sein du réseau :

  • Nœuds complets : ils offrent les garanties de sécurité les plus élevées. Ils disposent d'en-têtes de bloc étendus, du corps de bloc entier, de toutes les transactions et produisent des preuves de fraude
  • Les nœuds partiels : ils sont capables de produire des preuves de fraude pour les transactions non valides et de contribuer à la validation des codes correcteurs
  • Nœuds légers : ce sont eux qui effectuent un échantillonnage de la disponibilité des données et sont sûrs en cas de minorité honnête
  • Nœuds superlégers : ils n'effectuent pas d'échantillonnage de la disponibilité des données et sont sécurisés par une majorité honnête
  • Nœuds de stockage : offrent les mêmes garanties de sécurité que les nœuds complets et garantissent le stockage complet des corps de blocs en forme de codes d'erreur
  • Nœuds de stockage partiels : offrent les mêmes garanties de sécurité que les nœuds partiels et une capacité de stockage partielle des blocs
  • Les nœuds validateurs : sont identiques aux nœuds complets, mais doivent également créer et signer les messages de consensus (propositions, votes, etc)

Le débit de data de la chaîne principale augmente avec le nombre de nœuds. Ces nœuds peuvent augmenter les performances et la sécurité du réseau, car ils ne produisent pas de blocs, ils ne font que les vérifier.
Le dilemme auquel sont confrontées les implémentations actuelles sur les layer 1, est que des éléments comme la scalabilité se concentrent sur la production de blocs plutôt que sur leur vérification. La vision de Celestia est de faire les deux pour évoluer le réseau.

Nodes-vs-max-block-size

Le diagramme ci-dessous illustre l'évolutivité de Celestia : plus il y a de nœuds, plus la taille maximale des blocs est importante.

Pour que ce modèle de sécurité fonctionne, il doit y avoir un nombre minimum de nœuds légers qui garantissent la récupération des données du bloc original à partir de tous les échantillons qu'ils prennent individuellement (une caractéristique des codes correcteurs).

Roadmap Celestia – feuille de route

Le Devnet Celestia est actif depuis novembre 2021 et comporte trois composants principaux : Celestia-node, Celestia-app et Optimint. Le Testnet devrait être achevé en 2022. Pour participer au projet, vous devez vous inscrire sur la liste d'attente ici.

Roadmap-Celestia

L'équipe Celestia

L'équipe de Celestia Labs a une grande expérience dans la construction et la scalabilité de blockchains, avec des membres venant de grands projets Ethereum, Harmony et Cosmos. Mustafa Al-Bassam a cofondé Chainspace. Ismail Khoffi, lui étant ancien ingénieur chez Tendermint et la Fondation Interchain.

John Adler, a été une des premières personnes à avoir écrit sur la façon dont les rollups pourraient fonctionner avant de créer les optimistic rollups que nous connaissons actuellement. Et finalement Nick White, qui est ni plus ni moins que le cofondateur d'Harmony.

Equipe-Celestia

Pour conclure, il est difficile de surestimer l'importance de ce que Celestia tente de résoudre. Réduire la vérification des blocs à la vérification de la disponibilité des données est une grande avancée dans l'écosystème, connaissant la grande difficulté que reprend la scalabilité dans les L1 actuels.

Si l'équipe parvient à résoudre le problème de l'évolutivité et de l'interopérabilité de manière sécurisé, tout en abaissant la barrière d'entrée pour le déploiement de nouvelles blockchains, ils favoriseront grandement l'innovation et augmenteront les nouveaux cas d'usages.