Interprétation approfondie de l'exécution parallèle : potentiel, défis et avenir

Ethereum a introduit des contrats intelligents programmables via l'EVM.

Titre original : "Parallel Power Unlocked"

Rédigé par : ROBERT MCTAGUE, analyste en placement, Amber Labs

Compilé par : Yvonne

Défis actuels auxquels est confrontée l'industrie de la blockchain

Actuellement, les blockchains grand public fournissent une gamme d'applications, notamment DeFi, NFT, les médias sociaux et même des jeux. Cependant, la qualité et les capacités de ces applications sont limitées par une limitation fondamentale : la difficulté des blockchains à traiter plusieurs transactions simultanément. L'exécution parallèle est cruciale dans les applications décentralisées car elle permet aux plates-formes de contrats intelligents de traiter plusieurs transactions simultanément, augmentant ainsi le débit global et la réactivité du réseau. Pour surmonter cet obstacle critique, les développements de l'industrie au cours des cinq dernières années se sont concentrés sur l'amélioration des performances de la blockchain grâce à la parallélisation.

Dans les rapports précédents, nous nous sommes penchés sur diverses façons d'améliorer l'évolutivité, en présentant des conceptions modulaires, des architectures innovantes comme DAG et des études de cas comme Aptos et Sui. Cependant, un aspect souvent négligé dans l'espace blockchain est la façon dont le réseau gère l'exécution parallèle et comment ces approches se comparent.

Ce rapport de recherche vise à faire la lumière sur les prochaines blockchains de couche 1 qui aideront à résoudre les problèmes des blockchains actuelles et à établir un cadre de taxonomie pour une future exécution parallèle. Nous nous concentrerons sur la manière dont ces solutions permettent une exécution parallèle et comparerons leurs approches pour surmonter les limites des réseaux blockchain existants. En examinant les différentes stratégies et techniques employées par ces blockchains de nouvelle génération, nous espérons fournir des informations précieuses sur l'avenir de l'exécution parallèle et son rôle dans l'innovation de la blockchain.

EVM

La plupart des plateformes de contrats intelligents reposent aujourd'hui sur la machine virtuelle Ethereum (EVM), mais celle-ci souffre d'un inconvénient majeur : elle ne peut pas exécuter de transactions simultanément. Cette limitation a incité le développement d'une nouvelle vague de solutions L1 mettant l'accent sur l'exécution parallèle comme moyen d'augmenter l'évolutivité et l'efficacité.

Une blockchain de contrats intelligents comporte deux composants principaux : un mécanisme de consensus, qui aide les nœuds à s'entendre sur la commande et l'inclusion des transactions, et une machine virtuelle, qui exécute le code d'application et met à jour l'état de l'application et les soldes des comptes. Ethereum a introduit des contrats intelligents programmables via l'EVM, un système partagé où chaque nœud conserve une copie de toutes les applications et de leur état. Malgré sa popularité, les blockchains utilisant l'EVM sont limitées en termes de vitesse de traitement. Par exemple, Ethereum peut traiter environ 10 transactions par seconde (tps), tandis que la chaîne EVM la plus rapide, BinanceChain, ne peut atteindre que plus de 200 tps. Cette inefficacité est due au modèle de traitement séquentiel de l'EVM, c'est-à-dire que les transactions sont traitées les unes après les autres.

Monad, un L1 axé sur l'évolutivité, fait cette analyse directement dans un article récent, "Pour référence : un jeu de cartes simple avec 10 000 utilisateurs se déplaçant toutes les 10 secondes nécessite 1000 tps." À en juger par la situation actuelle, il est peu probable que l'EVM puisse prendre en charge autant de nombreuses transactions dans une seule chaîne.

Pour relever ce défi, les développeurs explorent des solutions qui prennent en charge l'exécution parallèle. Ce rapport vise à créer un cadre pour classer comment ces blockchains parviennent à la parallélisation, en se concentrant sur l'amélioration de l'exécution parallèle. En mettant en œuvre ces stratégies, les écosystèmes de contrats intelligents peuvent surmonter les limites du traitement séquentiel et ouvrir la voie à une adoption plus large des applications décentralisées.

Qu'est-ce que l'exécution parallèle ?

Dans les blockchains, l'exécution parallèle peut être comprise par une simple analogie. Imaginez une épicerie qui doit facturer ses clients pour leurs achats. Si un magasin n'a qu'une seule voie de paiement et une seule caisse enregistreuse, la ligne se déplacera lentement, frustrant les clients et les incitant potentiellement à faire leurs achats ailleurs. Le magasin a utilisé plusieurs voies de paiement et caisses enregistreuses pour accélérer le processus. Il s'agit d'un traitement parallèle en action, permettant au magasin de gérer les besoins de plusieurs clients en même temps, plutôt qu'un à la fois.

