Tous les articles

Comprendre l'infrastructure blockchain modulaire

·
30 oct. 2022
·
9 min de lecture
·
••• vues
·
••• j'aime

Traduit de l'article original en anglais. Lire en anglais

Schéma conceptuel lié à l'architecture blockchain

Les blockchains de première génération comme Bitcoin, Ethereum et Solana ont la charge d'assurer le consensus, le règlement, l'exécution et la disponibilité des données sur la même couche, c'est pourquoi on les a qualifiées de blockchains monolithiques. Par conception, les blockchains monolithiques ne peuvent pas accomplir efficacement toutes ces tâches, et c'est ce qui a fait naître le trilemme de la blockchain. Les caractéristiques d'une blockchain incluent la décentralisation, la scalabilité et la sécurité. Les blockchains monolithiques doivent faire des compromis parce qu'elles ne peuvent en assurer que deux au mieux, et pas les trois. Par exemple, Bitcoin sacrifie la scalabilité au profit de la décentralisation et de la sécurité, et Ethereum fait de même. Avec l'arrivée des blockchains modulaires, le trilemme de la blockchain peut être résolu. Une blockchain modulaire est une blockchain qui externalise une ou plusieurs des tâches principales d'une blockchain. L'idée, c'est qu'en répartissant les tâches fondamentales d'une blockchain entre plusieurs couches, on peut améliorer considérablement chaque couche prise individuellement, et rendre ainsi la blockchain plus scalable et plus efficace. Vous pouvez voir ça comme une division du travail.

Le trilemme de la blockchain

Le trilemme de la blockchain est l'idée qu'une blockchain ne peut pas être à la fois sécurisée, scalable et décentralisée. Les développeurs qui construisent leur propre blockchain se retrouvent toujours face à l'obligation agaçante de choisir deux des trois qualités possibles.

Illustration du trilemme de la blockchain

Décentralisation

La décentralisation est le principal attrait de la blockchain. C'est la raison pour laquelle les gens choisissent les cryptomonnaies plutôt que la monnaie fiat. Pour qu'une blockchain soit décentralisée, les exigences matérielles ne doivent pas être un frein à la participation, et les ressources nécessaires pour vérifier le réseau doivent rester faibles.

Scalabilité

C'est la capacité d'une blockchain à absorber une hausse du nombre de transactions traitées sans augmenter les ressources nécessaires à la vérification. Le problème de scalabilité est l'une des choses qui ont empêché la blockchain et la crypto d'atteindre une adoption de masse. Pour être compétitives, les blockchains doivent progresser jusqu'à pouvoir traiter rapidement des centaines de transactions. Les blockchains peuvent passer à l'échelle en augmentant la taille des blocs, mais cela entraîne une hausse des exigences matérielles. Et cela nuit à la décentralisation.

Sécurité

C'est la capacité à résister à une prise de contrôle hostile. Une bonne blockchain doit avoir une sécurité robuste pour que des tiers malveillants ne puissent pas exploiter les vulnérabilités du réseau. Maintenir la sécurité demande beaucoup de puissance de calcul, ce qui peut nuire à la décentralisation et à la scalabilité. Même si des solutions comme les sidechains, les rollups et les state channels ont été créées pour résoudre ce problème, dans cet article nous allons nous intéresser à l'approche adoptée par les blockchains modulaires

Les fonctionnalités fondamentales de la blockchain

Consensus - Le consensus est la procédure qu'utilisent les nœuds d'un réseau blockchain donné pour déterminer quelles transactions sont valides et lesquelles ne le sont pas. Les mécanismes de consensus sont les moyens qu'utilisent les participants pour atteindre le consensus, les exemples les plus connus étant la Proof-of-Work, la Proof-of-Stake, etc. Le consensus assure aussi l'ordonnancement et la finalité des transactions.

Exécution - L'exécution désigne la façon dont les nœuds traitent les transactions envoyées au réseau, ce qui entraîne un changement d'état de la blockchain.

