Analyse approfondie de la Machine virtuelle Ethereum (EVM)
La relation entre EVM et Solidity
Le développement de contrats intelligents est une compétence clé pour les ingénieurs blockchain. Bien que les développeurs utilisent généralement des langages de haut niveau comme Solidity pour écrire des contrats, la Machine virtuelle ne peut pas exécuter directement ces codes. Elle a besoin de compiler le code en instructions de bas niveau compréhensibles par la machine virtuelle ( codes d'opération/bytecode ). Actuellement, des outils existent pour automatiser ce processus de conversion, allégeant ainsi le fardeau pour les développeurs de comprendre les détails de la compilation.
Bien que la compilation entraîne des frais, les ingénieurs familiers avec le codage de bas niveau peuvent directement intégrer des codes d'opération dans Solidity pour atteindre une efficacité maximale et réduire la consommation de gas. Par exemple, un protocole de trading NFT bien connu utilise massivement l'assemblage en ligne pour minimiser les frais de gas des utilisateurs.
Différences entre les normes et les mises en œuvre de la Machine virtuelle Ethereum
L'EVM, en tant que "couche d'exécution", est l'environnement dans lequel les codes d'opération des contrats intelligents compilés s'exécutent finalement. Le bytecode défini par l'EVM est devenu la norme de l'industrie. Que ce soit sur les réseaux de deuxième couche d'Ethereum ou d'autres blockchains indépendantes, tant qu'ils sont compatibles avec la norme EVM, les développeurs peuvent déployer efficacement des contrats intelligents sur plusieurs réseaux.
Bien que suivant la même norme de bytecode, les implémentations spécifiques de l'EVM peuvent différer considérablement. Par exemple, un certain client Ethereum a implémenté la norme EVM en langage Go, tandis qu'une équipe de fondation maintient une implémentation en C++. Cette diversité offre un espace pour des optimisations d'ingénierie et des implémentations personnalisées.
L'émergence de la technologie EVM parallèle
Historiquement, la communauté blockchain s'est principalement concentrée sur l'innovation des algorithmes de consensus, certains projets renommés attirant davantage l'attention en raison de leur mécanisme de consensus plutôt que de leur couche d'exécution. Bien que ces projets aient également innové dans la couche d'exécution, leurs améliorations de performance sont souvent à tort considérées comme provenant uniquement des algorithmes de consensus.
En réalité, une blockchain haute performance nécessite une innovation simultanée dans l'algorithme de consensus et la couche d'exécution. Pour les blockchains EVM qui ne se contentent d'améliorer l'algorithme de consensus, l'amélioration des performances nécessite souvent un support matériel plus puissant. Par exemple, une chaîne intelligente bien connue traite des blocs avec une limite de gas de 2000 TPS, nécessitant une configuration plusieurs fois supérieure à celle d'un nœud complet Ethereum. Un autre réseau prétendant supporter jusqu'à 1000 TPS a également des performances qui ne répondent souvent pas aux attentes.
La nécessité du traitement parallèle
Dans les systèmes de blockchain traditionnels, les transactions sont exécutées de manière séquentielle, semblable à un CPU monocœur. Bien que cette méthode soit simple et que la complexité du système soit faible, elle a du mal à soutenir une large base d'utilisateurs. Passer à une machine virtuelle parallèle de type CPU multicœur peut traiter plusieurs transactions simultanément, augmentant considérablement le débit.
L'exécution parallèle pose certains défis techniques, tels que la gestion des transactions concurrentes sur le même contrat. Cela nécessite de nouveaux mécanismes pour résoudre les conflits potentiels. Cependant, l'exécution parallèle de contrats intelligents non liés peut augmenter le débit de manière proportionnelle au nombre de threads de traitement.
Innovation de l'EVM parallèle
L'EVM parallèle représente une série d'innovations visant à optimiser la couche d'exécution de la blockchain. Prenons un projet comme exemple, ses innovations clés incluent :
Exécution des transactions en parallèle : utilisation d'un algorithme d'exécution parallèle optimiste, permettant de traiter plusieurs transactions simultanément. Le système commence les transactions à partir du même état initial, suit les entrées et sorties, et génère des résultats temporaires. La décision d'exécuter la transaction suivante en parallèle repose sur l'examen des relations de dépendance entre les transactions.
Exécution différée : dans le mécanisme de consensus, les nœuds parviennent d'abord à un consensus sur l'ordre des transactions, sans exécution immédiate. L'exécution est retardée dans un canal indépendant, maximisant l'utilisation du temps de bloc et améliorant l'efficacité globale.
Base de données d'état personnalisée : optimise le stockage et l'accès à l'état en stockant directement l'arbre Merkle sur SSD. Cette méthode minimise l'effet de lecture amplifiée, accélère la vitesse d'accès à l'état et rend l'exécution des contrats plus efficace.
Mécanisme de consensus haute performance : basé sur l'amélioration de HotStuff, supporte des centaines de nœuds mondiaux en synchronisation, avec une complexité de communication linéaire. Utilise le vote en pipeline, permettant aux différentes phases de se chevaucher, réduisant ainsi les délais et améliorant l'efficacité.
Les défis de l'EVM parallèle
L'exécution parallèle introduit des conflits d'état potentiels, nécessitant une vérification des conflits avant ou après l'exécution. Par exemple, lorsque plusieurs transactions parallèles interagissent avec le même pool de transactions, un mécanisme de détection et de résolution des conflits doit être soigneusement mis en place.
En plus des différences d'implémentation technique, les équipes doivent généralement repenser les performances de lecture et d'écriture de la base de données d'état et développer des algorithmes de consensus compatibles.
Les projets EVM parallèles font face à deux grands défis : le risque qu'Ethereum absorbe ses innovations technologiques à long terme, ainsi que le problème de la centralisation des nœuds. Le développement rapide de l'écosystème est essentiel pour maintenir un avantage concurrentiel. La décentralisation des nœuds nécessite de trouver un équilibre entre l'opération sans autorisation, sans confiance et la haute performance.
Aperçu du projet EVM parallèle
Le paysage actuel de l'EVM parallèle comprend plusieurs blockchains de Layer 1, des solutions potentielles de Layer 2, ainsi que des couches compatibles avec l'EVM basées sur d'autres blockchains publiques. Les projets existants peuvent être classés en trois catégories :
Réseau Layer 1 compatible avec EVM prenant en charge l'exécution parallèle grâce à une mise à niveau technique
Réseau Layer 1 compatible EVM utilisant l'exécution parallèle dès le début de la conception
Réseau Layer 2 utilisant la technologie d'exécution parallèle non EVM
Présentation des projets représentatifs
Le projet A vise à résoudre les problèmes de scalabilité en optimisant l'exécution parallèle de la Machine virtuelle d'Ethereum, avec un objectif d'atteindre 10 000 TPS. Un financement important a été complété, et l'équipe fondatrice provient de principaux teneurs de marché. Un réseau de test interne a été lancé et sera bientôt ouvert au public.
Le projet B s'est initialement concentré sur l'infrastructure des applications de trading, et a récemment été mis à jour vers un EVM parallèle haute performance, augmentant le TPS à 12 500. Le testnet est en ligne, prenant en charge la migration des applications EVM en un clic. Un cadre open source a également été lancé pour soutenir l'adoption de Layer 2 en utilisant la technologie de traitement parallèle.
Le projet C améliore les performances et l'efficacité d'exécution en construisant un système double de Machine Virtuelle EVM++( EVM + WASM). L'équipe principale provient d'un projet blockchain connu. Le réseau de test public est déjà en ligne et le plan d'incitation écologique a été lancé.
Le projet D est un réseau Layer 1 compatible EVM construit sur un certain SDK, conçu spécifiquement pour le DeFi. Récemment, il a été annoncé que le plan de développement introduira une technologie EVM parallèle pour améliorer les performances.
Le projet E est la première solution compatible EVM sur une certaine blockchain haute performance. Il permet aux développeurs Solidity de déployer des DApps en un clic, tout en bénéficiant d'un haut débit et de faibles frais de gas. Les transactions EVM sont encapsulées en transactions natives, avec un TPS dépassant 2 000.
Le projet F est une solution modulaire de Layer 2 prise en charge par la machine virtuelle d'une certaine blockchain publique. Les règlements se font sur Ethereum, utilisant l'ETH comme gas, mais la couche d'exécution fonctionne dans cet environnement virtuel. Un financement important a récemment été réalisé, et le mainnet sera bientôt ouvert aux développeurs.
Le projet G est un réseau Layer 2 modulaire VM, qui prend en charge l'introduction de machines virtuelles haute performance dans l'écosystème Layer 2 principal. Il est possible d'utiliser Ethereum ou Bitcoin comme couche de règlement, tandis que la couche d'exécution peut utiliser plusieurs machines virtuelles parallèles.
Conclusion
Avec le développement de la technologie blockchain, l'optimisation de la couche d'exécution et les algorithmes de consensus sont tout aussi importants. Des innovations comme l'EVM parallèle offrent des solutions prometteuses pour améliorer le débit et l'efficacité, avec l'espoir de rendre la blockchain plus évolutive et de soutenir une plus grande variété de cas d'utilisation. Le développement de ces technologies continuera de faire progresser l'écosystème blockchain.
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
6
Partager
Commentaire
0/400
SerumSquirrel
· Il y a 17h
EVMtql bull ah
Voir l'originalRépondre0
ChainComedian
· Il y a 17h
C'est tout ce que ça vaut en termes de performance ? On parle encore d'innovation ?
Voir l'originalRépondre0
SatoshiHeir
· Il y a 17h
Il convient de noter que ce que l'on appelle le parallèle n'est qu'une imitation maladroite de Vitalik Buterin.
Voir l'originalRépondre0
CounterIndicator
· Il y a 18h
Compris ! La chaîne unique devient un goulot d'étranglement, il faut paralléliser !
Voir l'originalRépondre0
LiquidationTherapist
· Il y a 18h
EVM parallèle, c'est vraiment génial
Voir l'originalRépondre0
pvt_key_collector
· Il y a 18h
Vous avez encore des problèmes de performance ? La chaîne est morte.
Analyse technique de la technologie EVM parallèle : nouvelles opportunités et défis pour la couche d'exécution Blockchain
Analyse approfondie de la Machine virtuelle Ethereum (EVM)
La relation entre EVM et Solidity
Le développement de contrats intelligents est une compétence clé pour les ingénieurs blockchain. Bien que les développeurs utilisent généralement des langages de haut niveau comme Solidity pour écrire des contrats, la Machine virtuelle ne peut pas exécuter directement ces codes. Elle a besoin de compiler le code en instructions de bas niveau compréhensibles par la machine virtuelle ( codes d'opération/bytecode ). Actuellement, des outils existent pour automatiser ce processus de conversion, allégeant ainsi le fardeau pour les développeurs de comprendre les détails de la compilation.
Bien que la compilation entraîne des frais, les ingénieurs familiers avec le codage de bas niveau peuvent directement intégrer des codes d'opération dans Solidity pour atteindre une efficacité maximale et réduire la consommation de gas. Par exemple, un protocole de trading NFT bien connu utilise massivement l'assemblage en ligne pour minimiser les frais de gas des utilisateurs.
Différences entre les normes et les mises en œuvre de la Machine virtuelle Ethereum
L'EVM, en tant que "couche d'exécution", est l'environnement dans lequel les codes d'opération des contrats intelligents compilés s'exécutent finalement. Le bytecode défini par l'EVM est devenu la norme de l'industrie. Que ce soit sur les réseaux de deuxième couche d'Ethereum ou d'autres blockchains indépendantes, tant qu'ils sont compatibles avec la norme EVM, les développeurs peuvent déployer efficacement des contrats intelligents sur plusieurs réseaux.
Bien que suivant la même norme de bytecode, les implémentations spécifiques de l'EVM peuvent différer considérablement. Par exemple, un certain client Ethereum a implémenté la norme EVM en langage Go, tandis qu'une équipe de fondation maintient une implémentation en C++. Cette diversité offre un espace pour des optimisations d'ingénierie et des implémentations personnalisées.
L'émergence de la technologie EVM parallèle
Historiquement, la communauté blockchain s'est principalement concentrée sur l'innovation des algorithmes de consensus, certains projets renommés attirant davantage l'attention en raison de leur mécanisme de consensus plutôt que de leur couche d'exécution. Bien que ces projets aient également innové dans la couche d'exécution, leurs améliorations de performance sont souvent à tort considérées comme provenant uniquement des algorithmes de consensus.
En réalité, une blockchain haute performance nécessite une innovation simultanée dans l'algorithme de consensus et la couche d'exécution. Pour les blockchains EVM qui ne se contentent d'améliorer l'algorithme de consensus, l'amélioration des performances nécessite souvent un support matériel plus puissant. Par exemple, une chaîne intelligente bien connue traite des blocs avec une limite de gas de 2000 TPS, nécessitant une configuration plusieurs fois supérieure à celle d'un nœud complet Ethereum. Un autre réseau prétendant supporter jusqu'à 1000 TPS a également des performances qui ne répondent souvent pas aux attentes.
La nécessité du traitement parallèle
Dans les systèmes de blockchain traditionnels, les transactions sont exécutées de manière séquentielle, semblable à un CPU monocœur. Bien que cette méthode soit simple et que la complexité du système soit faible, elle a du mal à soutenir une large base d'utilisateurs. Passer à une machine virtuelle parallèle de type CPU multicœur peut traiter plusieurs transactions simultanément, augmentant considérablement le débit.
L'exécution parallèle pose certains défis techniques, tels que la gestion des transactions concurrentes sur le même contrat. Cela nécessite de nouveaux mécanismes pour résoudre les conflits potentiels. Cependant, l'exécution parallèle de contrats intelligents non liés peut augmenter le débit de manière proportionnelle au nombre de threads de traitement.
Innovation de l'EVM parallèle
L'EVM parallèle représente une série d'innovations visant à optimiser la couche d'exécution de la blockchain. Prenons un projet comme exemple, ses innovations clés incluent :
Exécution des transactions en parallèle : utilisation d'un algorithme d'exécution parallèle optimiste, permettant de traiter plusieurs transactions simultanément. Le système commence les transactions à partir du même état initial, suit les entrées et sorties, et génère des résultats temporaires. La décision d'exécuter la transaction suivante en parallèle repose sur l'examen des relations de dépendance entre les transactions.
Exécution différée : dans le mécanisme de consensus, les nœuds parviennent d'abord à un consensus sur l'ordre des transactions, sans exécution immédiate. L'exécution est retardée dans un canal indépendant, maximisant l'utilisation du temps de bloc et améliorant l'efficacité globale.
Base de données d'état personnalisée : optimise le stockage et l'accès à l'état en stockant directement l'arbre Merkle sur SSD. Cette méthode minimise l'effet de lecture amplifiée, accélère la vitesse d'accès à l'état et rend l'exécution des contrats plus efficace.
Mécanisme de consensus haute performance : basé sur l'amélioration de HotStuff, supporte des centaines de nœuds mondiaux en synchronisation, avec une complexité de communication linéaire. Utilise le vote en pipeline, permettant aux différentes phases de se chevaucher, réduisant ainsi les délais et améliorant l'efficacité.
Les défis de l'EVM parallèle
L'exécution parallèle introduit des conflits d'état potentiels, nécessitant une vérification des conflits avant ou après l'exécution. Par exemple, lorsque plusieurs transactions parallèles interagissent avec le même pool de transactions, un mécanisme de détection et de résolution des conflits doit être soigneusement mis en place.
En plus des différences d'implémentation technique, les équipes doivent généralement repenser les performances de lecture et d'écriture de la base de données d'état et développer des algorithmes de consensus compatibles.
Les projets EVM parallèles font face à deux grands défis : le risque qu'Ethereum absorbe ses innovations technologiques à long terme, ainsi que le problème de la centralisation des nœuds. Le développement rapide de l'écosystème est essentiel pour maintenir un avantage concurrentiel. La décentralisation des nœuds nécessite de trouver un équilibre entre l'opération sans autorisation, sans confiance et la haute performance.
Aperçu du projet EVM parallèle
Le paysage actuel de l'EVM parallèle comprend plusieurs blockchains de Layer 1, des solutions potentielles de Layer 2, ainsi que des couches compatibles avec l'EVM basées sur d'autres blockchains publiques. Les projets existants peuvent être classés en trois catégories :
Présentation des projets représentatifs
Le projet A vise à résoudre les problèmes de scalabilité en optimisant l'exécution parallèle de la Machine virtuelle d'Ethereum, avec un objectif d'atteindre 10 000 TPS. Un financement important a été complété, et l'équipe fondatrice provient de principaux teneurs de marché. Un réseau de test interne a été lancé et sera bientôt ouvert au public.
Le projet B s'est initialement concentré sur l'infrastructure des applications de trading, et a récemment été mis à jour vers un EVM parallèle haute performance, augmentant le TPS à 12 500. Le testnet est en ligne, prenant en charge la migration des applications EVM en un clic. Un cadre open source a également été lancé pour soutenir l'adoption de Layer 2 en utilisant la technologie de traitement parallèle.
Le projet C améliore les performances et l'efficacité d'exécution en construisant un système double de Machine Virtuelle EVM++( EVM + WASM). L'équipe principale provient d'un projet blockchain connu. Le réseau de test public est déjà en ligne et le plan d'incitation écologique a été lancé.
Le projet D est un réseau Layer 1 compatible EVM construit sur un certain SDK, conçu spécifiquement pour le DeFi. Récemment, il a été annoncé que le plan de développement introduira une technologie EVM parallèle pour améliorer les performances.
Le projet E est la première solution compatible EVM sur une certaine blockchain haute performance. Il permet aux développeurs Solidity de déployer des DApps en un clic, tout en bénéficiant d'un haut débit et de faibles frais de gas. Les transactions EVM sont encapsulées en transactions natives, avec un TPS dépassant 2 000.
Le projet F est une solution modulaire de Layer 2 prise en charge par la machine virtuelle d'une certaine blockchain publique. Les règlements se font sur Ethereum, utilisant l'ETH comme gas, mais la couche d'exécution fonctionne dans cet environnement virtuel. Un financement important a récemment été réalisé, et le mainnet sera bientôt ouvert aux développeurs.
Le projet G est un réseau Layer 2 modulaire VM, qui prend en charge l'introduction de machines virtuelles haute performance dans l'écosystème Layer 2 principal. Il est possible d'utiliser Ethereum ou Bitcoin comme couche de règlement, tandis que la couche d'exécution peut utiliser plusieurs machines virtuelles parallèles.
Conclusion
Avec le développement de la technologie blockchain, l'optimisation de la couche d'exécution et les algorithmes de consensus sont tout aussi importants. Des innovations comme l'EVM parallèle offrent des solutions prometteuses pour améliorer le débit et l'efficacité, avec l'espoir de rendre la blockchain plus évolutive et de soutenir une plus grande variété de cas d'utilisation. Le développement de ces technologies continuera de faire progresser l'écosystème blockchain.