En appliquant cette analogie à une blockchain, plusieurs voies de paiement représentent différents chemins ou voies pour le traitement des transactions. En exécution parallèle, ces canaux existent au sein d'un système unique, ce qui lui permet de traiter plusieurs transactions simultanément. Cette configuration permet à un seul système de blockchain de traiter plus efficacement un plus grand volume de transactions, améliorant ainsi les performances globales.

Maintenant que nous avons compris l'importance de l'exécution parallèle pour l'efficacité et l'évolutivité de la blockchain, approfondissons un peu ses mécanismes.

Comment fonctionne l'exécution parallèle ?

L'exécution parallèle dans la blockchain signifie traiter des transactions non liées en même temps. Traitez les transactions non liées comme des événements indépendants. Par exemple, si deux personnes échangent des jetons sur des bourses différentes, leurs transactions peuvent être traitées simultanément. Cependant, s'ils négocient sur la même plateforme, les transactions peuvent devoir être exécutées dans un ordre spécifique.

Le principal défi pour parvenir à une exécution parallèle consiste à déterminer quelles transactions ne sont pas corrélées et lesquelles sont indépendantes. Cela inclut de comprendre comment chaque transaction affecte les données de la blockchain. Avec de nombreuses applications interconnectées, il peut être difficile de déterminer quelles transactions dépendent les unes des autres.

Différents systèmes de blockchain utilisent différentes méthodes pour identifier les transactions non liées, généralement en gérant l'accès aux données de la blockchain. Chaque compte ou contrat intelligent a sa propre plage de données spécifiée qui peut être modifiée. Les transactions indépendantes ne tentent pas de modifier les mêmes données dans le même bloc, contrairement aux transactions liées.

Certaines transactions sont plus susceptibles d'être considérées comme non pertinentes que d'autres. Par exemple, un simple transfert de jetons entre deux personnes n'affecte pas les autres personnes, il est donc clair que ces types de transactions sont presque toujours indépendants. Cependant, les transactions impliquant le même contrat ou compte intelligent peuvent modifier ses données et ne peuvent pas être exécutées en parallèle. Un exemple est une transaction de jeton impliquant plusieurs plates-formes, où toutes les plates-formes participantes doivent attendre la fin de la transaction initiale avant de traiter d'autres transactions.

Dans les sections suivantes, nous allons nous plonger dans trois approches différentes pour obtenir une exécution parallèle dans les systèmes de blockchain : accès à l'état/optimiste, partitionnement et exécution parallèle basée sur le calcul. Il convient de noter que traditionnellement, seuls l'accès à l'état et les modèles optimistes ont été considérés par d'autres dans l'industrie de la blockchain comme des méthodes d'exécution véritablement parallèles, car ils permettent à une seule blockchain de traiter les transactions simultanément. Cependant, avec l'avènement de protocoles de communication inter-chaînes sophistiqués, le concept de ce qui constitue une exécution parallèle s'est considérablement élargi. Par exemple, le sharding, bien qu'il ne soit pas traditionnellement considéré comme un moyen d'exécution parallèle, facilite le traitement parallèle des transactions sur plusieurs fragments, il vaut donc la peine d'être considéré. Enfin, nous explorerons le concept relativement nouveau d'exécution parallèle basée sur le calcul. Ce modèle innovant, bien que peu connu, représente une approche révolutionnaire du traitement parallèle des transactions dans les systèmes de blockchain, que nous décrivons en détail plus loin dans cet article. En explorant ces approches, nous découvrirons comment chacune offre des avantages et des défis uniques pour une technologie de blockchain plus efficace et évolutive.

Exécution parallèle : accès aux états et modèle optimiste

Actuellement, la plupart des blockchains à exécution parallèle reposent sur deux approches populaires : l'approche d'accès à l'état et le modèle optimiste. L'approche d'accès à l'état est une approche stratégique qui identifie de manière préventive quelles transactions ont accès à quelle partie de l'état de la blockchain, permettant à la blockchain de déclarer facilement lesquelles sont indépendantes. Les modèles optimistes, en revanche, fonctionnent sous l'hypothèse que tous les échanges sont indépendants et vérifient simplement cette hypothèse rétrospectivement et font des ajustements si nécessaire. Plusieurs blockchains exploitent ces approches pour faciliter la parallélisation, démontrant chacune de ces approches théoriques en action. Ce sont généralement les modèles auxquels les gens se réfèrent lorsqu'ils discutent de blockchains parallèles. Cette section expliquera ces deux approches et leur application dans le domaine de la blockchain.

Solana : le pionnier des chaînes de blocs parallèles

