Aperçu du développement de la technologie EVM parallèle : de Layer1 haute performance à l'exploration de nouveaux projets

EVM: le composant central d'Ethereum

L'EVM est le cœur d'Ethereum, responsable de l'exécution des contrats intelligents et du traitement des transactions. C'est un moteur de calcul qui offre une abstraction de calcul et de stockage, similaire à la machine virtuelle Java. L'EVM exécute son propre ensemble d'instructions en bytecode, généralement compilé à partir de Solidity.

EVM est une machine d'état presque complète de Turing. "Presque" parce que toutes les étapes d'exécution consomment des ressources limitées en Gas, donc toute exécution de contrat intelligent donnée est limitée à un nombre fini d'étapes de calcul, évitant ainsi la possibilité d'une boucle infinie qui pourrait entraîner l'arrêt complet de la plateforme Ethereum.

EVM n'a pas de fonction de planification, le module d'exécution d'Ethereum extrait les transactions des blocs, et l'EVM est responsable de leur exécution séquentielle. Pendant le processus d'exécution, l'état mondial le plus récent est modifié, et après l'exécution d'une transaction, un cumul d'état est effectué, atteignant ainsi l'état mondial le plus récent après la complétion du bloc. L'exécution du bloc suivant dépend strictement de l'état mondial après l'exécution du bloc précédent, donc le processus d'exécution linéaire des transactions d'Ethereum ne peut pas être bien optimisé pour l'exécution parallèle.

Dans ce sens, le protocole Ethereum stipule que les transactions sont exécutées dans un ordre déterminé. Bien que l'exécution séquentielle garantisse que les transactions et les contrats intelligents peuvent être exécutés dans un ordre déterminé, assurant ainsi la sécurité, cela peut entraîner des congestions et des retards sur le réseau en cas de forte charge, ce qui explique pourquoi Ethereum présente d'énormes goulets d'étranglement en termes de performance et nécessite une extension par des Rollups de Layer 2.

EVM parallèle : la chirurgie de remplacement d'un cœur pour un Layer1 haute performance

La voie parallèle du Layer1 haute performance

La plupart des Layer 1 à haute performance sont conçus sur la base des défauts de traitement parallèle d'Ethereum pour élaborer leurs propres solutions d'optimisation. Ici, nous parlons uniquement de l'optimisation de la couche d'exécution, c'est-à-dire de la machine virtuelle et de l'exécution parallèle.

Machine virtuelle

La machine virtuelle EVM est conçue comme une machine virtuelle de 256 bits, afin de faciliter le traitement des algorithmes de hachage d'Ethereum, produisant clairement une sortie de 256 bits. Cependant, les ordinateurs exécutant réellement l'EVM doivent mapper les octets de 256 bits sur l'architecture locale pour exécuter des contrats intelligents, rendant ainsi l'ensemble du système très inefficient et impraticable. Par conséquent, en ce qui concerne le choix de la machine virtuelle, les Layer1 haute performance utilisent davantage des machines virtuelles basées sur le code byte WASM, eBPF ou Move, plutôt que l'EVM.

WASM est un format de bytecode léger, rapide à charger, portable et basé sur un mécanisme de sécurité par sandbox. Les développeurs peuvent écrire des contrats intelligents dans plusieurs langages de programmation, puis les compiler en bytecode WASM et les exécuter. WASM a déjà été adopté comme norme par de nombreux projets de blockchain, y compris EOS, Dfinity, Polkadot, etc. Ethereum intégrera également WASM à l'avenir, garantissant que la couche d'exécution d'Ethereum soit plus efficace et simple, ce qui en fait une plateforme de calcul entièrement décentralisée adaptée.

eBPF est l'évolution de BPF, qui était à l'origine destiné à un filtrage efficace des paquets de données réseau. Après avoir évolué, il a donné naissance à eBPF, offrant un ensemble d'instructions plus riche, permettant une intervention dynamique sur le noyau du système d'exploitation et une modification de son comportement sans changer le code source. Par la suite, cette technologie a quitté le noyau pour développer un environnement d'exécution eBPF en mode utilisateur, qui présente des performances élevées, une sécurité et une portabilité. Les contrats intelligents exécutés sur une certaine blockchain sont compilés en SBF( basé sur le bytecode eBPF) et s'exécutent sur son réseau blockchain.

