Merci d'avoir lu Shoal Research! Abonnez-vous gratuitement pour recevoir de nouveaux articles et soutenir mon travail.
S'abonner
Mais qu'est-ce qu'une transaction exactement?
Les transactions sur les blockchains impliquent le transfert d'actifs numériques d'une adresse sur le grand livre distribué à une autre, sécurisé par l'utilisation de la cryptographie à clé publique. Les transactions peuvent être utilisées pour des transferts décentralisés de pair à pair, ou pour divers processus d'authentification et de vérification également.
Un exemple de transaction que tout le monde peut observer sur un explorateur de blockchain comme SeiTrace### 1.1 Comment fonctionnent les transactions sur la BlockchainLorsqu'une transaction est initiée, c'est-à-dire que Bob envoie des jetons à Alice, la transaction de Bob est diffusée sur le réseau de la blockchain sous-jacente. Par la suite, des clusters de nœuds spécialisés sur le réseau se mettent à vérifier et valider la transaction comme légitime. Une fois que suffisamment de ces nœuds ont vérifié le contenu de la transaction, la transaction est ajoutée à un bloc avec d'autres transactions d'utilisateurs. Une fois qu'un bloc est plein, il est ensuite ajouté à la chaîne, d'où le nom de 'blockchain'. La transaction de Bob fait désormais partie d'un registre sécurisé et transparent, et lui et Alice peuvent tous deux vérifier le contenu.
En termes généraux, toutes les transactions blockchain contiennent des métadonnées qui aident les nœuds opérant et sécurisant le réseau à identifier et exécuter un ensemble donné d'instructions et de paramètres. Chaque transaction aura des données de haut niveau saisies par l'expéditeur d'origine, telles que le montant à transférer, l'adresse de destination et la signature numérique pour confirmer la transaction, ainsi que diverses données de bas niveau créées et attachées automatiquement, bien que ces données varient en fonction du réseau et de la conception.
Finalement, cependant, les processus impliqués en coulisses au niveau du réseau avant l'exécution de la transaction varient en fonction de la conception de la blockchain.
Pour mieux comprendre, nous pouvons exposer le cycle de vie d'une transaction sur une blockchain qui utilise un mempool;

Parcourons le cycle de vie d'une transaction sur une blockchain non-mempool :

Cela a entraîné des goulots d'étranglement significatifs pour le débit du réseau sous-jacent, car le nombre de transactions pouvant être ajoutées au bloc est limité, ce qui entraîne des temps d'attente plus longs et des pics sans précédent des coûts de transaction qui peuvent rendre le réseau inutilisable par moments. De plus, les modèles d'exécution séquentielle utilisent les composants matériels de manière plutôt inefficace et ne bénéficient donc pas des avancées en matière de calcul, c'est-à-dire des cœurs de processeur multiples.

À l'origine, uniquement implémenté dans les systèmes informatiques hautes performances, le calcul parallèle a évolué pour devenir le paradigme dominant dans l'architecture informatique d'aujourd'hui, la demande de calcul étant exponentiellement augmentée à l'ère d'Internet, exacerbée par les limitations de l'augmentation de fréquence des décennies précédentes.
Cette norme architecturale s'applique aux blockchains de la même manière, à la seule différence que la tâche principale que les ordinateurs résolvent est le traitement et l'exécution des transactions, ou le transfert de valeur du contrat intelligent A au contrat intelligent B, d'où le terme exécution parallèle.
L'exécution parallèle signifie qu'au lieu de traiter les transactions de manière sérielle, une blockchain peut traiter simultanément plusieurs transactions non conflictuelles. Cela peut considérablement augmenter le débit d'un réseau blockchain, le rendant ainsi plus évolutif et efficace pour gérer des charges d'activité plus élevées et une demande d'espace de blocs.
Pour une analogie plus simple. Pensez à l’efficacité d’une épicerie avec plusieurs files d’attente pour que les clients puissent passer à la caisse. vs un seul pour tout le monde.
Bien que cela puisse sembler simplement une fonction intuitive d'amélioration de la qualité de vie, les déblocages des performances du réseau permis par l'exécution parallèle ouvrent la voie au développement de nouveaux et innovants cas d'utilisation et applications qui peuvent tirer parti de faibles latences et de volumes élevés, ce qui pose les bases de l'intégration de la prochaine cohorte massive d'utilisateurs aux écosystèmes cryptographiques.
L'exécution en parallèle sur les blockchains peut être catégorisée comme déterministe ou optimiste. L'exécution parallèle déterministe, utilisée par des blockchains comme Solana, nécessite intrinsèquement que les transactions déclarent toutes les dépendances mémoire à l'avance, c'est-à-dire quelles parties de l'état global elles souhaitent accéder à l'avance. Bien que cette étape crée une surcharge supplémentaire pour les développeurs, de manière plus générale, elle permet au réseau de trier et d'identifier les transactions non conflictuelles avant l'exécution, créant un système optimisé, prévisible et efficace. En revanche, l'exécution parallèle optimiste est structurée pour traiter toutes les transactions en parallèle, en opérant sous l'hypothèse inhérente qu'il n'y a pas de conflits. Cela permet à la blockchain sous-jacente d'exécuter les transactions plus rapidement, bien que cela entraîne une ré-exécution potentielle par la suite en cas de conflit. Si deux transactions conflictuelles sont soumises, le système peut alors les retraiter et les ré-exécuter soit en parallèle soit séquentiellement.
Afin de mieux comprendre les implications de ces subtilités de conception, il peut être utile d'analyser l'exécution parallèle à travers le prisme des équipes qui poussent aujourd'hui la frontière de l'exécution parallèle.