Solana est devenue une pionnière dans l'espace blockchain, pionnière d'une approche unique de la gestion des transactions et de l'extension de l'évolutivité. Son innovation révolutionnaire consiste à déterminer quelles parties de l'état de la blockchain - l'enregistrement complet de tous les comptes ou actifs - sont accessibles par des actions spécifiques.

Pensez-y comme à un système de classement géant. Chaque transaction soumet une demande d'accès à un fichier spécifique. Les transactions peuvent être traitées indépendamment si la demande de fichier est unique. Mais s'ils demandent les mêmes fichiers, ces transactions deviennent entrelacées et nécessitent une coordination. La véritable astuce consiste à déterminer quelle transaction demande quel fichier.

En tant que première blockchain parallèle, Solana introduit une solution. Chaque transaction doit pré-déclarer à quel fichier elle souhaite accéder. Cette exigence est contenue dans le modèle d'exécution "SeaLevel" de Solana, où toutes les fonctions fonctionnent dans un cadre basé sur les comptes. Chaque compte n'est accessible que par les transactions qui lui sont associées, ce qui évite les conflits potentiels.

Surtout, Solana utilise également des procédures sans état contenues dans ces comptes. Les programmes sans état sont des morceaux de code qui ne se souviennent d'aucune donnée entre les exécutions - ils recommencent à zéro à chaque fois qu'ils s'exécutent. Lorsqu'un appel de fonction est effectué, ces programmes sont activés pour effectuer leurs tâches sans s'appuyer sur des données passées. Ce concept aide à maintenir l'indépendance des transactions et contribue à l'approche innovante de Solana pour améliorer l'évolutivité de la blockchain.

Sui : notion d'objets

Sui a récemment fait ses débuts et a fait sensation dans l'espace blockchain. Mais qu'est-ce que Sui apporte exactement à la table ? Pour approfondir les nuances de l'architecture de Sui, notre équipe a produit un article complet le comparant à Aptos, une autre blockchain que nous explorerons plus en détail. Cependant, à ce stade, notre principale préoccupation est de comprendre l'approche unique de Sui en matière d'exécution de transactions parallèles.