Move est un nouveau langage de programmation de contrats intelligents qui met l'accent sur la flexibilité, la sécurité et la vérifiabilité. Le langage Move est conçu pour résoudre les problèmes de sécurité liés aux actifs et aux transactions, permettant ainsi aux actifs et aux transactions d'être définis et contrôlés de manière stricte. Le vérificateur de bytecode Move est un outil d'analyse statique qui analyse le bytecode Move et détermine s'il respecte les règles de sécurité des types, de la mémoire et des ressources requises, sans avoir besoin d'être mis en œuvre au niveau des contrats intelligents et vérifié à l'exécution. Certaines nouvelles chaînes publiques émergentes ont hérité de Move, ou ont écrit leurs contrats intelligents via des versions personnalisées.

EVM parallèle : la chirurgie de cœur pour Layer1 haute performance

Exécution parallèle

L'exécution parallèle dans la blockchain signifie traiter simultanément des transactions non liées. Considérez les transactions non liées comme des événements qui n'affectent pas les uns les autres. Par exemple, si deux personnes échangent des tokens sur des plateformes de trading différentes, leurs transactions peuvent être traitées en même temps. Cependant, si elles échangent sur la même plateforme, il peut être nécessaire d'exécuter les transactions dans un ordre spécifique.

Le principal défi de l'exécution parallèle est de déterminer quelles transactions ne sont pas liées et lesquelles sont indépendantes. La plupart des Layer1 haute performance dépendent de deux méthodes : la méthode d'accès à l'état et le modèle de parallélisme optimiste.

La méthode d'accès à l'état nécessite de savoir à l'avance quelle partie de l'état de la blockchain chaque transaction peut accéder, afin d'analyser quelles transactions sont indépendantes.

Dans certaines blockchains publiques, le programme ( des contrats intelligents ) est sans état, car il ne peut pas accéder de lui-même à un état qui existe de manière continue tout au long du processus de transaction. Pour accéder ou maintenir un état, le programme doit utiliser un compte. Chaque transaction doit spécifier quels comptes seront accessibles pendant l'exécution de la transaction, afin que le runtime de traitement des transactions puisse planifier l'exécution parallèle des transactions non chevauchantes tout en garantissant la cohérence des données.

Dans certaines blockchains publiques, chaque contrat intelligent est un module composé de définitions de fonctions et de structures. Les structures sont instanciées dans les fonctions et peuvent être transmises à d'autres modules par des appels de fonction. Les instances de structures stockées à l'exécution existent sous forme d'objets, et il existe trois types différents d'objets : les objets propriétaires, les objets partagés et les objets immuables. La stratégie de parallélisation est similaire à celle des blockchains publiques précédentes, et les transactions doivent également spécifier quels objets sont concernés.

Le modèle d'optimisme parallèle fonctionne sous l'hypothèse que toutes les transactions sont indépendantes, vérifiant rétrospectivement cette hypothèse et l'ajustant si nécessaire.

