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 fournit 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 à états quasi-turing complète. Le "quasi" est dû au fait que toutes les étapes d'exécution consomment une ressource limitée appelée Gas, évitant ainsi les situations où une boucle infinie pourrait entraîner l'arrêt complet de la plateforme.
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. Le processus d'exécution modifie l'état mondial le plus récent, et une fois qu'une transaction est exécutée, l'état est cumulé pour atteindre l'état mondial le plus récent après la finalisation 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 est difficile à optimiser pour une exécution parallèle.
Le protocole Ethereum stipule que les transactions sont exécutées dans un ordre spécifique. Bien que l'exécution dans l'ordre 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 sur le réseau en cas de forte charge, ce qui est également la raison pour laquelle Ethereum connaît des goulots d'étranglement en termes de performance et nécessite une scalabilité Layer2.
La voie parallèle du Layer1 haute performance
La plupart des Layer 1 haute performance conçoivent leurs propres solutions d'optimisation basées sur le défaut de traitement parallèle d'Ethereum, en se concentrant principalement sur la machine virtuelle et l'exécution parallèle.
Machine virtuelle
L'EVM est conçu comme une machine virtuelle de 256 bits, visant à 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, rendant ainsi l'ensemble du système inefficace. Par conséquent, les Layer1 haute performance adoptent davantage des machines virtuelles basées sur le code binaire WASM, eBPF ou Move, plutôt que sur l'EVM.
WASM est un format de bytecode léger, à chargement rapide, portable et basé sur un mécanisme de sécurité en 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. De nombreux projets blockchain ont adopté WASM comme norme, et Ethereum intégrera également WASM à l'avenir.
eBPF est dérivé de BPF, offrant un ensemble d'instructions plus riche, permettant une intervention dynamique sur le noyau du système d'exploitation sans modifier le code source. Certains contrats intelligents exécutés sur des blockchains sont compilés en bytecode basé sur eBPF et s'exécutent.
Move est un nouveau langage de programmation de contrats intelligents, axé sur la flexibilité, la sécurité et la vérifiabilité. Move vise à 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. Certaines blockchains utilisent des versions personnalisées de Move pour rédiger des contrats intelligents.
Exécution parallèle
L'exécution parallèle dans la blockchain signifie traiter simultanément des transactions non liées. Le principal défi de la mise en œuvre de l'exécution parallèle est de déterminer quelles transactions ne sont pas liées, 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.
Les méthodes d'accès à l'état nécessitent 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. Certains programmes de blockchain ( contrats intelligents ) sont sans état et nécessitent l'utilisation de comptes pour accéder ou maintenir l'état. Les transactions doivent spécifier quels comptes seront accessibles, permettant ainsi au traitement des transactions d'exécuter en parallèle des transactions non superposées tout en garantissant la cohérence des données.
Le modèle d'exécution parallèle optimiste suppose que toutes les transactions sont indépendantes, vérifiant cette hypothèse de manière rétrospective et ajustant si nécessaire. Certaines blockchains utilisent des méthodes de mémoire transactionnelle par blocs pour appliquer l'exécution parallèle optimiste. Les transactions sont d'abord définies dans un certain ordre, puis divisées et exécutées simultanément entre différents fils de traitement. Le système suit la position en mémoire des modifications de chaque transaction et vérifie tous les résultats des transactions après chaque cycle de traitement. Si une transaction touche une position mémoire modifiée par une transaction antérieure, son résultat est annulé et elle est relancée.
EVM parallèle
L'EVM parallèle a été proposé dès 2021, désignant un EVM capable de traiter simultanément plusieurs transactions, visant à améliorer les performances et l'efficacité de l'EVM existant. À la fin de 2023, le secteur a de nouveau évoqué l'EVM parallèle, suscitant un engouement pour les Layer1 compatibles avec l'EVM adoptant la technologie d'exécution parallèle.
Une définition raisonnable de l'EVM parallèle comprend trois catégories :
Mise à niveau de l'exécution parallèle des Layer1 compatibles EVM n'ayant pas adopté la technologie d'exécution parallèle.
Utilisation de la technologie d'exécution parallèle dans la couche 1 compatible avec l'EVM
Une solution compatible avec l'EVM sur un Layer 1 non compatible avec l'EVM utilisant une technologie d'exécution parallèle.
Certains nouveaux projets Layer1 adoptent un modèle de parallélisme optimiste, permettant l'exécution parallèle des transactions dans un bloc pour améliorer l'efficacité. Ils commencent à exécuter de nouvelles transactions avant que l'exécution de l'étape précédente ne soit terminée, en suivant les entrées/sorties et en réexécutant les transactions non cohé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.
D'autres projets utilisent l'EVM pour exécuter des contrats intelligents afin d'assurer la compatibilité avec l'EVM. Cette solution convertit de manière transparente les codes d'opération de l'EVM en codes d'opération spécifiques à une machine virtuelle, permettant aux projets Solidity de bénéficier des performances et des avantages de sécurité d'autres machines virtuelles, sans avoir besoin de modifier le code.
Résumé
La technologie de parallélisme dans la blockchain est un sujet souvent discuté, actuellement principalement axé sur la transformation et l'imitation des modèles d'exécution optimistes, manquant de percées substantielles. À l'avenir, il pourrait y avoir plus de projets Layer1 émergents rejoignant la compétition EVM parallèle, et certains anciens Layer1 mettront également en œuvre des mises à niveau de parallélisme EVM ou des solutions compatibles avec EVM.
En plus de l'EVM haute performance, le domaine de la blockchain pourrait également voir l'émergence de récits technologiques diversifiés tels que WASM, SVM et Move VM, favorisant le développement diversifié de l'ensemble de l'écosystème.
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.
22 J'aime
Récompense
22
6
Partager
Commentaire
0/400
PumpBeforeRug
· 07-15 04:11
Encore une nouvelle blockchain qui trompe.
Voir l'originalRépondre0
RamenDeFiSurvivor
· 07-12 07:44
Le Layer 1 fonctionne vraiment bien ici.
Voir l'originalRépondre0
consensus_whisperer
· 07-12 07:43
Essayer de nouvelles technologies est vraiment agréable.
Voir l'originalRépondre0
MoonBoi42
· 07-12 07:42
Code un peu plus, mon frère.
Voir l'originalRépondre0
SleepyArbCat
· 07-12 07:40
Les frais de gas sont trop élevés, j'ai la flemme de déployer ça, miaou.
L'essor de l'EVM parallèle : comment un Layer 1 haute performance surmonte les goulets d'étranglement de performance d'Ethereum
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 fournit 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 à états quasi-turing complète. Le "quasi" est dû au fait que toutes les étapes d'exécution consomment une ressource limitée appelée Gas, évitant ainsi les situations où une boucle infinie pourrait entraîner l'arrêt complet de la plateforme.
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. Le processus d'exécution modifie l'état mondial le plus récent, et une fois qu'une transaction est exécutée, l'état est cumulé pour atteindre l'état mondial le plus récent après la finalisation 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 est difficile à optimiser pour une exécution parallèle.
Le protocole Ethereum stipule que les transactions sont exécutées dans un ordre spécifique. Bien que l'exécution dans l'ordre 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 sur le réseau en cas de forte charge, ce qui est également la raison pour laquelle Ethereum connaît des goulots d'étranglement en termes de performance et nécessite une scalabilité Layer2.
La voie parallèle du Layer1 haute performance
La plupart des Layer 1 haute performance conçoivent leurs propres solutions d'optimisation basées sur le défaut de traitement parallèle d'Ethereum, en se concentrant principalement sur la machine virtuelle et l'exécution parallèle.
Machine virtuelle
L'EVM est conçu comme une machine virtuelle de 256 bits, visant à 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, rendant ainsi l'ensemble du système inefficace. Par conséquent, les Layer1 haute performance adoptent davantage des machines virtuelles basées sur le code binaire WASM, eBPF ou Move, plutôt que sur l'EVM.
WASM est un format de bytecode léger, à chargement rapide, portable et basé sur un mécanisme de sécurité en 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. De nombreux projets blockchain ont adopté WASM comme norme, et Ethereum intégrera également WASM à l'avenir.
eBPF est dérivé de BPF, offrant un ensemble d'instructions plus riche, permettant une intervention dynamique sur le noyau du système d'exploitation sans modifier le code source. Certains contrats intelligents exécutés sur des blockchains sont compilés en bytecode basé sur eBPF et s'exécutent.
Move est un nouveau langage de programmation de contrats intelligents, axé sur la flexibilité, la sécurité et la vérifiabilité. Move vise à 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. Certaines blockchains utilisent des versions personnalisées de Move pour rédiger des contrats intelligents.
Exécution parallèle
L'exécution parallèle dans la blockchain signifie traiter simultanément des transactions non liées. Le principal défi de la mise en œuvre de l'exécution parallèle est de déterminer quelles transactions ne sont pas liées, 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.
Les méthodes d'accès à l'état nécessitent 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. Certains programmes de blockchain ( contrats intelligents ) sont sans état et nécessitent l'utilisation de comptes pour accéder ou maintenir l'état. Les transactions doivent spécifier quels comptes seront accessibles, permettant ainsi au traitement des transactions d'exécuter en parallèle des transactions non superposées tout en garantissant la cohérence des données.
Le modèle d'exécution parallèle optimiste suppose que toutes les transactions sont indépendantes, vérifiant cette hypothèse de manière rétrospective et ajustant si nécessaire. Certaines blockchains utilisent des méthodes de mémoire transactionnelle par blocs pour appliquer l'exécution parallèle optimiste. Les transactions sont d'abord définies dans un certain ordre, puis divisées et exécutées simultanément entre différents fils de traitement. Le système suit la position en mémoire des modifications de chaque transaction et vérifie tous les résultats des transactions après chaque cycle de traitement. Si une transaction touche une position mémoire modifiée par une transaction antérieure, son résultat est annulé et elle est relancée.
EVM parallèle
L'EVM parallèle a été proposé dès 2021, désignant un EVM capable de traiter simultanément plusieurs transactions, visant à améliorer les performances et l'efficacité de l'EVM existant. À la fin de 2023, le secteur a de nouveau évoqué l'EVM parallèle, suscitant un engouement pour les Layer1 compatibles avec l'EVM adoptant la technologie d'exécution parallèle.
Une définition raisonnable de l'EVM parallèle comprend trois catégories :
Certains nouveaux projets Layer1 adoptent un modèle de parallélisme optimiste, permettant l'exécution parallèle des transactions dans un bloc pour améliorer l'efficacité. Ils commencent à exécuter de nouvelles transactions avant que l'exécution de l'étape précédente ne soit terminée, en suivant les entrées/sorties et en réexécutant les transactions non cohé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.
D'autres projets utilisent l'EVM pour exécuter des contrats intelligents afin d'assurer la compatibilité avec l'EVM. Cette solution convertit de manière transparente les codes d'opération de l'EVM en codes d'opération spécifiques à une machine virtuelle, permettant aux projets Solidity de bénéficier des performances et des avantages de sécurité d'autres machines virtuelles, sans avoir besoin de modifier le code.
Résumé
La technologie de parallélisme dans la blockchain est un sujet souvent discuté, actuellement principalement axé sur la transformation et l'imitation des modèles d'exécution optimistes, manquant de percées substantielles. À l'avenir, il pourrait y avoir plus de projets Layer1 émergents rejoignant la compétition EVM parallèle, et certains anciens Layer1 mettront également en œuvre des mises à niveau de parallélisme EVM ou des solutions compatibles avec EVM.
En plus de l'EVM haute performance, le domaine de la blockchain pourrait également voir l'émergence de récits technologiques diversifiés tels que WASM, SVM et Move VM, favorisant le développement diversifié de l'ensemble de l'écosystème.