Paradigme de blockchain modulaire

En physique, le couplage est le phénomène par lequel deux formes de mouvement s'influencent mutuellement par interaction. Le découplage, quant à lui, est la séparation mathématique de deux formes de mouvement pour résoudre le problème.

Dans le domaine de la programmation, l'idée de modularité est très similaire : une technique de conception de logiciels appelée programmation modulaire, met l'accent sur la séparation des fonctionnalités d'un programme en modules indépendants et interchangeables, de sorte que chacun contienne tout le nécessaire pour exécuter un seul aspect de la fonctionnalité souhaitée. .

Les blockchains sont aussi des programmes informatiques. Fondamentalement, lorsque l’on applique l’idée de modularité à une blockchain publique, nous pouvons la diviser en trois éléments principaux :

  1. Exécution : il s'agit du calcul requis pour mettre à jour la chaîne, ce qui implique d'obtenir l'état actuel, d'ajouter un ensemble de nouvelles transactions et de passer au nouvel état.

  2. Consensus, règlement ou sécurité : cela assure la sécurité et l'accord pour les transactions et leur commande.

  3. Disponibilité des données (DA) – Il s'agit de garantir que les données de transaction derrière l'en-tête de bloc sont publiées et disponibles afin que tout le monde puisse facilement calculer l'état et vérifier les transitions d'état.

Au lieu de rassembler ces trois composants dans une chaîne monolithique comme le font les principales blockchains actuelles, nous pouvons les diviser en chaînes ou couches spécialisées, chacune jouant le rôle d'un module, pour implémenter plus efficacement les fonctionnalités d'une blockchain. C'est le paradigme de la blockchain modulaire.

Les avantages des blockchains modulaires

Comme indiqué précédemment, les blockchains modulaires sont le résultat de la séparation des composants centraux d’une seule blockchain et de leur exécution sur des couches distinctes. Alors, quels sont les avantages des blockchains modulaires par rapport aux blockchains non modulaires ? Voici les avantages répertoriés.

Évolutivité

Les couches spécialisées dans une paire de fonctionnalités de base permettront une évolutivité beaucoup plus grande sans la limitation des compromis inhérents à une blockchain monolithique. Par exemple, une couche de disponibilité de données modulaire avec échantillonnage DA peut évoluer de manière linéaire avec le nombre d'utilisateurs.

Interopérabilité

Les blockchains peuvent utiliser une couche de sécurité partagée modulaire pour permettre un pontage de confiance minimisé entre les blockchains du même cluster. Cela améliore à la fois la sécurité et le niveau auquel plusieurs blockchains peuvent communiquer entre elles.

Amorçage

De nouvelles blockchains peuvent être créées avec un coût et un temps minimes. Des éléments tels que les kits de développement logiciel Rollup faciliteront non seulement cela, mais fourniront un moyen de démarrer sans avoir besoin d'un mécanisme de consensus, de validateurs ou de mécanismes de distribution de jetons.

Expérimentation

Les blockchains peuvent facilement être créées et utilisées pour tester de nouvelles technologies innovantes qui apportent davantage d’évolutivité et d’optimisation à l’ensemble de la pile de chaînes. Cela permet aux nouvelles chaînes de se concentrer directement sur les éléments sur lesquels elles souhaitent innover, ce qui peut ensuite être étendu au reste des chaînes.

La couche DA dans les rollups

Rollups, qui est la solution de couche 2 d’Ethereum visant à évoluer efficacement, est également fondamentalement une approche modulaire. Le rollup retire la couche d'exécution de la couche 1 d'Ethereum et forme une deuxième couche exclusive à l'exécution, axée sur le traitement des transactions aussi rapidement que possible. D’un autre côté, la couche 1 d’Ethereum est toujours en charge du travail difficile en matière de sécurité et de disponibilité des données.

Il y a donc deux questions ici. Premièrement, pourquoi la disponibilité des données est-elle si importante ? Deuxièmement, pouvons-nous à nouveau utiliser l’idée de modularité pour découpler DA de la couche 1 ? S'il vous plaît, laissez-moi prendre le temps de vous expliquer.

Pour la première question, je dois discuter de la situation séparément. Dans le cas de Optimistic Rollup, lorsque le séquenceur fait le mal et règle un état de solde de compte incorrect, n'importe qui peut récupérer les données de transaction originales de la couche 1 et reconstruire l'état correct du compte pour exécuter un défi. Ainsi, le rôle de DA est comme un bureau d'archives qui fournit des preuves originales en cas de contestation, garantissant que la contestation est correcte et valide.