La stratégie de parallélisation de Sui est similaire à celle de Solana, mais avec une particularité unique : remplacer les comptes par une structure appelée "objets". Les transactions Sui ne font pas référence aux comptes, mais modifient les propriétés des objets, qui peuvent être des actifs ou des contrats intelligents. Si une transaction est désignée comme indépendante (c'est-à-dire si aucune autre transaction n'interagit avec l'objet cible), elle contournera entièrement le mécanisme de consensus - une fonctionnalité connue sous le nom de diffusion par consensus byzantin.

Pour illustrer, supposons qu'Alice possède un NFT unique, qui est représenté comme un objet dans le contexte de Sui et "Alice" est répertorié comme son "propriétaire". Si Alice transfère ce NFT à Bob, la transaction est traitée comme une transaction d'objet distincte, contournant le processus de consensus. Cependant, si Alice décide d'effectuer une opération plus complexe, comme l'achat d'un NFT sur le marché, la dynamique change. Étant donné que les objets peuvent être manipulés par d'autres transactions, la transaction peut être désignée comme une transaction dépendante et peut devoir être séquencée avant son exécution.

Fuel : utilisez UTXO pour améliorer l'exécution

Fuel est un leader dans le domaine de la blockchain et tire pleinement parti du modèle UTXO (Unspent Transaction Output). Si vous considérez le modèle UTXO comme une transaction physique en espèces, c'est comme acheter quelque chose pour 7 $ avec un billet de 10 $ et obtenir 3 $ en monnaie. En utilisant le modèle UTXO, Fuel peut traiter efficacement les transactions en parallèle. En effet, le modèle UTXO permet une identification facile des transactions indépendantes - celles qui ne se chevauchent pas dans les objets ou les "factures" avec lesquelles elles interagissent. Cette indépendance signifie que ces transactions peuvent être traitées simultanément sans conflit, ce qui augmente considérablement le débit des transactions.

Bitcoin adopte également le modèle UTXO, que Fuel utilise pour établir des listes d'accès strictes. Ces listes agissent comme des régulateurs, contrôlant quelles parties de l'état de la blockchain sont accessibles. La stratégie repose sur l'idée de l'ordre canonique des transactions, la façon dont elle organise les transactions dans un bloc, simplifie le processus d'identification des dépendances entre les transactions.

Fuel a donné vie à ce concept en développant une nouvelle machine virtuelle, FuelVM, et un langage de programmation innovant, Sway. FuelVM est conçu comme un remplacement allégé mais entièrement compatible de la machine virtuelle Ethereum (EVM), qui permet aux développeurs de s'intégrer plus directement dans l'écosystème Fuel.

De plus, Fuel met l'accent sur une structure de blockchain modulaire. Cette approche modulaire permet aux transactions exécutées dans Fuel d'être réglées sur le réseau principal Ethereum. En conséquence, Fuel a la capacité de gérer un grand nombre de transactions, qui sont toutes consolidées et réglées sur Ethereum. Cette décision stratégique permet à Fuel de gérer efficacement de lourdes charges de transactions.

Aptos : exécuter de manière optimiste

Dans notre exploration de la parallélisation de la blockchain, nous décrivons d'abord comment les blockchains établissent des dépendances au lancement de la transaction. Nous appelons cela l'approche d'accès à l'État, où un contrat intelligent ou un développeur définit quelles transactions peuvent accéder à quelle partie de l'État. Passons maintenant à une autre technique appelée exécution optimiste. L'exécution optimiste est une stratégie dans laquelle chaque transaction est traitée comme si elle n'était connectée à aucune autre transaction, permettant à toutes les transactions d'être traitées simultanément. Cependant, s'il s'avère que certaines transactions sont liées, elles sont arrêtées, leurs résultats sont effacés et elles sont réexécutées. Cela peut accélérer les choses lorsque les transactions sont pour la plupart indépendantes, mais lorsque plusieurs sont connectées, le traitement doit être arrêté et réinitialisé fréquemment, ce qui peut ralentir les transactions.

Aptos utilise une approche appelée Block Software Transactional Memory (Block-STM) pour appliquer une exécution optimiste. Aptos est construit sur le langage Move de Diem et MoveVM, qui découvre automatiquement les liens de transaction. Il n'est pas nécessaire que les transactions indiquent quelle partie de l'état de la blockchain (comme un emplacement de mémoire) elles touchent.

  • *

Source : Livre blanc Block-STM

(Le diagramme montre que si certaines transactions sont connectées, la vérification sera suspendue, les résultats seront supprimés, puis exécutés à nouveau.)

Dans block-stm, les transactions sont d'abord définies dans un certain ordre au sein d'un bloc, puis réparties entre différents threads de traitement pour une exécution simultanée. Au fur et à mesure que ces transactions sont traitées, le système garde une trace de l'emplacement de mémoire que chaque transaction change. Après chaque cycle de traitement, le système vérifie tous les résultats de transaction. S'il découvre qu'une transaction a touché un emplacement de mémoire modifié par une transaction précédente, il efface ses résultats et s'exécute à nouveau. Ce processus se poursuit jusqu'à ce que chaque transaction du bloc ait été traitée.

Le succès de Block-STM dépend en grande partie des connexions entre les transactions. Selon l'équipe Aptos, l'utilisation de 32 cœurs de traitement fournit une accélération de 8 fois lorsque les transactions sont fortement corrélées, et une accélération de 16 fois lorsque les transactions sont moins corrélées. Cependant, si chaque transaction d'un bloc est concaténée, block-stm peut entraîner un léger ralentissement par rapport au fait de le faire une par une.

Monad : Le leader de la chaîne EVM

Monad a lancé une nouvelle approche dans les blockchains compatibles EVM et a été la première blockchain à introduire une architecture parallèle à la première couche de l'EVM. Comme Aptos, il adopte une voie d'exécution optimiste, fonctionnant sous l'hypothèse que les transactions ne sont pas interconnectées et résolvant les dépendances au fur et à mesure qu'elles surviennent.

Cette nouvelle approche n'est pas sans défis. Apporter des modifications majeures à la technologie blockchain est un engagement complexe et à long terme. Néanmoins, Monads reste attaché à l'innovation et est devenu un phare pour d'autres réseaux de blockchain visant à améliorer leur propre architecture.

Prenez Polygon et BinanceSmartChain comme exemples, deux chaînes de blocs bien connues tentent maintenant de mettre à niveau leurs systèmes, en utilisant des stratégies similaires. L'importance du travail de pionnier des monades sur la mise en œuvre optimiste ne peut être surestimée, car il a incité de grandes plates-formes à réévaluer et à réviser leurs propres architectures.

Par exemple, Polygon a un débit rapide et des millions de transactions quotidiennes. Son API de mise en réseau fournit déjà suffisamment de données pour piloter un moteur parallélisable, et en explorant Block-STM spécifique à EVM, ils ont réussi à éviter les modifications de l'API. Cependant, compte tenu de l'énorme volume de transactions sur la chaîne PolygonPoS, l'hypothèse de zéro dépendance entre tous les blocs est irréaliste. Par conséquent, ils ont adopté une approche de métadonnées minimales, enregistrant les dépendances des transactions sous forme de métadonnées dans des blocs, réduisant ainsi la redondance et les exigences de calcul.

De même, BinanceSmartChain explore également les opportunités d'exécution parallèle au sein de sa chaîne EVM via une exécution optimiste, reflétant l'impact de l'approche innovante de Monad sur l'industrie dans son ensemble.

L'esprit d'innovation de Monad et son engagement à repousser les limites de la technologie blockchain ont créé une nouvelle tendance dans le domaine de l'EVM. Son approche consistant à adopter une architecture parallèle dans la couche 1 EVM améliore non seulement l'efficacité de son propre système, mais influence et inspire également d'autres acteurs importants du domaine à emboîter le pas, marquant un changement majeur dans l'avenir de l'industrie de la blockchain.

Exécution parallèle basée sur le sharding

Jusqu'à présent, nous avons discuté de la manière dont diverses chaînes de blocs brisent l'ordre séquentiel et réalisent la parallélisation grâce à des concepts tels que les comptes, les objets, les UTXO et les modèles optimistes. Cependant, la prochaine génération de blockchains que nous sommes sur le point d'étudier adopte une approche unique de la parallélisation. Ces plateformes ressemblent à un modèle de sharding, plutôt qu'à une seule blockchain capable de traiter les transactions en parallèle. La blockchain est divisée en plusieurs parties, chacune responsable du traitement de ses propres transactions.

Shardeum : méthode de partitionnement d'EVM

Shardeum apporte une approche révolutionnaire de l'évolutivité de la blockchain grâce au partage dynamique, permettant une évolutivité linéaire. Les fragments sont des sous-sections du réseau, et chaque fragment gère une partie des transactions réseau, améliorant ainsi l'efficacité des ressources et le débit. Considérez un utilisateur effectuant une transaction sur une application décentralisée (dapp) hébergée sur Shardeum, qui est affectée à un fragment spécifique en fonction de ses données associées. Un fragment traite les transactions en même temps que d'autres fragments sous sa juridiction, comme une mini-blockchain. Les utilisateurs bénéficient d'un traitement plus rapide, optimisant l'expérience utilisateur.

Une caractéristique clé de Shardeum est sa compatibilité avec la machine virtuelle Ethereum (EVM). Les développeurs peuvent facilement migrer leurs applications basées sur Ethereum vers Shardeum, en combinant le partage dynamique et le traitement parallèle de Shardeum avec le vaste écosystème Ethereum.

Le partage dynamique garantit l'adaptabilité du réseau aux demandes fluctuantes et favorise l'évolutivité et la haute efficacité du système. Shardeum automatise les transactions inter-fragments, permettant une exécution transparente d'applications complexes qui nécessitent la contribution de plusieurs utilisateurs, améliorant ainsi l'évolutivité.

Ce qui rend Shardeum unique, c'est sa capacité à évoluer de manière linéaire. Le réseau évolue de manière linéaire à mesure que des nœuds sont ajoutés, ce qui signifie que le débit des transactions augmente proportionnellement au nombre de nœuds. Cette mise à l'échelle linéaire, combinée à la flexibilité des nœuds et aux capacités de mise à l'échelle automatique, permet à Shardeum de gérer de manière optimale les charges de travail variables et la croissance du réseau. Shardeum fournit une solution pratique aux besoins transactionnels du monde réel en améliorant l'évolutivité des applications complexes et en fournissant une solution pratique aux besoins transactionnels du monde réel.

Linera : un protocole multichaîne révolutionnaire

La solution innovante de Linera pour l'évolutivité de la blockchain se distingue par son protocole dynamique multi-chaînes, qui comprend des chaînes d'utilisateurs, des chaînes publiques et des chaînes éphémères.

Le diagramme ci-dessus montre trois types de chaînes différents dans le système Linera : les chaînes d'utilisateurs, les chaînes publiques et les chaînes temporaires. Chaque type de chaîne a un rôle unique qui contribue à la fonctionnalité globale et à l'évolutivité du protocole.

Contrairement à Shardeum, où Linera a lancé le concept de chaînes contrôlées par l'utilisateur, Shardeum divise son réseau en plusieurs chaînes de fragments, chacune responsable d'un sous-ensemble de transactions. Cette approche granulaire donne aux utilisateurs plus de contrôle et d'autonomie tout en optimisant l'allocation des ressources sur le réseau.

Les chaînes d'utilisateurs, qui sont détenues et contrôlées uniquement par les utilisateurs, constituent l'épine dorsale de l'architecture de Linera. Ces chaînes traitent indépendamment les transactions pour des utilisateurs finaux spécifiques, permettant une exécution parallèle et augmentant considérablement le débit tout en réduisant la latence.

La chaîne publique est une autre partie importante de la conception de Linera. Ces chaînes hébergent des applications décentralisées comme les Automated Market Makers (amm). La chaîne publique est ouverte à tous les participants du réseau, fournissant une plate-forme commune pour les applications nécessitant des interactions ouvertes et sans restriction.

Linera introduit également le concept de chaînes temporaires, spécialement conçues pour gérer des opérations complexes telles que les échanges atomiques. Cette fonctionnalité offre un avantage significatif par rapport aux protocoles qui doivent enregistrer les transactions sur la chaîne principale, ce qui peut créer un goulot d'étranglement. Dans Linera, une chaîne temporaire est créée lors d'un swap atomique, qui est traité indépendamment et en parallèle avec d'autres transactions. Une fois le swap terminé, la chaîne temporaire disparaît et l'état mis à jour est reflété dans la chaîne d'utilisateurs associée.

La structure du protocole prend en charge la mise à l'échelle horizontale, qui est une propriété essentielle pour maintenir les performances du système sous des charges variables. À mesure que le trafic augmente, les validateurs peuvent ajouter plus de machines de travail pour gérer l'activité accrue et maintenir un débit élevé sous une charge élevée.

Contrairement à d'autres protocoles comme Cosmos, où chaque blockchain ou "zone" est exploitée par un ensemble différent de validateurs, Linera unifie toutes les chaînes en un seul ensemble de validateurs. Cette approche unifiée améliore l'efficacité et la sécurité du protocole Linera, simplifiant les interactions inter-chaînes en supprimant la complexité de la validation avec des ensembles de validateurs séparés, ce qui peut entraîner une latence accrue ou des écarts. En conséquence, les transactions sont traitées plus efficacement dans tout l'écosystème, ce qui réduit considérablement le risque de conflits.

QuaiNetwork : améliorer le parallélisme et l'interopérabilité avec la preuve de travail

QuaiNetwork a tracé sa propre voie dans l'industrie de la blockchain avec son approche unique de l'évolutivité. En mettant en œuvre une architecture multichaîne dynamique et interopérable, Quai fournit une solution unique basée sur la preuve de travail au problème d'évolutivité, permettant la parallélisation des transactions via des partitions s'exécutant à l'infini. Cette approche différencie Quai des protocoles comme Linera, qui utilise des chaînes contrôlées par l'utilisateur, tout en partageant certaines similitudes avec le partage dynamique de Shardeum.

La version de partitionnement utilisée par Quai est similaire aux méthodes traditionnelles utilisées pour améliorer les performances des bases de données dans les systèmes centralisés. Cependant, Quai diffère des schémas de partitionnement typiques en ce qu'il possède une architecture multi-chaînes dynamique, adaptable et profondément imbriquée. Ceci est quelque peu similaire au partitionnement dynamique de Shardeum, où le réseau est divisé en chaînes de fragments qui traitent les transactions de manière indépendante. Cependant, Quai coordonne ces différents fragments à l'aide d'une hiérarchie minière fusionnée, créant une interconnexion unique qui permet d'effectuer des opérations en parallèle sur le réseau. Contrairement à toutes les implémentations de partitionnement existantes, qui introduisent de nouveaux mécanismes de confiance pour faciliter l'interopérabilité (transactions inter-fragments), le réseau Quai utilise l'extraction de fusion pour interconnecter les fragments, garantissant que le seul mécanisme est l'extraction. L'approche unique de QuaiNetwork en matière d'interopérabilité grâce à l'exploitation minière fusionnée augmente considérablement le débit et offre la possibilité de prendre en charge un grand nombre de transactions simultanées sans sacrifier la décentralisation ou les performances.

Afin de pouvoir coordonner un nombre illimité de fragments d'exécution, le réseau Quai introduit un nouveau mécanisme de consensus appelé PoEM. PoEM est basé sur le consensus Proof-of-Work (PoW), mais contrairement à d'autres mécanismes de consensus, il est le premier à éliminer les fourches basées sur le consensus. Lors de l'exécution de PoEM, tous les nœuds auront toujours la même préférence pour le bloc suivant en séquence immédiatement, étant donné le même ensemble d'informations. PoEM permet à tous les nœuds de comparer immédiatement et équitablement tout bloc proposé, supprimant toute incertitude du consensus. En veillant à ce que le consensus soit toujours instantané, PoEM fournit la condition préalable nécessaire au partage infini. S'il faut du temps pour établir un consensus, il y a une limite sévère au nombre de fragments d'exécution qui peuvent être coordonnés. En tant que première méthode "à temps zéro" pour parvenir à un consensus, PoEM est le premier et le seul algorithme de consensus adapté à la coordination d'ensembles de chaînes à croissance infinie.

Une caractéristique importante de l'architecture de Quai est l'introduction de fils d'exécution parallèles (PET), appelés «régions» dans Quai. Chaque "région" ou thread d'exécution parallèle traite les transactions de manière indépendante et asynchrone. La capacité de chaque thread d'exécution Quai à traiter les transactions indépendamment prend en charge les capacités de traitement parallèle du réseau, qui est l'un des concepts fondamentaux derrière l'évolutivité de Quai.

Le nombre de chaînes dans QuaiNetwork est dynamique et adaptable, tout comme le partage dynamique de Shardeum. Cependant, l'utilisation par QuaiNetwork du mécanisme de consensus PoEM est unique en ce qu'elle permet à ce modèle de partitionnement dynamique d'être exécuté à l'infini sans dégradation des performances. QuaiNetwork ajoute des fragments d'exécution via le partitionnement dynamique avec un compromis évident : à mesure que de plus en plus de fragments d'exécution sont ajoutés au réseau, le temps nécessaire pour que les transactions inter-chaînes soient référencées par leurs fragments cibles augmentera. Cette relation est sous-linéaire - par exemple, la mise à l'échelle de Quai de 9 fragments à 16 fragments augmenterait le temps moyen pour qu'une transaction inter-chaînes atteigne sa destination de 3300 secondes à 4400 secondes. Une mise à l'échelle supplémentaire à 25 fragments augmente le temps moyen à environ 5 500 secondes. Théoriquement, si Quai s'étend à 100 fragments, le temps moyen de règlement inter-chaîne global est d'environ 11 000 secondes. L'algorithme de partitionnement dynamique de QuaiNetwork surveille la limite de gaz du réseau et le taux de blocage oncle pour comprendre quand un débit supplémentaire est nécessaire, et tisse automatiquement des fragments d'exécution supplémentaires dans un consensus pour répondre aux demandes de débit accrues.

De plus, la structure tissée de Quai prend en charge les contrats intelligents multi-chaînes composables et permet une interaction efficace des contrats inter-chaînes. Chaque thread d'exécution Quai a un EVM, et de nouveaux opcodes sont introduits pour communiquer avec l'EVM situé sur le fragment alternatif. Cette capacité permet aux développeurs de déployer des contrats sur plusieurs ou toutes les chaînes Quai, garantissant ainsi l'opérabilité des applications décentralisées (dapps) sur le réseau.

L'application innovante de partage de QuaiNetwork, associée à son interopérabilité par fusion et à ses fils d'exécution parallèles, représente une avancée majeure dans l'évolutivité de la blockchain dans le cadre d'un mécanisme de consensus basé sur le travail. La gestion robuste des transactions inter-chaînes et les capacités avancées de contrats intelligents font de Quai un contributeur remarquable dans le domaine en pleine croissance des protocoles de blockchain évolutifs.

Exécution parallèle basée sur le calcul

Un paradigme émergent dans l'exécution parallèle des blockchains est le modèle basé sur le calcul. Ce terme a été inventé par notre équipe de recherche chez AmberGroup pour décrire une méthode de traitement simultané de tâches informatiques dans un environnement partagé. Contrairement aux modèles d'accès à l'état et optimistes, les modèles basés sur le calcul ne reposent pas strictement sur des calculs séquentiels basés sur la mémoire. Au lieu de cela, il fonctionne sur le principe d'une machine virtuelle hautement parallèle. Cette conception favorise une exécution parallèle robuste et efficace. Les sections suivantes explorent les principes de l'exécution parallèle basée sur le calcul, ses applications potentielles et les défis uniques qu'elle pose au domaine plus large de la technologie blockchain.

Kindelia : la centrale de l'exécution parallèle basée sur le calcul

Kindelia est apparu comme une solution prometteuse dans les modèles d'exécution parallèle basés sur le calcul dans les blockchains. Développé par HigherOrder Corporation, il est basé sur un environnement d'exécution unique appelé Higher-Order Virtual Machine (HVM), qui permet un calcul parallèle efficace.

L'innovation de Kindelia est basée sur un nouveau modèle informatique appelé "réseau d'interaction", un concept qui diffère du modèle de machine de Turing qui sous-tend la plupart des ordinateurs modernes. Les réseaux d'interaction sont basés sur un graphe de nœuds d'interaction, chaque nœud possédant un ensemble de règles réécrites qui dictent comment il interagit avec les autres nœuds du réseau. Le calcul est réalisé en réduisant le réseau en interaction et en supprimant systématiquement les nœuds du réseau selon ses règles de réécriture jusqu'à ce qu'un état final soit atteint. Ce modèle permet d'effectuer des calculs en parallèle sans avoir besoin d'une horloge centrale pour dicter le processus, car les nœuds interagissent localement sans aucune coordination globale.

  • *

*Le dessin de Victor Taelin (CEO de HigherOrderCompany) nous montre comment réduire le réseau d'interaction. *

Les avantages de ce modèle sont nombreux. En raison de son parallélisme inhérent, il facilite des calculs plus rapides et plus efficaces, surpassant largement les modèles informatiques séquentiels traditionnels. De plus, il ouvre un champ d'application dans divers domaines de l'informatique. Kindelia se distingue comme la première machine virtuelle véritablement parallèle dans le contexte de la blockchain, atteignant bon nombre des objectifs auxquels altL1 aspire. Cependant, en raison de leur dépendance aux architectures basées sur les machines de Turing, ces concurrents pourraient ne jamais atteindre le même niveau de parallélisation.

La conception de Kindelia nécessite moins d'étapes de calcul pour exécuter les fonctions, maximise l'utilisation des cœurs de traitement et garantit que les opérations sont effectuées dans le bon ordre, le tout avec un effort supplémentaire minimal de la part des développeurs. Ce processus d'exécution simplifié, associé à un niveau de sécurité plus élevé, fait de Kindelia un exemple de pointe d'exécution parallèle basée sur le calcul dans la technologie blockchain.

Bien que la base théorique de Kindelia et HVM soit quelque peu avancée, la signification pratique est facile à comprendre : améliorer la vitesse, l'efficacité et la sécurité de l'informatique blockchain. Avec Kindelia, nous assistons à un bond en avant révolutionnaire dans la technologie blockchain, marquant une étape importante dans le développement continu de ce domaine transformateur.

Préoccupations concernant l'exécution parallèle

Alors que nous explorons le potentiel des blockchains parallèles, il est important de reconnaître que si elles offrent des avantages considérables en termes d'évolutivité et de vitesse, elles présentent également des défis uniques et des inconvénients potentiels. Les deux principaux problèmes souvent mentionnés sont le potentiel de centralisation accrue et les taux élevés de conflits de transactions.

Les blockchains parallèles répartissent le traitement des transactions entre de nombreux nœuds, augmentant ainsi le débit de traitement des transactions. Cependant, cette répartition peut également conduire à la concentration du pouvoir au sein de quelques nœuds, apportant ainsi un certain degré de centralisation. Cette centralisation peut saper la fiabilité et la sécurité de la blockchain, la rendant plus vulnérable aux attaques. De plus, les blockchains parallèles augmentent le risque d'indisponibilité du réseau. Par exemple, le réseau Solana a connu une panne en septembre 2021 en raison de demandes de transactions excessives. L'incident met en évidence les risques potentiels associés à la mise à l'échelle des réseaux de blockchain et souligne le besoin de solutions capables de gérer des volumes de transactions élevés sans compromettre la stabilité.

Le taux de conflits de transactions est un autre problème important. Ce ratio fait référence au pourcentage de transactions qui ne peuvent pas être exécutées simultanément en raison de conflits. Un taux de conflit élevé peut entraîner un grand nombre de reprises de transactions dans des blockchains parallèles. Selon le rapport Flashbots, le taux de conflit des transactions Ethereum en 2017 était d'environ 35 %. Avec des applications majeures comme OpenSea et Uniswap dominant le réseau Ethereum, le taux de conflit sera probablement encore plus élevé.

Dans le cas d'une exécution optimiste, le nombre de transactions à refaire peut gravement perturber le pipeline si le taux de conflit dépasse 30 %. Chaque refaire ralentit le traitement des transactions et réduit les avantages de la parallélisation. Par conséquent, la gestion du taux de conflits de transactions est cruciale pour assurer l'efficacité des blockchains parallèles.

en conclusion

Des changements importants sont en cours dans l'espace blockchain alors qu'il tente de résoudre les problèmes d'évolutivité et d'efficacité inhérents à sa conception. Nous avons exploré diverses approches pour parvenir à une exécution parallèle, chacune avec ses propres avantages et défis. Un modèle d'accès basé sur l'état marque la première étape pour surmonter la nature séquentielle des chaînes de blocs. L'exécution optimiste, bien que prometteuse, introduit également le risque de conflits et nécessite des stratégies efficaces de résolution des conflits. Le sharding va encore plus loin en divisant le réseau en parties plus petites et gérables, chacune capable de traiter les transactions de manière indépendante. Enfin, l'exécution parallèle basée sur le calcul utilise une informatique de pointe pour optimiser les performances des nœuds et la sécurité des applications. Malgré les défis et les problèmes potentiels, ces modèles montrent le potentiel d'améliorer considérablement les performances des technologies de blockchain. Alors que ces technologies continuent de se développer et de mûrir, nous sommes à l'aube d'une nouvelle ère de la technologie blockchain.

Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
  • Récompense
  • Commentaire
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)