Disponibilité des données - La blockchain sert à stocker les données utilisées pour vérifier la validité d'un changement d'état de la blockchain. Les producteurs de blocs doivent publier les données de chaque bloc pour que les pairs du réseau les téléchargent et les stockent, et ces données doivent être disponibles sur demande. Les blockchains monolithiques gèrent toutes ces fonctionnalités sur une seule couche, tandis que les blockchains modulaires se spécialisent dans une ou deux d'entre elles et externalisent le reste.

Que sont les blockchains modulaires

Comme mentionné plus haut, une blockchain qui essaie d'assurer à elle seule les 3 fonctionnalités fondamentales limite sa capacité et son débit, alors qu'une chaîne modulaire sépare le système en plusieurs parties possibles et travaille sur chacune indépendamment. Dans l'architecture de blockchain modulaire, la couche d'exécution peut être indépendante des couches de consensus et de disponibilité des données, ce qui permet aux nœuds de se concentrer uniquement sur le traitement séparé des transactions plutôt que d'exécuter toutes les transactions pour en garantir la validité.

Architecture de blockchain modulaire

Dans la conception architecturale d'une blockchain modulaire, trois couches fonctionnent indépendamment les unes des autres et se combinent pour former la stack modulaire.

Architecture de blockchain modulaire

Une blockchain modulaire peut être conçue pour se spécialiser dans une ou deux des couches suivantes :

Couche de consensus - Une blockchain modulaire peut être configurée pour se spécialiser uniquement dans le consensus, en fournissant un ensemble de règles et de lignes directrices qui serviront à valider et vérifier les blocs de transactions. Cela garantit que les nœuds/participants du réseau parviennent à un accord, ce qui établit la sécurité et la décentralisation dans la stack.

Couche d'exécution - Les rollups sont un exemple typique de blockchain modulaire qui ne s'occupe que du traitement des transactions. Dans la couche d'exécution, la blockchain se concentre uniquement sur le traitement des transactions, elle s'appuie sur une autre chaîne pour le règlement et la finalité.

Couche de disponibilité des données - La couche de disponibilité des données se concentre sur le stockage des données de transaction et sur leur mise à disposition sur demande, publiquement, pour que tout le monde puisse les voir. Polygon Avail en est un exemple.

Le principe de modularité

Le principe de modularité, ou conception modulaire, subdivise un système en parties plus petites appelées modules, qui peuvent être créés, modifiés, remplacés ou même échangés indépendamment avec d'autres modules ou entre différents systèmes. La modularité repose sur la spécialisation, ce qui veut dire que chaque module ne peut accomplir que quelques tâches précises, mais qu'il doit bien les accomplir. C'est le principe sur lequel reposent les blockchains modulaires.

Blockchains modulaires vs blockchains monolithiques

Blockchains monolithiques vs blockchains modulaires

Avantages des blockchains modulaires

Scalabilité - Les problèmes de scalabilité apparaissent quand une blockchain essaie d'exécuter toutes les activités sur une seule couche. Le trilemme de la blockchain affirme qu'une blockchain ne peut avoir que deux des trois qualités qu'elle peut posséder, mais quand les tâches sont réparties entre plusieurs blockchains modulaires, il devient possible d'améliorer la scalabilité.

Créer de nouvelles - blockchains : quand les développeurs se concentrent entièrement sur une blockchain qui n'accomplit qu'une seule tâche précise, il devient relativement plus rapide de lancer une telle blockchain par rapport aux blockchains monolithiques conçues pour tout faire. Comme les développeurs peuvent se concentrer sur une fonction précise comme l'exécution, d'autres blockchains modulaires qui gèrent la sécurité et la disponibilité des données peuvent facilement être branchées.

Flexibilité - Une blockchain modulaire est plus flexible qu'une blockchain monolithique parce qu'elle peut tirer parti de la force d'une autre chaîne. Par exemple, une couche d'exécution peut bénéficier de la sécurité de la chaîne parente, et la chaîne parente profite de la scalabilité de la couche d'exécution. C'est la relation qui existe entre les rollups et Ethereum.

Avantages des blockchains monolithiques