Quant au Zero Knowledge (ZK) Rollup, le séquenceur ne peut pas faire le mal grâce à la preuve cryptographique du zéro connaissance. Mais dans les cas extrêmes où le séquenceur tombe en panne ou est indisponible pour une raison quelconque, les utilisateurs doivent échapper à la chaîne de couche 2 et récupérer leur argent sur la couche 1, alors que DA est essentiel pour garantir que chacun puisse reconstruire l'état final sur la base des données. . Le rôle du DA est donc comme une porte de sécurité pour garantir une sortie en douceur aux utilisateurs en cas de situation extrême.

Pour la deuxième question, la réponse courte est oui. Bien que DA soit si vital que le meilleur endroit pour le stocker est Ethereum couche 1, la chaîne la plus sécurisée est également la plus chère – le coût des transactions de règlement et du stockage des données est bien plus élevé que celui de toute autre chaîne. C'est pourquoi Matter Labs et Starkware proposent aux utilisateurs une version bon marché de ZK Rollup, à savoir ZK-Porter et Validium, compromettant le fait de ne pas stocker DA sur la couche 1.

En conséquence, une couche DA spécialisée et modulaire commence à faire son apparition.

Projets de couche DA spécialisée

Célestia

Anciennement nommé LazyLedger, Celestia est un réseau de consensus et de données modulaire, conçu pour permettre à chacun de déployer facilement sa propre blockchain avec un minimum de frais généraux. En dissociant les couches consensus et DA de l'exécution des applications, Celestia modularise la pile technologique blockchain et ouvre de nouvelles possibilités aux créateurs d'applications décentralisées.

Grâce à l'architecture modulaire compatible Celestia, les développeurs peuvent définir sans effort leurs propres environnements d'exécution virtuels. Chaque application dispose de son propre espace d'exécution souverain et peut être mise à jour sans hard forks de la chaîne principale.

Le principal point fort de Celestia réside dans la résolution de l’une des contraintes fondamentales de la mise à l’échelle de la blockchain : le « problème de disponibilité des données ». Ce problème pose la question : comment les nœuds peuvent-ils être sûrs que lorsqu'un nouveau bloc est produit, toutes les données de ce bloc ont bien été publiées sur le réseau ? Le dilemme est que si un séquenceur ou un producteur de blocs ne libère pas toutes les données d’un bloc, personne ne pourra détecter si une transaction malveillante est cachée dans ce bloc.

Comment Celestia résout-elle ce problème ? Il utilise des codes d'effacement pour créer des preuves de disponibilité des données qui garantissent, avec une forte probabilité, que toutes ces données ont été publiées en chaîne.

Plus précisément, Celestia utilise un schéma de codage Reed-Solomon bidimensionnel pour coder les données de bloc lorsque le séquenceur crée un nouveau bloc. Ce système garantit que seul un petit échantillon de données suffit pour vérifier avec une certitude statistique que l'ensemble du bloc a été publié. Seuls les clients légers sont nécessaires pour effectuer une opération appelée Data Availability Sampling (DAS) : télécharger de manière aléatoire un petit morceau de données du bloc pour détecter si le séquenceur se comporte mal et retient des données. Cette méthode est très efficace du point de vue des statistiques de probabilité. En fait, la septième fois qu'un client léger essaie de vérifier aléatoirement un bloc de données, le risque qu'il ne détecte pas que le séquenceur se comporte mal deviendrait inférieur à 1 %. Et une fois qu’il est découvert qu’une petite donnée est mal codée, le réseau est informé via une preuve de fraude. Cela garantit que le débit n'est pas goulot d'étranglement par l'exécution de l'état comme les blockchains traditionnelles, permettant au débit de Celestia d'évoluer en fonction du nombre d'utilisateurs impliqués.

Initialement centré sur les SDK EVM et Cosmos, Celestia n’exclut pas une intégration dans les écosystèmes d’Ethereum et Cosmos. Celestia a publié un plan appelé Celestium, qui permet à toute chaîne Ethereum L2 d'utiliser Celestia pour la disponibilité des données et Ethereum pour le règlement et la résolution des litiges. Celestiums fournira une disponibilité des données à haut débit pour les Ethereum L2, avec un niveau de sécurité plus élevé que les autres techniques de disponibilité des données hors chaîne.

