L'émergence de l'EVM parallèle : le chemin d'évolution des Layer 1 à haute performance

EVM : le composant central d'Ethereum

EVM est une partie essentielle d'Ethereum, responsable de l'exécution des contrats intelligents et du traitement des transactions. En tant que moteur de calcul, l'EVM fournit une abstraction de calcul et de stockage, similaire à la spécification de la machine virtuelle Java. L'EVM exécute son propre ensemble d'instructions en bytecode, qui est généralement compilé à partir de Solidity.

EVM est une machine d'état quasi-turing complète. "Quasi" parce que toutes les étapes d'exécution consomment une quantité limitée de ressources Gas, évitant ainsi la situation où une boucle infinie pourrait arrêter l'ensemble de la plateforme Ethereum.

L'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 l'exécution, l'état mondial le plus récent est modifié, et après l'exécution d'une transaction, l'état est cumulatif, atteignant le dernier état mondial après la fin 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, ce qui rend difficile l'optimisation de l'exécution parallèle du processus d'exécution linéaire des transactions d'Ethereum.

Dans ce sens, le protocole Ethereum stipule que les transactions sont exécutées dans l'ordre. Bien que l'exécution séquentielle garantisse que les transactions et les contrats intelligents peuvent être exécutés dans un ordre déterministe, assurant ainsi la sécurité, cela peut entraîner des congestions et des délais au niveau du réseau en cas de charge élevée, ce qui explique pourquoi Ethereum a d'énormes goulets d'étranglement en matière de performance et nécessite des solutions de mise à l'échelle Layer2.

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

La voie parallèle du Layer1 haute performance

La plupart des Layer 1 à haute performance conçoivent leurs propres solutions d'optimisation en s'appuyant sur le défaut de traitement parallèle d'Ethereum. Ici, nous ne parlerons que 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

L'EVM est conçu comme une machine virtuelle de 256 bits, afin de faciliter le traitement des algorithmes de hachage d'Ethereum. Cependant, les ordinateurs exécutant réellement l'EVM doivent mapper les octets de 256 bits à l'architecture locale pour exécuter des contrats intelligents, ce qui rend l'ensemble du système très inefficace et peu pratique. 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 bytecode WASM, eBPF ou Move, plutôt que l'EVM.

WASM est un format de bytecode léger, à chargement rapide, portable et basé sur un mécanisme de sécurité sandbox, permettant aux développeurs d'écrire des contrats intelligents dans plusieurs langages de programmation, puis de les compiler en bytecode WASM et de les exécuter. WASM a déjà été adopté comme norme par de nombreux projets de blockchain, et Ethereum intégrera également WASM à l'avenir, garantissant ainsi que la couche d'exécution d'Ethereum soit plus efficace, simple et adaptée en tant que plateforme de calcul entièrement décentralisée.

eBPF est l'ancêtre de BPF, qui était à l'origine utilisé pour le filtrage efficace des paquets de données réseau. Après évolution, eBPF a été formé, offrant un ensemble d'instructions plus riche, permettant d'intervenir dynamiquement et de modifier le comportement du noyau du système d'exploitation sans modifier le code source. Les contrats intelligents exécutés sur une certaine blockchain sont tous compilés en SBF (basé sur eBPF) bytecode et s'exécutent sur son réseau blockchain.

Move est un nouveau langage de programmation de contrats intelligents, axé 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 strictement définis et contrôlés. 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 nécessiter de mise en œuvre et de vérification au niveau des contrats intelligents à l'exécution. Certains projets de blockchain ont hérité de Move ou ont écrit leurs contrats intelligents via des versions personnalisées.

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

Exécution parallèle

L'exécution parallèle dans la blockchain signifie le traitement simultané de transactions non liées. Considérez les transactions non liées comme des événements qui n'ont pas d'impact les uns sur les autres. Par exemple, si deux personnes échangent des jetons sur des plateformes de trading différentes, leurs transactions peuvent être traitées simultanément. Cependant, s'ils é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 sont indépendantes et quelles sont corrélées. La plupart des Layer1 à haute performance reposent sur 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, les programmes (contrats intelligents) sont sans état, car ils ne peuvent pas accéder (lire ou écrire) à un état qui existe de manière persistante tout au long du processus de transaction. Pour accéder ou maintenir un état, les programmes doivent utiliser des comptes. Chaque transaction doit spécifier quels comptes seront accessibles pendant l'exécution de la transaction, de sorte que le runtime de traitement des transactions puisse planifier des transactions non chevauchantes pour une exécution parallèle tout en garantissant la cohérence des données.

Dans certaines blockchains, 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 fonctions. Les instances de structures stockées à l'exécution existent en tant qu'objets, il y a trois types d'objets différents : les objets propriétaires, les objets partagés et les objets immuables. La stratégie de parallélisation est similaire à ce qui précède, et les transactions doivent également spécifier quels objets elles opèrent.

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

Certaines blockchains utilisent la méthode Block-STM (mémoire de transaction logicielle de bloc) pour appliquer une exécution parallèle optimiste. Dans Block-STM, les transactions sont d'abord configurées dans un bloc selon un certain ordre, puis divisées entre différents threads de traitement afin d'être exécutées simultanément. Lors du traitement de ces transactions, le système suit les emplacements 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 mémoire modifié par une transaction antérieure, il efface son résultat et la réexécute. Ce processus se poursuit jusqu'à ce que toutes les transactions du bloc aient été traitées.

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

EVM parallèle

