EVM (Ethereum Virtual Machine) est le cœur d'Ethereum, responsable de l'exécution des contrats intelligents et du traitement des transactions.
Une machine virtuelle est généralement utilisée pour la virtualisation d'ordinateurs réels, réalisée par un hyperviseur ou une instance complète d'un système d'exploitation. Elles doivent fournir une abstraction logicielle des véritables matériels, des appels système et d'autres fonctionnalités du noyau.
L'EVM fonctionne dans un domaine plus limité : c'est simplement un moteur de calcul qui offre une abstraction de calcul et de stockage, similaire à la spécification de la machine virtuelle Java (JVM). À un niveau élevé, la JVM vise à fournir un environnement d'exécution indépendant du système d'exploitation ou du matériel sous-jacent, réalisant ainsi une compatibilité inter-systèmes. De même, l'EVM exécute son propre ensemble d'instructions en bytecode, qui est généralement compilé à partir de Solidity.
EVM est une machine à états quasi-turing complète, "quasi" parce que toutes les étapes d'exécution consomment une ressource limitée, le Gas. Ainsi, l'exécution de tout contrat intelligent donné est limitée à un nombre fini d'étapes de calcul, évitant ainsi les boucles infinies potentielles qui pourraient entraîner l'arrêt complet 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 le processus d'exécution, le dernier état mondial est modifié, et une fois qu'une transaction est exécutée, l'état est accumulé pour atteindre le dernier état mondial 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 l'ordre. Bien que l'exécution séquentielle garantisse que les transactions et les contrats intelligents peuvent s'exécuter dans un ordre déterminé, assurant 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 a d'énormes goulots d'étranglement en termes de performance et nécessite une extension Layer2 Rollup.
La voie parallèle du Layer 1 haute performance
La plupart des Layer 1 haute performance conçoivent leurs solutions d'optimisation en se basant sur le défaut d'incapacité de l'Éthereum à traiter en parallèle. 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, dans le but de faciliter le traitement de l'algorithme de hachage d'Ethereum, qui produit clairement une sortie de 256 bits. 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, rendant ainsi 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 adoptent davantage des machines virtuelles basées sur le bytecode WASM, eBPF ou Move, plutôt que l'EVM.
WASM est un format de bytecode de petite taille, à chargement rapide, portable et sécurisé par un mécanisme de bac à sable. 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 standard par de nombreux projets blockchain, y compris EOS, Dfinity, Polkadot, Cosmos, Near, etc. 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'évolution du BPF (Berkeley Packet Filter, filtre de paquets de Berkeley), 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 sur le noyau du système d'exploitation et de modifier son comportement sans changer le code source. Plus tard, cette technologie est sortie du noyau, développant un runtime eBPF en mode utilisateur, qui présente de hautes performances, de la sécurité et de la portabilité. 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.
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 a été 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é requises concernant les types, la mémoire et les ressources, sans avoir besoin d'être mis en œuvre au niveau des contrats intelligents et vérifié à l'exécution. Certaines nouvelles blockchains émergentes héritent de Move ou écrivent leurs contrats intelligents via une version personnalisée de Move.
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'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 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 sont non liées et lesquelles sont indépendantes. La plupart des Layer1 haute performance s'appuient 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. Les solutions représentatives sont certaines nouvelles blockchains émergentes.
Dans certaines blockchains publiques, les programmes (contrats intelligents) sont sans état, car ils ne peuvent pas accéder (lire ou écrire) à un état persistant 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, permettant ainsi au runtime de traitement des transactions de planifier l'exécution parallèle de transactions non chevauchantes tout en garantissant la cohérence des données.
Dans certaines implémentations de Move, 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 d'objets différents : objets propriétaires, objets partagés et objets immuables. La stratégie de parallélisation est similaire à celle mentionnée précédemment, les transactions doivent également spécifier quels objets manipuler.
Le modèle d'optimisme parallèle fonctionne sous l'hypothèse que toutes les transactions sont indépendantes, vérifiant cette hypothèse de manière rétrospective et ajustant si nécessaire. Les solutions représentatives incluent certaines nouvelles chaînes de blocs émergentes.
Une certaine chaîne publique utilise 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 le 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 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, elle efface son résultat et le réexécute. Ce processus se poursuit jusqu'à ce que chaque transaction dans le bloc soit complètement traitée.
EVM parallèle
La Parallel EVM a été évoquée pour la première fois en 2021, à l'époque elle faisait référence à une EVM capable de traiter plusieurs transactions simultanément, visant à améliorer la performance et l'efficacité de l'EVM existante. Des solutions représentatives incluent certaines chaînes publiques qui ont mis en œuvre la Parallel EVM basée sur Block-STM.
Mais à la fin de 2023, certains experts du secteur ont mentionné de manière unanime l'EVM parallèle en envisageant les tendances de 2024, ce qui a suscité un engouement pour des Layer1 compatibles avec l'EVM utilisant la technologie d'exécution parallèle, y compris certains projets émergents.
De nos jours, certaines solutions compatibles avec EVM, le Layer2 Rollup de l'Ethereum SVM (machines virtuelles Solana), le Layer2 Rollup de la machine virtuelle Move d'Ethereum, et la couche d'exécution modulaire Layer1 arborent tous l'étiquette de EVM parallèle, ce qui est éblouissant.
Je pense que seules les trois catégories suivantes peuvent être définies comme un EVM parallèle :
Mise à niveau de l'exécution parallèle des Layer1 compatibles EVM qui n'ont pas adopté la technologie d'exécution parallèle, comme certaines chaînes publiques populaires ;
Des Layer1 compatibles avec l'EVM utilisant une technologie d'exécution parallèle, comme certains projets émergents ;
Solutions compatibles avec l'EVM sur Layer 1 non compatibles avec l'EVM utilisant une technologie d'exécution parallèle, comme certains projets inter-chaînes.
Certaines blockchains publiques majeures, en tant que Layer1 les plus populaires compatibles avec l'EVM, n'ont pas besoin d'être présentées. Voici une brève introduction à quelques projets émergents et solutions de cross-chain.
Certaines nouvelles blockchains émergentes sont des Layer 1 haute performance compatibles EVM utilisant un mécanisme PoS, visant à améliorer considérablement l'évolutivité et la vitesse des transactions grâce à une exécution parallèle. Elles permettent l'exécution parallèle des transactions au sein d'un bloc pour améliorer l'efficacité. Un modèle d'exécution optimiste est généralement utilisé, où de nouvelles transactions commencent à être exécutées avant que l'exécution de l'étape précédente soit terminée. Pour faire face aux résultats incorrects, les entrées/sorties sont suivies et les transactions incohérentes sont réexécutées. 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'échec des transactions.
Certaines solutions de cross-chain sont des solutions développées pour exécuter des transactions EVM sur d'autres blockchains publiques. Il s'agit en réalité d'un contrat intelligent qui implémente un interpréteur EVM, compilé en un code binaire spécifique. Un modèle de transaction Ethereum et un modèle de compte sont réalisés en interne, les utilisateurs n'ont qu'à payer les frais de GAS EVM pour envoyer des transactions. Les frais du réseau natif sont payés par les agents. Certaines blockchains publiques exigent que les transactions fournissent une liste de comptes, et les transactions emballées ne font pas exception, donc la responsabilité des agents inclut la génération de cette liste de comptes, tout en acquérant également la capacité d'exécution parallèle des transactions natives.
Ici, il convient d'ajouter que des projets inter-chaînes similaires utilisant l'EVM pour exécuter des contrats intelligents afin de réaliser des solutions compatibles avec l'EVM existent également. En théorie, certaines nouvelles chaînes publiques pourraient également adopter cette solution pour atteindre une compatibilité EVM non intrusive, et des projets travaillent déjà sur cela. Certains projets constituent un cadre modulaire, destiné à construire et déployer des infrastructures, applications et blockchains basées sur Move dans n'importe quel environnement distribué. Certains de ces modules peuvent convertir sans effort les codes d'opération EVM en codes d'opération 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 avoir besoin d'une seule ligne de code Move.
La compatibilité EVM permet aux développeurs de migrer facilement leurs applications Ethereum sur la chaîne sans avoir besoin de modifications massives, ce qui est une excellente direction pour construire un nouvel écosystème de chaînes publiques émergentes.
Résumé
La technologie de parallélisme dans la blockchain est un sujet déjà bien connu, qui revient de temps en temps dans les discussions. Cependant, jusqu'à présent, il s'agit principalement de modifications et d'imitations des modèles d'exécution optimiste, représentés par le mécanisme Block-STM de certaines blockchains publiques, sans percée substantielle, ce qui rend difficile de maintenir l'enthousiasme.
En regardant vers l'avenir, il y aura encore davantage de nouveaux projets Layer1 émergents qui rejoindront la concurrence d'EVM parallèle, et pour certains anciens Layer1, des mises à niveau EVM parallèles ou des solutions compatibles EVM seront également mises en œuvre. Les deux directions, bien que différentes, mèneront à un même résultat, et de nouveaux récits liés à l'amélioration des performances verront également le jour.
Cependant, par rapport au discours sur les EVM haute performance, j'espère plutôt que la blockchain puisse fleurir sous diverses formes, avec des discours similaires à ceux de WASM, SVM et Move VM.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
10 J'aime
Récompense
10
7
Partager
Commentaire
0/400
MEVEye
· Il y a 14h
Tout dépend du Gas pour vider le Portefeuille, payer pour endurer la torture.
Voir l'originalRépondre0
AirdropHunter
· Il y a 14h
Où peut-on obtenir ce gas ?
Voir l'originalRépondre0
ChainSpy
· Il y a 14h
Jouer au blockchain sans regarder les indicateurs, mais en regardant le code et l'innovation.
Voir l'originalRépondre0
LucidSleepwalker
· Il y a 15h
Ouvrir le gas et c'est tout.
Voir l'originalRépondre0
DisillusiionOracle
· Il y a 15h
On discute encore de quoi, le JVM ? Les frais de Gas ont déjà mangé tout le monde.
Voir l'originalRépondre0
GmGmNoGn
· Il y a 15h
bytecode aussi trop stylé 8
Voir l'originalRépondre0
MemeCoinSavant
· Il y a 15h
l'EVM, c'est essentiellement du Java pour les degens, honnêtement
EVM parallélisation : de l'évolution technique des Layer 1 haute performance aux solutions compatibles avec EVM
EVM : le cœur d'Ethereum
EVM (Ethereum Virtual Machine) est le cœur d'Ethereum, responsable de l'exécution des contrats intelligents et du traitement des transactions.
Une machine virtuelle est généralement utilisée pour la virtualisation d'ordinateurs réels, réalisée par un hyperviseur ou une instance complète d'un système d'exploitation. Elles doivent fournir une abstraction logicielle des véritables matériels, des appels système et d'autres fonctionnalités du noyau.
L'EVM fonctionne dans un domaine plus limité : c'est simplement un moteur de calcul qui offre une abstraction de calcul et de stockage, similaire à la spécification de la machine virtuelle Java (JVM). À un niveau élevé, la JVM vise à fournir un environnement d'exécution indépendant du système d'exploitation ou du matériel sous-jacent, réalisant ainsi une compatibilité inter-systèmes. De même, l'EVM exécute son propre ensemble d'instructions en bytecode, qui est généralement compilé à partir de Solidity.
EVM est une machine à états quasi-turing complète, "quasi" parce que toutes les étapes d'exécution consomment une ressource limitée, le Gas. Ainsi, l'exécution de tout contrat intelligent donné est limitée à un nombre fini d'étapes de calcul, évitant ainsi les boucles infinies potentielles qui pourraient entraîner l'arrêt complet 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 le processus d'exécution, le dernier état mondial est modifié, et une fois qu'une transaction est exécutée, l'état est accumulé pour atteindre le dernier état mondial 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 l'ordre. Bien que l'exécution séquentielle garantisse que les transactions et les contrats intelligents peuvent s'exécuter dans un ordre déterminé, assurant 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 a d'énormes goulots d'étranglement en termes de performance et nécessite une extension Layer2 Rollup.
La voie parallèle du Layer 1 haute performance
La plupart des Layer 1 haute performance conçoivent leurs solutions d'optimisation en se basant sur le défaut d'incapacité de l'Éthereum à traiter en parallèle. 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, dans le but de faciliter le traitement de l'algorithme de hachage d'Ethereum, qui produit clairement une sortie de 256 bits. 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, rendant ainsi 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 adoptent davantage des machines virtuelles basées sur le bytecode WASM, eBPF ou Move, plutôt que l'EVM.
WASM est un format de bytecode de petite taille, à chargement rapide, portable et sécurisé par un mécanisme de bac à sable. 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 standard par de nombreux projets blockchain, y compris EOS, Dfinity, Polkadot, Cosmos, Near, etc. 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'évolution du BPF (Berkeley Packet Filter, filtre de paquets de Berkeley), 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 sur le noyau du système d'exploitation et de modifier son comportement sans changer le code source. Plus tard, cette technologie est sortie du noyau, développant un runtime eBPF en mode utilisateur, qui présente de hautes performances, de la sécurité et de la portabilité. 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.
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 a été 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é requises concernant les types, la mémoire et les ressources, sans avoir besoin d'être mis en œuvre au niveau des contrats intelligents et vérifié à l'exécution. Certaines nouvelles blockchains émergentes héritent de Move ou écrivent leurs contrats intelligents via une version personnalisée de Move.
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'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 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 sont non liées et lesquelles sont indépendantes. La plupart des Layer1 haute performance s'appuient 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. Les solutions représentatives sont certaines nouvelles blockchains émergentes.
Dans certaines blockchains publiques, les programmes (contrats intelligents) sont sans état, car ils ne peuvent pas accéder (lire ou écrire) à un état persistant 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, permettant ainsi au runtime de traitement des transactions de planifier l'exécution parallèle de transactions non chevauchantes tout en garantissant la cohérence des données.
Dans certaines implémentations de Move, 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 d'objets différents : objets propriétaires, objets partagés et objets immuables. La stratégie de parallélisation est similaire à celle mentionnée précédemment, les transactions doivent également spécifier quels objets manipuler.
Le modèle d'optimisme parallèle fonctionne sous l'hypothèse que toutes les transactions sont indépendantes, vérifiant cette hypothèse de manière rétrospective et ajustant si nécessaire. Les solutions représentatives incluent certaines nouvelles chaînes de blocs émergentes.
Une certaine chaîne publique utilise 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 le 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 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, elle efface son résultat et le réexécute. Ce processus se poursuit jusqu'à ce que chaque transaction dans le bloc soit complètement traitée.
EVM parallèle
La Parallel EVM a été évoquée pour la première fois en 2021, à l'époque elle faisait référence à une EVM capable de traiter plusieurs transactions simultanément, visant à améliorer la performance et l'efficacité de l'EVM existante. Des solutions représentatives incluent certaines chaînes publiques qui ont mis en œuvre la Parallel EVM basée sur Block-STM.
Mais à la fin de 2023, certains experts du secteur ont mentionné de manière unanime l'EVM parallèle en envisageant les tendances de 2024, ce qui a suscité un engouement pour des Layer1 compatibles avec l'EVM utilisant la technologie d'exécution parallèle, y compris certains projets émergents.
De nos jours, certaines solutions compatibles avec EVM, le Layer2 Rollup de l'Ethereum SVM (machines virtuelles Solana), le Layer2 Rollup de la machine virtuelle Move d'Ethereum, et la couche d'exécution modulaire Layer1 arborent tous l'étiquette de EVM parallèle, ce qui est éblouissant.
Je pense que seules les trois catégories suivantes peuvent être définies comme un EVM parallèle :
Mise à niveau de l'exécution parallèle des Layer1 compatibles EVM qui n'ont pas adopté la technologie d'exécution parallèle, comme certaines chaînes publiques populaires ;
Des Layer1 compatibles avec l'EVM utilisant une technologie d'exécution parallèle, comme certains projets émergents ;
Solutions compatibles avec l'EVM sur Layer 1 non compatibles avec l'EVM utilisant une technologie d'exécution parallèle, comme certains projets inter-chaînes.
Certaines blockchains publiques majeures, en tant que Layer1 les plus populaires compatibles avec l'EVM, n'ont pas besoin d'être présentées. Voici une brève introduction à quelques projets émergents et solutions de cross-chain.
Certaines nouvelles blockchains émergentes sont des Layer 1 haute performance compatibles EVM utilisant un mécanisme PoS, visant à améliorer considérablement l'évolutivité et la vitesse des transactions grâce à une exécution parallèle. Elles permettent l'exécution parallèle des transactions au sein d'un bloc pour améliorer l'efficacité. Un modèle d'exécution optimiste est généralement utilisé, où de nouvelles transactions commencent à être exécutées avant que l'exécution de l'étape précédente soit terminée. Pour faire face aux résultats incorrects, les entrées/sorties sont suivies et les transactions incohérentes sont réexécutées. 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'échec des transactions.
Certaines solutions de cross-chain sont des solutions développées pour exécuter des transactions EVM sur d'autres blockchains publiques. Il s'agit en réalité d'un contrat intelligent qui implémente un interpréteur EVM, compilé en un code binaire spécifique. Un modèle de transaction Ethereum et un modèle de compte sont réalisés en interne, les utilisateurs n'ont qu'à payer les frais de GAS EVM pour envoyer des transactions. Les frais du réseau natif sont payés par les agents. Certaines blockchains publiques exigent que les transactions fournissent une liste de comptes, et les transactions emballées ne font pas exception, donc la responsabilité des agents inclut la génération de cette liste de comptes, tout en acquérant également la capacité d'exécution parallèle des transactions natives.
Ici, il convient d'ajouter que des projets inter-chaînes similaires utilisant l'EVM pour exécuter des contrats intelligents afin de réaliser des solutions compatibles avec l'EVM existent également. En théorie, certaines nouvelles chaînes publiques pourraient également adopter cette solution pour atteindre une compatibilité EVM non intrusive, et des projets travaillent déjà sur cela. Certains projets constituent un cadre modulaire, destiné à construire et déployer des infrastructures, applications et blockchains basées sur Move dans n'importe quel environnement distribué. Certains de ces modules peuvent convertir sans effort les codes d'opération EVM en codes d'opération 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 avoir besoin d'une seule ligne de code Move.
La compatibilité EVM permet aux développeurs de migrer facilement leurs applications Ethereum sur la chaîne sans avoir besoin de modifications massives, ce qui est une excellente direction pour construire un nouvel écosystème de chaînes publiques émergentes.
Résumé
La technologie de parallélisme dans la blockchain est un sujet déjà bien connu, qui revient de temps en temps dans les discussions. Cependant, jusqu'à présent, il s'agit principalement de modifications et d'imitations des modèles d'exécution optimiste, représentés par le mécanisme Block-STM de certaines blockchains publiques, sans percée substantielle, ce qui rend difficile de maintenir l'enthousiasme.
En regardant vers l'avenir, il y aura encore davantage de nouveaux projets Layer1 émergents qui rejoindront la concurrence d'EVM parallèle, et pour certains anciens Layer1, des mises à niveau EVM parallèles ou des solutions compatibles EVM seront également mises en œuvre. Les deux directions, bien que différentes, mèneront à un même résultat, et de nouveaux récits liés à l'amélioration des performances verront également le jour.
Cependant, par rapport au discours sur les EVM haute performance, j'espère plutôt que la blockchain puisse fleurir sous diverses formes, avec des discours similaires à ceux de WASM, SVM et Move VM.