Certaines blockchains utilisent la mémoire des transactions logicielles de blocs Block-STM( pour appliquer une exécution parallèle optimiste. Dans Block-STM, les transactions sont d'abord configurées dans l'ordre à l'intérieur du bloc, puis divisées entre différents threads de traitement pour être exécutées simultanément. Lors du traitement de ces transactions, le système suit les emplacements de mémoire modifiés par chaque transaction. Après chaque cycle de traitement, le système vérifie tous les résultats des transactions. S'il découvre qu'une transaction a touché un emplacement de mémoire modifié par une transaction antérieure, il efface son résultat et la relance. Ce processus se poursuit jusqu'à ce que chaque transaction du bloc soit complètement traitée.

![EVM parallèle : la chirurgie de cœur d'une Layer1 haute performance])https://img-cdn.gateio.im/webp-social/moments-a607a7c15ad24fe7ca05d3035536e0de.webp(

EVM parallèle

L'EVM parallèle a été mentionné dès 2021, à l'époque, il s'agissait d'un EVM capable de traiter plusieurs transactions simultanément, visant à améliorer les performances et l'efficacité de l'EVM existant. Parmi les solutions représentatives, il y a l'EVM parallèle basé sur Block-STM développé par une certaine plateforme, ainsi que l'EVM parallèle développé en collaboration avec certaines chaînes publiques.

Mais à la fin de 2023, des personnalités bien connues du secteur ont évoqué de manière unanime les tendances de 2024, mentionnant à nouveau les EVM parallèles, ce qui a suscité un engouement pour les Layer1 compatibles avec l'EVM utilisant la technologie d'exécution parallèle, y compris Monand et Sei.

De nos jours, certaines solutions compatibles avec l'EVM sur des blockchains publiques, les Layer2 Rollup du SVM d'Ethereum, les Layer2 Rollup de la machine virtuelle Move d'Ethereum, ainsi que les couches d'exécution modulaires Layer1, se voient toutes attribuer l'étiquette EVM parallèle, ce qui est déroutant.

Les seules trois catégories qui peuvent être définies comme un EVM parallèle sont :

  1. Mise à niveau d'exécution parallèle des Layer1 compatibles EVM sans technologie d'exécution parallèle adoptée;

  2. Layer 1 compatible avec l'EVM utilisant la technologie d'exécution parallèle;

  3. Solution EVM compatible non-EVM qui utilise une technologie d'exécution parallèle de Layer1.

Certaines des principales Layer 1 compatibles EVM n'ont pas besoin d'être présentées, voici une brève introduction à quelques projets émergents.

![EVM parallèle : la chirurgie cardiaque des Layer1 haute performance])https://img-cdn.gateio.im/webp-social/moments-782a2e55e6ced7eb933b46a291831cf9.webp(

Monad est une Layer1 haute performance compatible EVM utilisant un mécanisme PoS, visant à améliorer considérablement l'évolutivité et la vitesse des transactions grâce à l'exécution parallèle. Monad permet l'exécution parallèle des transactions dans un bloc pour améliorer l'efficacité. Il utilise un modèle de parallélisme optimiste, commençant l'exécution de nouvelles transactions avant que l'exécution de l'étape précédente ne soit terminée. Pour faire face aux résultats incorrects, Monad suit les entrées/sorties et réexécute les transactions incohérentes. Un analyseur de code statique peut prédire les dépendances, éviter les parallélismes invalides et revenir à un mode simple en cas d'incertitude. Cette exécution parallèle augmente le débit tout en réduisant la probabilité d'échecs de transactions.

Sei est une blockchain publique développée sur le Cosmos SDK, spécialement conçue pour le DeFI. Sei V2 est une mise à niveau à grande échelle du réseau Sei, visant à devenir le premier EVM entièrement parallèle. Tout comme Monad, Sei V2 utilisera la parallélisation optimiste. Cela permet à la blockchain d'exécuter des transactions simultanément, sans que les développeurs aient besoin de définir des dépendances. En cas de conflit, la blockchain suivra chaque partie de stockage touchée par les transactions et les réexécutera dans l'ordre. Ce processus se poursuivra de manière récursive jusqu'à ce que tous les conflits non résolus soient réglés.

![EVM parallèle : la chirurgie de remplacement pour un Layer1 haute performance])https://img-cdn.gateio.im/webp-social/moments-a1267900376ed2f2cd4bd0ba20d9d4fe.webp(