Dans les environnements SM, Sealevel utilise une architecture multi-threaded, ce qui signifie qu'il peut traiter plusieurs transactions simultanément jusqu'à la capacité du cœur du validateur.
La clé de l'activation de l'exécution parallèle de Solana est que lorsque une transaction est activée, le réseau attribuera une liste d'instructions pour que cette transaction soit exécutée, en précisant quels comptes et états à accéder et quels changements à apporter - c'est la clé pour déterminer quelles transactions ne sont pas en conflit et peuvent s'exécuter simultanément, ainsi que pour permettre aux transactions qui tentent d'accéder au même état de le faire simultanément.
Considérez l'efficacité que les étiquettes apportent aux systèmes de bagages enregistrés dans les aéroports.
Solana utilise également Cloudbreak, son propre accountsDB personnalisé, pour stocker et gérer les données d'état afin de permettre des lectures et écritures concurrentes de transactions. Cloudbreak, optimisé pour l'exécution parallèle, s'étend horizontalement pour distribuer et gérer les données d'état sur plusieurs nœuds.
Grâce à son architecture parallèle, Solana peut gérer un grand nombre de transactions et exécuter rapidement, offrant ainsi une finalité quasi-instantanée des transactions. Solana traite en moyenne entre 2 000 et 10 000 transactions par seconde (TPS) aujourd'hui. De plus, les cas d'utilisation pour le SVM s'étendent lentement mais sûrement, car des équipes comme Eclipse déploient une infrastructure de couche 2 visant à tirer parti du SVM en tant qu'environnement d'exécution.
À l'origine, Sei utilisait un modèle d'exécution parallèle déterministe, dans lequel les contrats intelligents déclarent à l'avance leur accès à l'état requis afin que le système puisse exécuter simultanément des transactions non conflictuelles. Avec le lancement de leur mise à niveau V2, Sei passe plutôt à un modèle parallèle optimiste, ce qui signifie que toutes les transactions seront traitées en parallèle dès leur soumission au réseau (étape d'exécution), puis seront examinées pour des informations conflictuelles avec les transactions précédentes (étape de validation). En cas de deux transactions ou plus en conflit, c'est-à-dire de transactions tentant d'accéder au même état du réseau, Sei identifie ce point de conflit, puis réexécute les transactions soit en parallèle, soit séquentiellement en fonction de la nature du conflit.

Afin de stocker et de maintenir les données de transaction, Sei introduira également SeiDB, une base de données personnalisée qui vise à améliorer les lacunes de la v1 en optimisant l'exécution parallèle. SeiDB vise à réduire les frais généraux liés au stockage de données redondantes et à maintenir une utilisation efficace du disque pour une meilleure performance du réseau. La V2 réduit la quantité de métadonnées nécessaires à des fins de suivi et de stockage, et permet un journal des transactions en amont pour aider à la récupération des données en cas de panne.

Enfin, Sei a également récemment annoncé le lancement de son Parallel Stack, un framework open-source permettant aux solutions de mise à l'échelle de la couche 2, c'est-à-dire les rollups, d'utiliser et de bénéficier de l'exécution parallèle.

Monad implémente l'exécution parallèle et le pipeline superscalaire pour optimiser la vitesse et le débit des transactions. Tout comme Sei v2, Monad utilisera un modèle d'exécution optimiste, ce qui signifie que le réseau commence à exécuter toutes les transactions entrantes simultanément, puis analyse et valide les transactions pour rechercher des conflits et les réexécute en conséquence, le but final étant que le résultat serait identique si les transactions avaient été exécutées séquentiellement.

Il est important de noter que pour maintenir la synchronicité avec Ethereum, Monad ordonne les transactions dans un bloc dans un ordre linéaire, chaque transaction étant mise à jour séquentiellement.
Afin de maintenir et d'accéder aux données de la blockchain de manière plus efficace que l'état actuel des clients Ethereum ne le propose, Monad a créé son propre MonadDB personnalisé, construit nativement pour les blockchains. MonadDB tire parti des fonctionnalités avancées du noyau Linux pour des opérations de disque asynchrones efficaces, éliminant les contraintes d'accès d'entrée/sortie synchrones. MonadDB offre un accès asynchrone d'entrée/sortie (E/S asynchrones), une fonctionnalité clé permettant une exécution parallèle, le système pouvant ainsi commencer le traitement de la transaction suivante tout en attendant de lire l'état d'une transaction précédente.
Pour une analogie simple, considérez la préparation d'un repas multifacette (spaghetti aux boulettes de viande). Les étapes impliquées sont 1) la préparation d'une sauce, 2) la cuisson des boulettes de viande, et c) la cuisson des pâtes. Un chef efficace commencerait par faire bouillir de l'eau pour les pâtes, puis préparer les ingrédients pour la sauce, puis jeter les pâtes dans l'eau qui bout maintenant, puis cuire la sauce, et enfin les boulettes de viande, au lieu de faire chaque étape une par une, en terminant une tâche dans son intégralité avant de passer à la suivante.
Le MoveVM sert d'environnement d'exécution natif pour les blockchains basées sur Move, tirant parti de la parallélisation pour offrir des vitesses d'exécution de transaction plus rapides et une efficacité globale accrue.