De plus, Celestia s'associe à Evmos pour créer une couche de règlement pour les cumuls EVM appelée Cevmos. La chaîne de règlement sera implémentée sous la forme d'un rollup Celestia à l'aide d'Optimint et exploite Celestia comme couche DA pour fournir une pile entièrement équivalente à EVM optimisée uniquement pour les rollups, ce qui entraînera des frais inférieurs et une meilleure évolutivité des rollups.

Polygone disponible

Avail, l'une des solutions de mise à l'échelle de la boîte à outils de Polygon, est une blockchain à usage général et évolutive axée sur la disponibilité des données, destinée aux chaînes autonomes, aux chaînes latérales et aux solutions de mise à l'échelle hors chaîne.

Avail fournit une couche de disponibilité des données robuste en utilisant une primitive mathématique extrêmement sécurisée - contrôles de disponibilité des données à l'aide de codes d'effacement avec une innovation clé - ils utilisent les engagements polynomiaux de Kate pour créer un schéma de disponibilité des données 2D qui évite les preuves de fraude, ne nécessite pas d'hypothèses majoritaires honnêtes, et ne dépend pas d'un homologue honnête du nœud complet pour avoir l'assurance que les données sont disponibles.

L’approche d’Avail pour résoudre le problème de disponibilité des données est similaire à celle du DAS de Celestia mais ne diffère que sur de petits points. Avail utilise des engagements polynomiaux KZG au lieu de preuves de fraude pour éviter un mauvais comportement des séquenceurs. Les engagements KZG, également connus sous le nom d'engagements Kate, ont été introduits par Aniket Kate, Gregory M. Zaverucha et Ian Goldberg en 2010, offrant un moyen de s'engager sur des polynômes de manière succincte.

En termes simples, toutes les données d’un bloc sont organisées sous forme de matrice bidimensionnelle. La redondance des données est apportée par un codage par effacement de chaque colonne de la matrice pour doubler la taille de celle d'origine. Les engagements Kate sont utilisés pour s'engager sur chacune des lignes et l'engagement est inclus dans l'en-tête du bloc. Le système facilite la détection d'une tentative de masquage de données, car tout client léger ayant accès uniquement aux en-têtes de bloc peut interroger des cellules aléatoires de la matrice et obtenir de courtes preuves qui peuvent être vérifiées par rapport aux en-têtes de bloc. La redondance des données oblige le séquenceur à masquer une grande partie du bloc même s'il souhaite masquer une seule transaction, ce qui le rend susceptible d'être intercepté par un échantillonnage aléatoire. Ainsi, le besoin de preuves de fraude est évité car la nature contraignante des engagements de Kate rend très impossible, sur le plan informatique, pour les séquenceurs de construire de mauvais engagements et de ne pas se faire prendre.

Résumé

La couche spécialisée de disponibilité des données, en tant que prototype de blockchain modulaire, vise à faciliter un changement complet dans la façon dont nous abordons la conception des systèmes de blockchain, permettant un paradigme de blockchain modulaire dans lequel divers environnements d'exécution peuvent utiliser cette couche spécialisée pour l'ordre et la disponibilité des données. Même si l’on peut s’inquiéter du fait que les cumuls utilisant une couche DA spécialisée ne soient pas aussi sécurisés que ceux du réseau principal Ethereum, il s’agit d’un compromis essentiel puisque les blockchains modulaires peuvent apporter un réseau plus flexible, évolutif, personnalisable et interopérable. À long terme, la couche DA spécialisée deviendra la pierre angulaire du paradigme de la blockchain modulaire, ouvrant la voie à la fin de la mise à l’échelle de la blockchain.

Avertissement : Cette recherche est à titre informatif uniquement. Il ne constitue pas un conseil en investissement ni une recommandation d’acheter ou de vendre un investissement et ne doit pas être utilisé dans l’évaluation du bien-fondé d’une décision d’investissement.

🐦 @chestersigned

📅 18 avril 2022

Lien:

https://medium.com/blockchain-capital-blog/wtf-is-data-availability-80c2c95ded0f

https://polynya.medium.com/the-lay-of-the-modular-blockchain-land-d937f7df4884

https://rileygmi.substack.com/p/celestia?s=r&utm_campaign=post&utm_medium=web

https://coinyuppie.com/focus-on-the-data-availability-layer-to-understand-the-new-public-chain-celestia/

https://polygon.technology/blog/introducing-avail-by-polygon-a-robust-general-Purpose-scalable-data-availability-layer-98bc9814c048

https://polygon.technology/solutions/polygon-avail/