Artela est un réseau blockchain évolutif qui permet aux développeurs de créer des applications décentralisées riches en fonctionnalités. L'EVM++ lancé par Artela représente une EVM parallèle à haute évolutivité et haute performance, mise en œuvre en deux phases. La première phase sera conçue autour de l'exécution parallèle, qui, sur la base de l'exécution parallèle, garantira l'évolutivité de la puissance de calcul des nœuds du réseau grâce au calcul élastique, réalisant finalement un espace de bloc élastique. L'exécution parallèle regroupera les transactions en fonction de l'analyse des conflits de dépendance des transactions pour soutenir l'exécution parallèle.

Une solution compatible EVM sur une chaîne publique est une solution utilisée pour exécuter des transactions EVM sur cette chaîne publique. Cet EVM est en réalité un contrat intelligent sur la chaîne publique, dans lequel un interpréteur EVM est implémenté, compilé en code byte SBF. Cet EVM implémente un modèle de transaction et un modèle de compte d'Éther, et les utilisateurs n'ont qu'à payer les frais de GAS EVM pour envoyer des transactions. Les frais du réseau de la chaîne publique sont payés par le Proxy. La chaîne publique exige que les transactions fournissent une liste de comptes, et les transactions encapsulées ne font pas exception, donc les responsabilités du Proxy incluent la génération de cette liste de comptes, tout en acquérant également la capacité d'exécution parallèle des transactions de la chaîne publique.

Des projets similaires utilisant l'EVM comme moteur d'exécution de contrats intelligents pour réaliser des solutions compatibles avec l'EVM existent également. Théoriquement, certaines nouvelles blockchains pourraient adopter cette approche pour offrir une compatibilité EVM non invasive, et des équipes travaillent sur ce type de projet. Ce projet est un cadre modulaire, destiné à construire et déployer des infrastructures, des applications et des blockchains basées sur Move dans n'importe quel environnement distribué. Ses modules peuvent convertir sans couture les opcodes EVM en opcodes Move, ce qui signifie que les projets Solidity peuvent tirer parti des performances et des avantages en matière de sécurité de Move, sans nécessiter une seule ligne de code Move.

La compatibilité EVM permet aux développeurs de migrer facilement leurs applications Ethereum vers la blockchain, sans nécessiter de modifications massives, ce qui constitue une excellente direction pour construire un écosystème.

![EVM parallèle : la chirurgie de cœur pour un Layer1 haute performance])https://img-cdn.gateio.im/webp-social/moments-78534ff60422145f960d7ca268eea559.webp(

Résumé

La technologie de parallélisation de la blockchain est un sujet déjà bien connu, la narration revient de temps en temps, mais actuellement, il s'agit surtout de modifications et d'imitations du modèle d'exécution optimiste représenté par le mécanisme Block-STM d'Aptos, sans percée substantielle, donc la popularité a du mal à se maintenir.

Envisageant l'avenir, il y aura encore plus de nouveaux projets Layer 1 émergents rejoignant la compétition EVM parallèle, et pour certains anciens Layer 1, des mises à niveau EVM parallèles ou des solutions compatibles EVM seront également mises en œuvre. Les deux directions, bien que différentes, convergent vers un même objectif, et de nouveaux récits liés à l'amélioration des performances verront encore le jour.

Cependant, par rapport à la narration de l'EVM haute performance, la blockchain peut s'épanouir avec une diversité florissante, et l'émergence de narrations similaires à WASM, SVM et Move VM pourrait être plus prometteuse.

![EVM parallèle : la chirurgie de cœur à haute performance Layer1])https://img-cdn.gateio.im/webp-social/moments-0657022b9d55e1412984c85802deff11.webp(

ETH-0.78%
MOVE1.29%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 3
  • Partager
Commentaire
0/400
MeaninglessApevip
· 08-01 20:45
Encore parler de l'EVM, tu n'es pas fatigué ?
Voir l'originalRépondre0
DaoResearchervip
· 08-01 20:36
En se référant à la section 2.3 du livre jaune d'ETH, le degré de couplage de la machine à états dans le modèle Singleton doit être vérifié.
Voir l'originalRépondre0
ProveMyZKvip
· 08-01 20:34
Pourquoi le gaz a-t-il encore augmenté ?
Voir l'originalRépondre0
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)