Block-STM est un moteur d'exécution parallèle multi-threadé qui permet une exécution parallèle optimiste. Les transactions sont pré-ordonnées et séquencées de manière stratégique à l'intérieur des blocs, ce qui est essentiel pour résoudre efficacement les conflits et ré-exécuter ces transactions. Les recherches menées par Aptos ont montré que jusqu'à 160K TPS peuvent être théoriquement pris en charge en utilisant la parallélisation de Block-STM.

Similaire à Solana, Sui implémente une exécution parallèle déterministe, ce qui nécessite que les transactions indiquent à l'avance les comptes auxquels elles doivent accéder.
Movement construit une suite d'outils de développement et de services d'infrastructure blockchain pour permettre aux développeurs d'accéder facilement aux avantages de la construction sur Move. En opérant en tant que fournisseur de services d'exécution en tant que service de type AWS pour les développeurs de Move, Movement implémente la parallélisation en tant que fonctionnalité de conception centrale pour permettre un débit plus élevé et une efficacité réseau globale accrue. Le MoveVM est un environnement d'exécution modulaire qui permet aux réseaux blockchain d'étendre et d'ajuster leurs capacités de traitement des transactions selon les besoins pour pouvoir prendre en charge un volume croissant de transactions, renforçant leurs capacités à traiter et exécuter des transactions en parallèle.

Architecture MoveVM
Le mouvement lancera également M2, un ZK-rollup qui sera interopérable avec les clients EVM et Move. M2 héritera du moteur de parallélisation Block-STM et devrait fournir des dizaines de milliers de TPS en conséquence.
Pas de conseils financiers ou fiscaux. Le but de cette newsletter est purement éducatif et ne doit pas être considéré comme un conseil en investissement, un conseil juridique, une demande d'achat ou de vente d'actifs, ou une suggestion pour prendre des décisions financières. Ce n'est pas un substitut à un conseil fiscal. Veuillez consulter votre comptable et mener vos propres recherches.
Divulgations. Tous les messages sont la propre opinion des auteurs, et non celle de leur employeur. Ce message a été sponsorisé par la Fondation Aster. Bien que Shoal Research ait reçu un financement pour cette initiative, les sponsors n'influencent pas le contenu analytique. Chez Shoal Research, nous visons à garantir que tout le contenu soit objectif et indépendant. Nos processus de révision interne respectent les normes d'intégrité les plus élevées, et tous les conflits d'intérêts potentiels sont divulgués et gérés de manière rigoureuse pour maintenir la crédibilité et l'impartialité de nos recherches.