La EVM parallèle (Parallel EVM) a été évoquée dès 2021, à l'époque elle faisait référence à une EVM capable de traiter plusieurs transactions simultanément, visant à améliorer les performances et l'efficacité de l'EVM existante. Parmi les solutions représentatives, on trouve la EVM parallèle réalisée par une certaine plateforme basée sur Block-STM et la EVM parallèle co-développée par une certaine plateforme.

Mais à la fin de 2023, les experts du secteur ont tous mentionné l'EVM parallèle en envisageant les tendances de 2024, ce qui a stimulé une vague d'adoption de l'EVM compatible avec la technologie d'exécution parallèle, y compris Monand et Sei.

De nos jours, certains projets Layer1 et Layer2 arborent tous des étiquettes de EVM parallèle, ce qui est éblouissant.

Je pense que seules les trois catégories suivantes peuvent être définies comme EVM parallèles :

  1. Mise à niveau de l'exécution parallèle de Layer1 compatible EVM sans utiliser la technologie d'exécution parallèle ;

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

  3. Solution EVM compatible de Layer 1 non EVM compatible utilisant une technologie d'exécution parallèle.

Voici une brève introduction à quelques projets représentatifs.

Monad est une Layer1 haute performance compatible EVM qui utilise un mécanisme PoS, visant à améliorer considérablement la scalabilité et la vitesse des transactions grâce à l'exécution parallèle. Monad permet l'exécution parallèle des transactions au sein d'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 inconsistantes. Un analyseur de code statique peut prédire les dépendances, éviter la parallélisation invalide 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'échec des transactions.

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

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

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

Artela est un réseau blockchain extensible qui permet aux développeurs de créer des applications décentralisées (dApps) riches en fonctionnalités. L'EVM++ lancé par Artela représente une EVM parallèle à haute extensibilité et haute performance, mise en œuvre en deux phases. La première phase sera conçue autour de l'exécution parallèle ; sur la base de l'exécution parallèle, le calcul élastique garantira que la puissance de calcul des nœuds du réseau soit extensible, aboutissant 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 supporter l'exécution parallèle.

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

Une solution compatible EVM sur une certaine plateforme est une solution pour exécuter des transactions EVM au-dessus de cette plateforme. Il s'agit en réalité d'un contrat intelligent sur cette plateforme, qui implémente un interpréteur EVM, compilé en un bytecode spécifique. Elle met en œuvre un modèle de transaction et un modèle de compte Ethereum. Les utilisateurs n'ont qu'à payer les frais de GAS EVM pour envoyer des transactions. Les frais du réseau de la plateforme sont payés par un agent. La plateforme exige que les transactions fournissent une liste de comptes, et les transactions emballées ne font pas exception, donc les responsabilités de l'agent incluent la génération de cette liste de comptes, tout en bénéficiant également de la capacité d'exécution parallèle des transactions de cette plateforme.

Il existe d'autres projets similaires qui utilisent l'EVM pour exécuter des contrats intelligents afin de réaliser des solutions compatibles avec l'EVM. Théoriquement, certaines plateformes peuvent également adopter cette approche pour atteindre une compatibilité EVM sans intrusion. Des projets travaillent actuellement sur cette tâche, développant un cadre modulaire pour construire et déployer des infrastructures, applications et blockchains basées sur Move dans n'importe quel environnement distribué. Un des modules de ce projet peut convertir sans effort les opcodes de l'EVM en opcodes Move, ce qui signifie que les projets Solidity peuvent bénéficier des performances et des avantages de sécurité de Move sans écrire une seule ligne de code Move.

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

Résumé

La technologie de parallélisme dans la blockchain est déjà un sujet de discussion classique, le récit refait surface de temps en temps, mais pour l'instant, il s'agit principalement de modifications et d'imitations du modèle d'exécution optimiste représenté par le mécanisme Block-STM d'une certaine blockchain, sans percées substantielles, ce qui rend difficile le maintien de l'enthousiasme.

En regardant vers l'avenir, il y aura encore plus de nouveaux projets Layer1 émergents qui rejoindront la compétition pour l'EVM parallèle, et pour certains anciens Layer1, des mises à niveau parallèles EVM ou des solutions compatibles EVM seront également mises en œuvre. Les deux directions mènent au même résultat et de nouveaux récits liés à l'amélioration des performances émergeront également.

Cependant, par rapport au récit des EVM haute performance, la blockchain peut fleurir de diverses manières, et l'émergence de récits similaires à WASM, SVM et Move VM pourrait être plus prometteuse.

EVM parallèle : la chirurgie cardiaque de Layer1 haute performance

ETH1.73%
MOVE1.41%
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
  • 6
  • Partager
Commentaire
0/400
BlockImpostervip
· Il y a 22h
le gas est vraiment cher
Voir l'originalRépondre0
RektHuntervip
· Il y a 22h
le gas a augmenté, il y a d'autres chaînes alternatives. Quiconque joue est idiot.
Voir l'originalRépondre0
degenonymousvip
· Il y a 22h
Ajouter des frais de gas, c'est la mort, d'accord ?
Voir l'originalRépondre0
SchrodingerGasvip
· Il y a 22h
La guerre du gas est vraiment absurde, avant-hier nuit, j'ai perdu mes trois chiffres en essayant de frapper et de brûler.
Voir l'originalRépondre0
WalletDoomsDayvip
· Il y a 22h
Les frais de gas sont trop élevés, tant pis.
Voir l'originalRépondre0
GreenCandleCollectorvip
· Il y a 22h
Les frais de gaz vont rapidement augmenter.
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)