EVM parallèle : une nouvelle direction pour surmonter les goulots d'étranglement de performance de la Blockchain
La performance est devenue un goulot d'étranglement pour le développement futur de l'industrie Blockchain. Les réseaux Blockchain créent une nouvelle base de confiance décentralisée pour les transactions entre individus et entreprises.
Le premier réseau Blockchain, représenté par le Bitcoin, a inauguré un nouveau modèle de transaction de monnaie électronique décentralisée grâce à la comptabilité distribuée. Le deuxième réseau Blockchain, représenté par l'Ethereum, exploite pleinement l'imagination et propose de réaliser des applications décentralisées dApp( via une machine d'état distribuée.
Depuis lors, le réseau Blockchain a ouvert sa propre histoire de développement rapide depuis plus de dix ans, passant des infrastructures Web3 à divers secteurs représentés par DeFi, NFT, réseaux sociaux et GameFi, donnant naissance à d'innombrables innovations technologiques ou modèles commerciaux. L'essor de l'industrie nécessite d'attirer constamment de nouveaux utilisateurs pour participer à la construction de l'écosystème des applications décentralisées, ce qui, à son tour, impose des exigences plus élevées en matière d'expérience produit.
Web3, en tant que nouvelle forme de produit "sans précédent", doit non seulement innover pour satisfaire les besoins des utilisateurs ) besoins fonctionnels (, mais aussi réfléchir à comment atteindre un équilibre entre la sécurité et la performance ) besoins non fonctionnels (. Depuis sa création, diverses solutions ont été proposées pour tenter de résoudre les problèmes de performance.
Ces solutions peuvent être grossièrement classées en deux catégories : la première catégorie est celle des solutions d'extension on-chain, telles que le sharding ) et le DAG ( ; la deuxième catégorie est celle des solutions d'extension off-chain, comme Plasma, le réseau Lightning, les sidechains et les Rollups. Mais cela ne suit de loin pas la croissance rapide du nombre de transactions on-chain.
Surtout après l'été DeFi de 2020 et l'explosion continue des inscriptions dans l'écosystème Bitcoin à la fin de 2023, l'industrie a un besoin urgent de nouvelles solutions d'amélioration des performances pour répondre aux exigences de "haute performance, faibles frais". Les blockchains parallèles sont nées dans ce contexte.
Aperçu de la narration EVM parallèle
Le récit EVM parallèle marque l'émergence d'une dynamique concurrentielle à deux puissances dans le domaine des Blockchains parallèles. Le traitement des transactions par Ethereum est séquentiel, les transactions étant exécutées l'une après l'autre, ce qui entraîne une faible utilisation des ressources. Passer d'un traitement séquentiel à un traitement parallèle apporterait un énorme gain de performance.
Les concurrents d'Ethereum comme Solana, Aptos et Sui disposent tous de capacités de traitement parallèle et leur écosystème se développe également très bien, avec une capitalisation boursière des tokens atteignant respectivement 45 milliards, 3,3 milliards et 1,9 milliard de dollars. Ils forment ainsi un camp non EVM parallèle. Face à ce défi, l'écosystème d'Ethereum ne reste pas en reste et se mobilise pour donner de l'énergie à l'EVM, formant ainsi un camp EVM parallèle.
Une certaine plateforme d'échange a annoncé avec éclat dans sa proposition de mise à niveau vers la version v2 qu'elle deviendrait la "première Blockchain EVM parallèle", avec une capitalisation boursière actuelle de 2,1 milliards de dollars, et des perspectives de développement encore plus grandes. La nouvelle Blockchain publique EVM parallèle Monad, qui connaît un engouement marketing sans précédent, est très prisée par les investisseurs, et son potentiel ne doit pas être sous-estimé. De plus, la Blockchain publique L1 Canto, avec une capitalisation boursière de 170 millions de dollars et une infrastructure publique gratuite intégrée, a également annoncé sa proposition de mise à niveau vers EVM parallèle.
En outre, plusieurs projets L2 encore à un stade précoce cherchent à améliorer les performances inter-écosystèmes en intégrant les capacités de plusieurs chaînes L1. À part un projet qui a atteint une capitalisation boursière circulante de 69 millions de dollars, les autres projets manquent encore de données pertinentes. On peut s'attendre à ce que davantage de projets L1 et L2 rejoignent le champ de bataille des blockchains parallèles à l'avenir.
Non seulement le récit EVM parallèle a encore un grand potentiel de croissance sur le marché, mais le secteur des blockchains parallèles auquel appartient ce récit EVM parallèle a également un grand potentiel de croissance, donc les perspectives du marché sont vastes.
La capitalisation boursière totale actuelle de L1 et L2 est de 7521,23 milliards de dollars, tandis que la capitalisation boursière des blockchains parallèles s'élève à 525,39 milliards de dollars, représentant seulement environ 7 %. Parmi celles-ci, la capitalisation boursière des projets liés à la narration EVM parallèle est de 23,39 milliards de dollars, ne représentant que 4 % de la capitalisation boursière des blockchains parallèles.
![Interprétation en dix mille caractères de l'EVM parallèle : au-delà du séquentiel, comment surmonter le goulot d'étranglement des performances de la Blockchain ?])https://img-cdn.gateio.im/webp-social/moments-c1724bb9cbb64ad2c8cf437c4c8b42c1.webp(
Classification des projets narratifs EVM parallèles
L'industrie divise généralement les réseaux Blockchain en 4 couches.
Layer 0) réseau ( : Blockchain réseau de base, gérant les protocoles de communication réseau fondamentaux.
Infrastructure de Layer 1)( : un réseau décentralisé qui dépend de divers mécanismes de consensus pour valider les transactions.
Couche 2) extension ( : dépend de divers protocoles de deuxième couche sur la Couche 1, visant à résoudre diverses limitations de la Couche 1, notamment la scalabilité.
Layer 3) applications ( : dépend de Layer 2 ou Layer 1, utilisé pour construire diverses applications décentralisées ) dApp (
Les projets narratifs EVM parallèles se divisent principalement en blockchains monolithiques et blockchains modulaires, les blockchains monolithiques étant elles-mêmes divisées en L1 et L2. D'après le nombre total de projets et le développement de plusieurs pistes principales, on peut constater que l'écosystème des blockchains publiques L1 EVM parallèles a encore beaucoup d'espace de développement par rapport à l'écosystème d'Ethereum.
Le secteur DeFi a des exigences de "hautes vitesses et faibles frais", tandis que le secteur des jeux a des exigences de "fortes interactions en temps réel". Les deux ont des exigences spécifiques en matière de vitesse d'exécution. L'EVM parallèle apportera sans aucun doute une meilleure expérience utilisateur à ces projets, propulsant le développement de l'industrie vers une nouvelle étape.
L1 est une nouvelle blockchain avec des capacités d'exécution parallèle intégrées, constituant une infrastructure de haute performance. Dans cette catégorie L1, des projets tels que v2 d'un certain échange, Monad et Canto conçoivent leur propre EVM parallèle, compatible avec l'écosystème Ethereum et offrant une capacité de traitement des transactions à haut débit.
L2, en intégrant les capacités d'autres chaînes L1, offre une capacité d'extension pour la coopération inter-écosystèmes, c'est une tendance évidente des rollups. Parmi les projets de ce type L2, un projet est un simulateur EVM sur le réseau Solana, Eclipse utilise Solana pour exécuter des transactions mais fait le règlement sur l'EVM. Lumio est similaire à Eclipse, sauf qu'il remplace la couche d'exécution par Aptos.
En plus des solutions de blockchain monolithiques mentionnées ci-dessus, Fuel a proposé sa propre approche de blockchain modulaire. Dans sa deuxième version, elle se positionnera comme un système d'exploitation rollup Ethereum, offrant des capacités d'exécution modulaires plus flexibles et plus complètes.
Fuel se concentre sur l'exécution des transactions, tout en externalisant le reste vers une ou plusieurs chaînes de blocs indépendantes, permettant ainsi une combinaison plus flexible : pouvant être à la fois L2, L1, ou même une chaîne latérale ou un canal d'état. Actuellement, l'écosystème Fuel compte 17 projets, principalement axés sur les domaines DeFi, NFT et infrastructure.
Cependant, seule l'oracle inter-chaînes Orally a été mise en application. La plateforme de prêt décentralisée Swaylend et la plateforme de trading de contrats perpétuels SPARK sont en phase de test, d'autres projets sont encore en cours de développement.
![Interprétation en mille caractères de l'EVM parallèle : au-delà du séquentiel, comment surmonter les goulets d'étranglement des performances de la Blockchain ?])https://img-cdn.gateio.im/webp-social/moments-e9cd714bba886918acc4f8141c1d3f4c.webp(
Principe de la technologie EVM parallèle
Pour réaliser l'exécution décentralisée des transactions, le réseau Blockchain doit remplir 4 responsabilités :
Exécution: exécuter et vérifier les transactions
Disponibilité des données : distribution de nouveaux blocs à tous les nœuds du réseau Blockchain
Mécanisme de consensus : valider le bloc, parvenir à un consensus
Règlement : Règlement et enregistrement de l'état final de la transaction
L'EVM parallèle est principalement une optimisation des performances de la couche d'exécution. Cela se divise en deux solutions : une solution de réseau de couche 1 )L1( et une solution de réseau de couche 2 )L2(. La solution L1 introduit un mécanisme d'exécution parallèle des transactions, permettant aux transactions d'être exécutées autant que possible en parallèle dans la machine virtuelle. La solution L2 utilise essentiellement une machine virtuelle L1 déjà parallélisée pour réaliser un certain degré de "exécution hors chaîne + règlement sur chaîne".
Donc, pour comprendre les principes techniques de l'EVM parallèle, il faut le décomposer : d'abord comprendre ce qu'est une machine virtuelle )virtual machine(, puis comprendre ce qu'est l'exécution parallèle )parallel execution(.
) machine virtuelle
Dans le domaine de l'informatique, une machine virtuelle fait référence à la virtualisation ( ou à l'émulation ) d'un système informatique.
Les machines virtuelles se divisent en deux types, l'une appelée machine virtuelle système ###system virtual machine(, qui peut virtualiser une machine physique en plusieurs machines, exécutant plusieurs systèmes d'exploitation, augmentant ainsi l'utilisation des ressources. L'autre est appelée machine virtuelle de processus )process virtual machine(, qui fournit une abstraction pour certains langages de programmation avancés, permettant aux programmes informatiques écrits dans ce langage de s'exécuter de manière indépendante de la plateforme sur différentes plateformes.
JVM est une machine virtuelle de processus conçue pour le langage de programmation Java. Les programmes écrits en Java sont d'abord compilés en bytecode Java ), un code binaire d'état intermédiaire (. Le bytecode Java est interprété par la JVM : la JVM envoie le bytecode à l'interpréteur, qui le traduit en code machine sur différentes machines, puis s'exécute sur la machine.
La machine virtuelle de blockchain est un type de machine virtuelle de processus. Dans le contexte de la blockchain, la machine virtuelle fait référence à la virtualisation d'une machine d'état distribuée, utilisée pour exécuter des contrats de manière distribuée et faire fonctionner des dApps. En comparaison avec le JVM, l'EVM est une machine virtuelle de processus conçue pour le langage Solidity, où les contrats intelligents sont d'abord compilés en code d'octets opcode, puis interprétés et exécutés par l'EVM.
Les nouvelles blockchains émergentes en dehors d'Ethereum adoptent davantage des machines virtuelles basées sur le bytecode WASM ou eBPF lors de la mise en œuvre de leurs propres machines virtuelles. WASM est un format de bytecode de petite taille, à chargement rapide, portable et basé sur un mécanisme de sécurité sandbox, permettant aux développeurs d'écrire des contrats intelligents en utilisant plusieurs langages de programmation, tels que C, C++, Rust, Go, Python, Java et même TypeScript, puis de les compiler en bytecode WASM et de les exécuter. Les contrats intelligents exécutés sur la blockchain d'un échange utilisent justement ce format de bytecode.
eBPF est l'ancêtre de BPF)Berkeley Packet Filter, le filtre de paquets de Berkeley(, qui était à l'origine utilisé pour le filtrage efficace des paquets de données réseau. Après évolution, il a donné naissance à eBPF, offrant un ensemble d'instructions plus riche.
C'est une technologie révolutionnaire qui permet d'intervenir dynamiquement sur le noyau du système d'exploitation et de modifier son comportement sans changer le code source. Par la suite, cette technologie est sortie du noyau pour développer un runtime eBPF en mode utilisateur, qui possède des performances élevées, une sécurité et une portabilité. Les contrats intelligents exécutés sur Solana sont tous compilés en code byte eBPF et s'exécutent sur son réseau Blockchain.
Dans d'autres blockchains L1, Aptos et Sui utilisent le langage de programmation de contrats intelligents Move, compilé en un bytecode spécifique exécuté sur la machine virtuelle Move. Monad, quant à elle, a conçu sa propre machine virtuelle compatible avec le bytecode opcode EVM )Shanghai fork(.
![Interprétation en dix mille mots de l'EVM parallèle : au-delà du séquentiel, comment surmonter les goulets d'étranglement de performance du Blockchain ?])https://img-cdn.gateio.im/webp-social/moments-8219961e2cf56e2dfabf5ababf7dbbe2.webp(
) Mécanisme d'exécution parallèle
L'exécution parallèle est une technique de ce type :
Être capable de tirer parti des avantages des processeurs multicœurs pour traiter plusieurs tâches simultanément, augmentant ainsi le débit du système;
Assurez-vous que le résultat de la transaction obtenue est exactement le même que celui obtenu en exécutant les transactions de manière séquentielle.
Le nombre de transactions traitées par seconde (TPS) dans un réseau Blockchain, (, est un indicateur technique utilisé pour mesurer la vitesse de traitement. Le mécanisme d'exécution parallèle est relativement complexe et met également à l'épreuve le niveau technique des développeurs, il n'est pas facile à expliquer. Commençons par un exemple de "banque" pour expliquer ce qu'est l'exécution parallèle.
Tout d'abord, qu'est-ce que l'exécution sérielle ?
Situation 1 : Si nous considérons le système comme une banque et le CPU traitant les tâches comme un guichet, alors l'exécution sérielle des tâches est comparable à une banque n'ayant qu'un seul guichet pour traiter les affaires. À ce moment-là, les clients venant à la banque, avec la tâche ), doivent faire la queue en une longue file d'attente pour être servis un par un. Pour chaque client, le personnel du guichet doit répéter les mêmes actions ( exécuter les instructions ) pour traiter les affaires des clients. Tant que ce n'est pas leur tour, les clients doivent attendre, ce qui entraîne une prolongation du temps de transaction.
Alors, qu'est-ce que l'exécution parallèle ?
Situation 2 : À ce moment-là, la banque voyant qu'il y avait beaucoup de monde, a ouvert plusieurs guichets pour traiter les affaires. Il y a 4 guichetiers au guichet traitant les affaires en même temps, la vitesse est donc environ 4 fois plus rapide qu'auparavant, le temps d'attente des clients est donc réduit à environ 1/4 du temps initial, la vitesse de traitement des affaires par la banque s'est améliorée.
Que se passe-t-il s'il n'y a pas de protection et que deux personnes effectuent simultanément un virement à une autre personne?
Situation 3 : A, B et C, trois personnes, ont respectivement 2 ETH, 1 ETH et 0 ETH sur leurs comptes. Maintenant, A et B veulent chacun transférer 0,5 ETH à C. Dans un système d'exécution des transactions en série, il n'y aura aucun problème ( la flèche gauche "\u003c=" représente la lecture du livre de comptes, la flèche droite "=\u003e" représente l'écriture dans le livre de comptes, idem ) :
A \u003c= 2 ETH
A => 1.5 ETH
C \u003c= 0 ETH
C => 0,5 ETH
B <= 1
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.
10 J'aime
Récompense
10
5
Partager
Commentaire
0/400
CryptoPunster
· 07-30 00:03
Nouvelle idée pour prendre les gens pour des idiots, n'est-ce pas ?
Voir l'originalRépondre0
FUDwatcher
· 07-29 21:10
Le goulot d'étranglement, n'est-ce pas le portefeuille ?
Voir l'originalRépondre0
ParanoiaKing
· 07-29 21:06
C'est tout ? Ce n'est pas pour se faire prendre pour des cons.
Voir l'originalRépondre0
FlyingLeek
· 07-29 21:02
Le goulot n'est pas le cou de la bouteille, bull~
Voir l'originalRépondre0
BridgeJumper
· 07-29 20:53
Encore une fois, nous allons travailler sur l'optimisation des performances de la Blockchain~
EVM parallèle : surmonter les goulets d'étranglement de performance et mener la nouvelle ère du Blockchain
EVM parallèle : une nouvelle direction pour surmonter les goulots d'étranglement de performance de la Blockchain
La performance est devenue un goulot d'étranglement pour le développement futur de l'industrie Blockchain. Les réseaux Blockchain créent une nouvelle base de confiance décentralisée pour les transactions entre individus et entreprises.
Le premier réseau Blockchain, représenté par le Bitcoin, a inauguré un nouveau modèle de transaction de monnaie électronique décentralisée grâce à la comptabilité distribuée. Le deuxième réseau Blockchain, représenté par l'Ethereum, exploite pleinement l'imagination et propose de réaliser des applications décentralisées dApp( via une machine d'état distribuée.
Depuis lors, le réseau Blockchain a ouvert sa propre histoire de développement rapide depuis plus de dix ans, passant des infrastructures Web3 à divers secteurs représentés par DeFi, NFT, réseaux sociaux et GameFi, donnant naissance à d'innombrables innovations technologiques ou modèles commerciaux. L'essor de l'industrie nécessite d'attirer constamment de nouveaux utilisateurs pour participer à la construction de l'écosystème des applications décentralisées, ce qui, à son tour, impose des exigences plus élevées en matière d'expérience produit.
Web3, en tant que nouvelle forme de produit "sans précédent", doit non seulement innover pour satisfaire les besoins des utilisateurs ) besoins fonctionnels (, mais aussi réfléchir à comment atteindre un équilibre entre la sécurité et la performance ) besoins non fonctionnels (. Depuis sa création, diverses solutions ont été proposées pour tenter de résoudre les problèmes de performance.
Ces solutions peuvent être grossièrement classées en deux catégories : la première catégorie est celle des solutions d'extension on-chain, telles que le sharding ) et le DAG ( ; la deuxième catégorie est celle des solutions d'extension off-chain, comme Plasma, le réseau Lightning, les sidechains et les Rollups. Mais cela ne suit de loin pas la croissance rapide du nombre de transactions on-chain.
Surtout après l'été DeFi de 2020 et l'explosion continue des inscriptions dans l'écosystème Bitcoin à la fin de 2023, l'industrie a un besoin urgent de nouvelles solutions d'amélioration des performances pour répondre aux exigences de "haute performance, faibles frais". Les blockchains parallèles sont nées dans ce contexte.
Aperçu de la narration EVM parallèle
Le récit EVM parallèle marque l'émergence d'une dynamique concurrentielle à deux puissances dans le domaine des Blockchains parallèles. Le traitement des transactions par Ethereum est séquentiel, les transactions étant exécutées l'une après l'autre, ce qui entraîne une faible utilisation des ressources. Passer d'un traitement séquentiel à un traitement parallèle apporterait un énorme gain de performance.
Les concurrents d'Ethereum comme Solana, Aptos et Sui disposent tous de capacités de traitement parallèle et leur écosystème se développe également très bien, avec une capitalisation boursière des tokens atteignant respectivement 45 milliards, 3,3 milliards et 1,9 milliard de dollars. Ils forment ainsi un camp non EVM parallèle. Face à ce défi, l'écosystème d'Ethereum ne reste pas en reste et se mobilise pour donner de l'énergie à l'EVM, formant ainsi un camp EVM parallèle.
Une certaine plateforme d'échange a annoncé avec éclat dans sa proposition de mise à niveau vers la version v2 qu'elle deviendrait la "première Blockchain EVM parallèle", avec une capitalisation boursière actuelle de 2,1 milliards de dollars, et des perspectives de développement encore plus grandes. La nouvelle Blockchain publique EVM parallèle Monad, qui connaît un engouement marketing sans précédent, est très prisée par les investisseurs, et son potentiel ne doit pas être sous-estimé. De plus, la Blockchain publique L1 Canto, avec une capitalisation boursière de 170 millions de dollars et une infrastructure publique gratuite intégrée, a également annoncé sa proposition de mise à niveau vers EVM parallèle.
En outre, plusieurs projets L2 encore à un stade précoce cherchent à améliorer les performances inter-écosystèmes en intégrant les capacités de plusieurs chaînes L1. À part un projet qui a atteint une capitalisation boursière circulante de 69 millions de dollars, les autres projets manquent encore de données pertinentes. On peut s'attendre à ce que davantage de projets L1 et L2 rejoignent le champ de bataille des blockchains parallèles à l'avenir.
Non seulement le récit EVM parallèle a encore un grand potentiel de croissance sur le marché, mais le secteur des blockchains parallèles auquel appartient ce récit EVM parallèle a également un grand potentiel de croissance, donc les perspectives du marché sont vastes.
La capitalisation boursière totale actuelle de L1 et L2 est de 7521,23 milliards de dollars, tandis que la capitalisation boursière des blockchains parallèles s'élève à 525,39 milliards de dollars, représentant seulement environ 7 %. Parmi celles-ci, la capitalisation boursière des projets liés à la narration EVM parallèle est de 23,39 milliards de dollars, ne représentant que 4 % de la capitalisation boursière des blockchains parallèles.
![Interprétation en dix mille caractères de l'EVM parallèle : au-delà du séquentiel, comment surmonter le goulot d'étranglement des performances de la Blockchain ?])https://img-cdn.gateio.im/webp-social/moments-c1724bb9cbb64ad2c8cf437c4c8b42c1.webp(
Classification des projets narratifs EVM parallèles
L'industrie divise généralement les réseaux Blockchain en 4 couches.
Les projets narratifs EVM parallèles se divisent principalement en blockchains monolithiques et blockchains modulaires, les blockchains monolithiques étant elles-mêmes divisées en L1 et L2. D'après le nombre total de projets et le développement de plusieurs pistes principales, on peut constater que l'écosystème des blockchains publiques L1 EVM parallèles a encore beaucoup d'espace de développement par rapport à l'écosystème d'Ethereum.
Le secteur DeFi a des exigences de "hautes vitesses et faibles frais", tandis que le secteur des jeux a des exigences de "fortes interactions en temps réel". Les deux ont des exigences spécifiques en matière de vitesse d'exécution. L'EVM parallèle apportera sans aucun doute une meilleure expérience utilisateur à ces projets, propulsant le développement de l'industrie vers une nouvelle étape.
L1 est une nouvelle blockchain avec des capacités d'exécution parallèle intégrées, constituant une infrastructure de haute performance. Dans cette catégorie L1, des projets tels que v2 d'un certain échange, Monad et Canto conçoivent leur propre EVM parallèle, compatible avec l'écosystème Ethereum et offrant une capacité de traitement des transactions à haut débit.
L2, en intégrant les capacités d'autres chaînes L1, offre une capacité d'extension pour la coopération inter-écosystèmes, c'est une tendance évidente des rollups. Parmi les projets de ce type L2, un projet est un simulateur EVM sur le réseau Solana, Eclipse utilise Solana pour exécuter des transactions mais fait le règlement sur l'EVM. Lumio est similaire à Eclipse, sauf qu'il remplace la couche d'exécution par Aptos.
En plus des solutions de blockchain monolithiques mentionnées ci-dessus, Fuel a proposé sa propre approche de blockchain modulaire. Dans sa deuxième version, elle se positionnera comme un système d'exploitation rollup Ethereum, offrant des capacités d'exécution modulaires plus flexibles et plus complètes.
Fuel se concentre sur l'exécution des transactions, tout en externalisant le reste vers une ou plusieurs chaînes de blocs indépendantes, permettant ainsi une combinaison plus flexible : pouvant être à la fois L2, L1, ou même une chaîne latérale ou un canal d'état. Actuellement, l'écosystème Fuel compte 17 projets, principalement axés sur les domaines DeFi, NFT et infrastructure.
Cependant, seule l'oracle inter-chaînes Orally a été mise en application. La plateforme de prêt décentralisée Swaylend et la plateforme de trading de contrats perpétuels SPARK sont en phase de test, d'autres projets sont encore en cours de développement.
![Interprétation en mille caractères de l'EVM parallèle : au-delà du séquentiel, comment surmonter les goulets d'étranglement des performances de la Blockchain ?])https://img-cdn.gateio.im/webp-social/moments-e9cd714bba886918acc4f8141c1d3f4c.webp(
Principe de la technologie EVM parallèle
Pour réaliser l'exécution décentralisée des transactions, le réseau Blockchain doit remplir 4 responsabilités :
L'EVM parallèle est principalement une optimisation des performances de la couche d'exécution. Cela se divise en deux solutions : une solution de réseau de couche 1 )L1( et une solution de réseau de couche 2 )L2(. La solution L1 introduit un mécanisme d'exécution parallèle des transactions, permettant aux transactions d'être exécutées autant que possible en parallèle dans la machine virtuelle. La solution L2 utilise essentiellement une machine virtuelle L1 déjà parallélisée pour réaliser un certain degré de "exécution hors chaîne + règlement sur chaîne".
Donc, pour comprendre les principes techniques de l'EVM parallèle, il faut le décomposer : d'abord comprendre ce qu'est une machine virtuelle )virtual machine(, puis comprendre ce qu'est l'exécution parallèle )parallel execution(.
) machine virtuelle
Dans le domaine de l'informatique, une machine virtuelle fait référence à la virtualisation ( ou à l'émulation ) d'un système informatique.
Les machines virtuelles se divisent en deux types, l'une appelée machine virtuelle système ###system virtual machine(, qui peut virtualiser une machine physique en plusieurs machines, exécutant plusieurs systèmes d'exploitation, augmentant ainsi l'utilisation des ressources. L'autre est appelée machine virtuelle de processus )process virtual machine(, qui fournit une abstraction pour certains langages de programmation avancés, permettant aux programmes informatiques écrits dans ce langage de s'exécuter de manière indépendante de la plateforme sur différentes plateformes.
JVM est une machine virtuelle de processus conçue pour le langage de programmation Java. Les programmes écrits en Java sont d'abord compilés en bytecode Java ), un code binaire d'état intermédiaire (. Le bytecode Java est interprété par la JVM : la JVM envoie le bytecode à l'interpréteur, qui le traduit en code machine sur différentes machines, puis s'exécute sur la machine.
La machine virtuelle de blockchain est un type de machine virtuelle de processus. Dans le contexte de la blockchain, la machine virtuelle fait référence à la virtualisation d'une machine d'état distribuée, utilisée pour exécuter des contrats de manière distribuée et faire fonctionner des dApps. En comparaison avec le JVM, l'EVM est une machine virtuelle de processus conçue pour le langage Solidity, où les contrats intelligents sont d'abord compilés en code d'octets opcode, puis interprétés et exécutés par l'EVM.
Les nouvelles blockchains émergentes en dehors d'Ethereum adoptent davantage des machines virtuelles basées sur le bytecode WASM ou eBPF lors de la mise en œuvre de leurs propres machines virtuelles. WASM est un format de bytecode de petite taille, à chargement rapide, portable et basé sur un mécanisme de sécurité sandbox, permettant aux développeurs d'écrire des contrats intelligents en utilisant plusieurs langages de programmation, tels que C, C++, Rust, Go, Python, Java et même TypeScript, puis de les compiler en bytecode WASM et de les exécuter. Les contrats intelligents exécutés sur la blockchain d'un échange utilisent justement ce format de bytecode.
eBPF est l'ancêtre de BPF)Berkeley Packet Filter, le filtre de paquets de Berkeley(, qui était à l'origine utilisé pour le filtrage efficace des paquets de données réseau. Après évolution, il a donné naissance à eBPF, offrant un ensemble d'instructions plus riche.
C'est une technologie révolutionnaire qui permet d'intervenir dynamiquement sur le noyau du système d'exploitation et de modifier son comportement sans changer le code source. Par la suite, cette technologie est sortie du noyau pour développer un runtime eBPF en mode utilisateur, qui possède des performances élevées, une sécurité et une portabilité. Les contrats intelligents exécutés sur Solana sont tous compilés en code byte eBPF et s'exécutent sur son réseau Blockchain.
Dans d'autres blockchains L1, Aptos et Sui utilisent le langage de programmation de contrats intelligents Move, compilé en un bytecode spécifique exécuté sur la machine virtuelle Move. Monad, quant à elle, a conçu sa propre machine virtuelle compatible avec le bytecode opcode EVM )Shanghai fork(.
![Interprétation en dix mille mots de l'EVM parallèle : au-delà du séquentiel, comment surmonter les goulets d'étranglement de performance du Blockchain ?])https://img-cdn.gateio.im/webp-social/moments-8219961e2cf56e2dfabf5ababf7dbbe2.webp(
) Mécanisme d'exécution parallèle
L'exécution parallèle est une technique de ce type :
Le nombre de transactions traitées par seconde (TPS) dans un réseau Blockchain, (, est un indicateur technique utilisé pour mesurer la vitesse de traitement. Le mécanisme d'exécution parallèle est relativement complexe et met également à l'épreuve le niveau technique des développeurs, il n'est pas facile à expliquer. Commençons par un exemple de "banque" pour expliquer ce qu'est l'exécution parallèle.
Tout d'abord, qu'est-ce que l'exécution sérielle ?
Situation 1 : Si nous considérons le système comme une banque et le CPU traitant les tâches comme un guichet, alors l'exécution sérielle des tâches est comparable à une banque n'ayant qu'un seul guichet pour traiter les affaires. À ce moment-là, les clients venant à la banque, avec la tâche ), doivent faire la queue en une longue file d'attente pour être servis un par un. Pour chaque client, le personnel du guichet doit répéter les mêmes actions ( exécuter les instructions ) pour traiter les affaires des clients. Tant que ce n'est pas leur tour, les clients doivent attendre, ce qui entraîne une prolongation du temps de transaction.
Alors, qu'est-ce que l'exécution parallèle ?
Situation 2 : À ce moment-là, la banque voyant qu'il y avait beaucoup de monde, a ouvert plusieurs guichets pour traiter les affaires. Il y a 4 guichetiers au guichet traitant les affaires en même temps, la vitesse est donc environ 4 fois plus rapide qu'auparavant, le temps d'attente des clients est donc réduit à environ 1/4 du temps initial, la vitesse de traitement des affaires par la banque s'est améliorée.
Que se passe-t-il s'il n'y a pas de protection et que deux personnes effectuent simultanément un virement à une autre personne?
Situation 3 : A, B et C, trois personnes, ont respectivement 2 ETH, 1 ETH et 0 ETH sur leurs comptes. Maintenant, A et B veulent chacun transférer 0,5 ETH à C. Dans un système d'exécution des transactions en série, il n'y aura aucun problème ( la flèche gauche "\u003c=" représente la lecture du livre de comptes, la flèche droite "=\u003e" représente l'écriture dans le livre de comptes, idem ) :