Sécurité - Les blockchains monolithiques peuvent assurer leur propre sécurité parce que les nœuds prennent connaissance des transactions et doivent parvenir à un consensus entre eux pour valider les transactions.

Utilité - Comme une blockchain monolithique gère l'exécution parmi ses autres fonctions, son coin ou token natif peut prendre de la valeur sur le long terme.

Inconvénients des blockchains modulaires

** Sécurité** - Contrairement aux blockchains monolithiques, les blockchains modulaires dépendent d'autres couches pour leur sécurité, ce qui les rend dépendantes de l'efficacité de ces chaînes. Si la couche de sécurité, c'est-à-dire la chaîne chargée du consensus et de la disponibilité des données, est compromise, toute la stack modulaire risque de tomber.

** Utilité du token** - En raison de cas d'usage limités, certaines blockchains modulaires peuvent ne pas réussir à faire monter la valeur de leur token natif, par exemple la couche chargée de la disponibilité des données.

** Complexité** - Les blockchains modulaires ont une conception assez complexe qui nécessite l'implication de développeurs aux connaissances pointues.

Inconvénients des blockchains monolithiques

Rigidité - Comparées aux blockchains modulaires, les blockchains monolithiques sont moins flexibles parce qu'elles ne peuvent pas externaliser de fonctions, même quand le réseau subit une interruption.

Scalabilité - Les blockchains monolithiques qui ne sont pas scalables peuvent tenter d'augmenter la taille et le temps des blocs, mais cela augmente les exigences matérielles des nœuds du réseau, ce qui mène à la centralisation.

Exécution inefficace - Pour garantir la validité des transactions, les nœuds les réexécutent, ce qui entraîne des délais.

Exemples de plateformes de blockchain modulaire

Rollups - Les rollups sont conçus pour agir comme des blockchains modulaires centrées sur l'exécution. Les rollups, qu'il s'agisse d'optimistic rollups ou de zero-knowledge rollups, servent désormais de couche d'exécution qui exécute les smart contracts et les transactions. Ethereum sert de couche de règlement, et c'est là que les données de transaction sont publiées et stockées.

Validiums - Les validiums se comportent aussi comme des zero-knowledge rollups, ils exécutent les transactions de leur côté puis les soumettent à la chaîne parente avec la preuve de validité, mais ils ne stockent pas les données sur la chaîne parente, ils utilisent à la place des comités de disponibilité des données ou des réseaux de disponibilité des données comme Polygon Avail.

Polygon Avail - Alors que les rollups et les validiums servent de couches d'exécution, Polygon Avail est une blockchain modulaire qui sert de couche de disponibilité des données et de consensus. Ici, les nœuds sont chargés d'ordonner, de stocker et de publier les données de transaction sur demande.

Plateformes de blockchain modulaire

Ethereum est-il une blockchain modulaire ou monolithique ?

À ses débuts, Ethereum fonctionnait comme une blockchain monolithique, en assurant seul l'exécution, le consensus et la disponibilité des données. Plus tard, les rollups ont été introduits et Ethereum a pu externaliser certaines tâches d'exécution vers les solutions L2 tout en assurant le consensus et la disponibilité des données. Même si Ethereum exécute encore des transactions, il est en train de se transformer en chaîne modulaire grâce à l'implémentation du sharding. Le sharding est un processus dans lequel un système se divise pour travailler par parties. En répartissant la charge de travail entre ses composants, il peut gagner en efficacité et en rendement. Dans le contexte d'Ethereum, il se divisera en 64 shard chains (sous-chaînes) qui fonctionneront en parallèle, chaque chaîne gérant une part différente de l'activité du réseau.


Conclusion

On peut se demander quand choisir entre une blockchain monolithique et une blockchain modulaire, puisque les deux ont leurs avantages et leurs inconvénients. Choisir entre ces deux options demande de bien comprendre les besoins du projet. Si la sécurité est primordiale dans l'ensemble, une blockchain monolithique semble être l'option à choisir, mais si la vitesse compte le plus, la blockchain modulaire sera une meilleure option.

•••
Partager cet article :

Restez informé

Recevez les derniers articles dans votre boîte mail.