Le développement de contrats intelligents est une compétence fondamentale pour les ingénieurs en blockchain. Les développeurs utilisent généralement des langages de haut niveau comme Solidity pour mettre en œuvre la logique métier. Cependant, la Machine virtuelle (EVM) ne peut pas exécuter directement le code Solidity, il doit être compilé en un langage de bas niveau (code d'opération/code binaire) interprétable par la machine virtuelle. Des outils existants peuvent automatiser ce processus de conversion, réduisant ainsi la nécessité pour les développeurs de se soucier des détails de la compilation.
Bien que le processus de compilation entraîne des frais supplémentaires, les ingénieurs familiers avec le codage de bas niveau peuvent écrire la logique des programmes directement en utilisant les opcodes dans Solidity, afin d'atteindre une efficacité maximale et de réduire la consommation de gas. Par exemple, le protocole d'une plateforme de trading NFT bien connue utilise largement l'assemblage en ligne pour minimiser les frais de gas pour les utilisateurs.
Différences de performance de la Machine virtuelle : normes et mises en œuvre
EVM, c'est-à-dire "couche d'exécution", est l'endroit où les codes d'opération des contrats intelligents compilés sont finalement exécutés et traités. Le bytecode défini par l'EVM est devenu une norme de l'industrie. Que ce soit pour un réseau Layer 2 d'Ethereum ou d'autres blockchains indépendantes, la compatibilité avec la norme EVM permet aux développeurs de déployer efficacement des contrats intelligents sur plusieurs réseaux.
Bien que la conformité à la norme de code binaire EVM soit la base pour que la machine virtuelle soit appelée EVM, les modalités concrètes de mise en œuvre peuvent varier considérablement. Par exemple, un certain client d'Ethereum a implémenté la norme EVM en langage Go, tandis qu'une autre équipe de la Fondation Ethereum maintient une implémentation en C++. Cette diversité offre la possibilité d'optimisations d'ingénierie différentes et d'implémentations personnalisées.
Technologie EVM parallèle
Historiquement, la communauté blockchain s'est principalement concentrée sur l'innovation des algorithmes de consensus, certains projets célèbres étant davantage connus pour leur mécanisme de consensus que pour leur couche d'exécution. Bien que ces projets aient également innové dans la couche d'exécution, leurs performances sont souvent mal interprétées comme ne provenant que des algorithmes de consensus.
En réalité, une blockchain haute performance nécessite des algorithmes de consensus innovants et une couche d'exécution optimisée, similaire à la théorie du tonneau. Pour les blockchains EVM qui améliorent uniquement l'algorithme de consensus, l'augmentation des performances nécessite souvent des configurations de nœuds plus puissantes. Par exemple, une chaîne intelligente bien connue traite des blocs avec une limite de gas de 2000 TPS, nécessitant des configurations de machine plusieurs fois supérieures à celles d'un nœud complet Ethereum. Bien qu'un autre réseau bien connu supporte théoriquement jusqu'à 1000 TPS, ses performances réelles sont souvent en deçà des attentes.
Demande de traitement parallèle
Dans la plupart des systèmes de blockchain, les transactions sont exécutées dans l'ordre, similaire à un CPU monocœur, où le calcul suivant ne commence qu'après l'achèvement du calcul actuel. Bien que cette méthode soit simple et que la complexité du système soit faible, elle a du mal à soutenir une base d'utilisateurs à grande échelle. Passer à un mode de machine virtuelle parallèle à CPU multicœur peut traiter plusieurs transactions simultanément, augmentant considérablement le débit.
L'exécution parallèle a entraîné des défis techniques, tels que le traitement des transactions concurrentes sur un même contrat intelligent. Il est nécessaire de concevoir de nouveaux mécanismes pour résoudre ces conflits. 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 parallèle.
Innovation de l'EVM parallèle
L'EVM parallèle représente une série d'innovations visant à optimiser la couche d'exécution des systèmes blockchain. Prenons un projet comme exemple, ses innovations clés incluent :
Exécution de transactions parallèles : utilisation d'un algorithme d'exécution parallèle optimiste, permettant de traiter plusieurs transactions simultanément. Cette méthode commence les transactions à partir du même état initial, suit les entrées et les sorties, et génère des résultats temporaires pour chaque transaction. Elle détermine si la prochaine transaction doit être exécutée en vérifiant si l'entrée de la prochaine transaction est liée à la sortie de la transaction actuellement en cours de traitement.
Exécution différée : dans le mécanisme de consensus, les nœuds peuvent parvenir à un ordre formel des transactions sans avoir besoin que le nœud principal ou les nœuds de validation exécutent les transactions. Au départ, le nœud principal classe les transactions et parvient à un consensus entre les nœuds. L'exécution des transactions est différée dans un canal indépendant, maximisant l'utilisation du temps de bloc et améliorant l'efficacité globale de l'exécution.
Base de données d'état personnalisée : optimisation du stockage et de l'accès aux états en stockant directement l'arbre de Merkle sur SSD. Cette méthode minimise l'effet d'agrandissement de la lecture, améliore la vitesse d'accès à l'état, rendant l'exécution des contrats intelligents plus rapide et plus efficace.
Mécanisme de consensus haute performance : version améliorée du mécanisme de consensus HotStuff, prenant en charge la synchronisation entre des centaines de nœuds répartis dans le monde, avec une complexité de communication linéaire. Utilisation d'une phase de vote en pipeline, permettant aux différentes phases du processus de vote de se chevaucher, réduisant ainsi le délai et augmentant l'efficacité du consensus.
Défi
Défis techniques de l'EVM parallèle
Le goulot d'étranglement de l'exécution des transactions séquentielles est principalement lié au CPU et au processus de lecture/écriture d'état. L'exécution parallèle introduit des conflits d'état potentiels, nécessitant des vérifications de conflit avant ou après l'exécution. Par exemple, lorsque quatre threads parallèles traitent simultanément des transactions interagissant avec le même pool DeFi, des conflits peuvent survenir. Cette situation nécessite des mécanismes de détection et de résolution des conflits soigneusement élaborés pour garantir un traitement parallèle efficace.
En plus des différences techniques liées à l'EVM parallèle, les équipes doivent généralement redessiner et améliorer les performances de lecture/écriture de la base de données d'état, et développer des algorithmes de consensus compatibles.
Défis et considérations
Les deux principaux défis auxquels fait face l'EVM parallèle sont la capture de la valeur d'ingénierie à long terme d'Ethereum et la centralisation des nœuds. Bien que la phase de développement actuelle n'ait pas encore été entièrement open source pour protéger la propriété intellectuelle, ces détails seront finalement révélés lors du lancement du réseau de test et du réseau principal, faisant face au risque d'être absorbés par d'autres blockchains. Le développement rapide de l'écosystème sera la clé pour maintenir un avantage concurrentiel.
La centralisation des nœuds est un défi auquel toutes les blockchains à haute performance sont confrontées, nécessitant un équilibre entre les "trois dilemmes de la blockchain" - opérations sans autorisation, sans confiance et exigences de haute performance. Des indicateurs tels que le "TPS par demande matérielle" peuvent aider à comparer l'efficacité des blockchains dans des conditions matérielles spécifiques, des exigences matérielles plus faibles contribuant à la réalisation de davantage de nœuds décentralisés.
Le paysage de l'EVM parallèle
Le schéma EVM parallèle comprend plusieurs projets, certains sont des blockchains de couche 1, d'autres peuvent être des solutions de couche 2. Il y en a aussi qui sont des solutions compatibles EVM basées sur d'autres réseaux ou des clients open source.
Actuellement, les réseaux EVM parallèles existants peuvent être classés en trois catégories :
Réseau Layer 1 compatible EVM mis à niveau par la technologie d'exécution parallèle : ces réseaux n'utilisaient initialement pas l'exécution parallèle, mais ont été mis à niveau par itération technologique pour prendre en charge l'EVM parallèle.
Réseau Layer 1 compatible EVM utilisant dès le départ la technologie d'exécution parallèle : certains projets émergents ont pris en compte l'exécution parallèle dès leur conception.
Réseaux Layer 2 utilisant une technologie d'exécution parallèle non EVM : ceux-ci incluent des chaînes Layer 2 compatibles EVM orientées vers l'extension. Ces réseaux abstraient l'EVM en modules d'exécution interchangeables, permettant de sélectionner la meilleure "couche d'exécution VM" selon les besoins, afin de réaliser des capacités parallèles.
Présentation du projet
Projet A : Machine virtuelle EVM de pointe
Ce projet vise à résoudre les problèmes de scalabilité de l'EVM traditionnel en optimisant l'exécution parallèle de l'EVM et l'architecture en pipeline, avec un objectif de 10 000 TPS. Le projet a déjà obtenu un financement important, et l'équipe fondatrice comprend des membres d'institutions de trading réputées. Un réseau de test interne a été lancé et devrait être ouvert au public dans un avenir proche.
Projet B : lancement d'un réseau EVM parallèle
Ce projet était à l'origine un réseau Layer 1 axé sur le trading, fournissant une infrastructure avancée pour les applications de trading. Il a récemment annoncé une mise à niveau complète pour devenir un EVM parallèle haute performance, augmentant considérablement le TPS. Le testnet EVM parallèle est déjà en ligne, supportant la migration en un clic des applications EVM. Le mainnet devrait être lancé au cours de la première moitié de cette année.
Projet C : Renforcer la couche d'exécution grâce à la double Machine virtuelle
Ce projet vise à améliorer la scalabilité des réseaux Layer 1 en étendant le support de la Machine virtuelle Ethereum pour l'exécution parallèle. En construisant un système à double Machine virtuelle, il vise à améliorer les performances des blockchains Ethereum et l'efficacité de l'exécution réseau. Le réseau de test public est en ligne et le programme d'incitation de l'écosystème a également été lancé.
Projet D : Introduction de la technologie EVM parallèle
C'est un réseau Layer 1 compatible EVM construit sur un certain SDK, conçu pour les applications DeFi. Des plans de développement ont été récemment annoncés, visant à introduire la technologie d'exécution parallèle EVM pour améliorer les performances du réseau.
Projet E : solution de compatibilité EVM pour un réseau spécifique
Ce projet est un EVM parallèle construit sur un réseau de haute performance, et c'est la première solution de compatibilité EVM de ce réseau. Il permet aux développeurs EVM utilisant Solidity et Vyper de déployer des DApp en un clic, tout en bénéficiant d'un haut débit et de faibles frais de gas.
Projet F : Introduire des VM spécifiques dans Ethereum
C'est une solution modulaire générale de couche 2 Rollup soutenue par une certaine Machine virtuelle. Elle règle les données de transaction sur Ethereum, utilisant l'ETH comme gaz, mais sa couche d'exécution fonctionne dans un environnement VM spécifique. Un financement important a récemment été complété, et le réseau principal devrait bientôt être ouvert aux développeurs.
Projet G : Module VM Layer 2
Ce projet est construit sur une certaine pile technologique, c'est un réseau Layer 2 modulaire de Machine virtuelle. Il vise à introduire des machines virtuelles haute performance dans les principaux réseaux Layer 2 existants d'Ethereum et de Bitcoin. Il prend en charge l'utilisation d'Ethereum ou de Bitcoin comme couche de règlement, et la couche d'exécution peut utiliser plusieurs machines virtuelles pour une exécution parallèle.
Conclusion
Avec le développement de la technologie blockchain, il est tout aussi important de se concentrer sur la couche d'exécution et les algorithmes de consensus pour atteindre une haute performance. Des innovations comme l'EVM parallèle offrent des solutions prometteuses pour augmenter le débit et l'efficacité, rendant la blockchain plus évolutive et capable de soutenir un large éventail d'utilisateurs. Le développement et la mise en œuvre de ces technologies façonneront l'avenir de l'écosystème blockchain, stimulant ainsi des avancées et des applications supplémentaires dans ce domaine.
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.
8 J'aime
Récompense
8
3
Reposter
Partager
Commentaire
0/400
alpha_leaker
· Il y a 9h
gas est si cher que l'on doit manger de la terre, qui se soucie de savoir si tu compiles ou non
Voir l'originalRépondre0
RetailTherapist
· Il y a 9h
Les frais de gas sont trop chers, qui peut les supporter~
Percée technologique EVM parallèle : innovations et défis de la couche d'exécution de la Blockchain
Ethereum Virtual Machine EVM
Machine virtuelle et Solidity
Le développement de contrats intelligents est une compétence fondamentale pour les ingénieurs en blockchain. Les développeurs utilisent généralement des langages de haut niveau comme Solidity pour mettre en œuvre la logique métier. Cependant, la Machine virtuelle (EVM) ne peut pas exécuter directement le code Solidity, il doit être compilé en un langage de bas niveau (code d'opération/code binaire) interprétable par la machine virtuelle. Des outils existants peuvent automatiser ce processus de conversion, réduisant ainsi la nécessité pour les développeurs de se soucier des détails de la compilation.
Bien que le processus de compilation entraîne des frais supplémentaires, les ingénieurs familiers avec le codage de bas niveau peuvent écrire la logique des programmes directement en utilisant les opcodes dans Solidity, afin d'atteindre une efficacité maximale et de réduire la consommation de gas. Par exemple, le protocole d'une plateforme de trading NFT bien connue utilise largement l'assemblage en ligne pour minimiser les frais de gas pour les utilisateurs.
Différences de performance de la Machine virtuelle : normes et mises en œuvre
EVM, c'est-à-dire "couche d'exécution", est l'endroit où les codes d'opération des contrats intelligents compilés sont finalement exécutés et traités. Le bytecode défini par l'EVM est devenu une norme de l'industrie. Que ce soit pour un réseau Layer 2 d'Ethereum ou d'autres blockchains indépendantes, la compatibilité avec la norme EVM permet aux développeurs de déployer efficacement des contrats intelligents sur plusieurs réseaux.
Bien que la conformité à la norme de code binaire EVM soit la base pour que la machine virtuelle soit appelée EVM, les modalités concrètes de mise en œuvre peuvent varier considérablement. Par exemple, un certain client d'Ethereum a implémenté la norme EVM en langage Go, tandis qu'une autre équipe de la Fondation Ethereum maintient une implémentation en C++. Cette diversité offre la possibilité d'optimisations d'ingénierie différentes et d'implémentations personnalisées.
Technologie EVM parallèle
Historiquement, la communauté blockchain s'est principalement concentrée sur l'innovation des algorithmes de consensus, certains projets célèbres étant davantage connus pour leur mécanisme de consensus que pour leur couche d'exécution. Bien que ces projets aient également innové dans la couche d'exécution, leurs performances sont souvent mal interprétées comme ne provenant que des algorithmes de consensus.
En réalité, une blockchain haute performance nécessite des algorithmes de consensus innovants et une couche d'exécution optimisée, similaire à la théorie du tonneau. Pour les blockchains EVM qui améliorent uniquement l'algorithme de consensus, l'augmentation des performances nécessite souvent des configurations de nœuds plus puissantes. Par exemple, une chaîne intelligente bien connue traite des blocs avec une limite de gas de 2000 TPS, nécessitant des configurations de machine plusieurs fois supérieures à celles d'un nœud complet Ethereum. Bien qu'un autre réseau bien connu supporte théoriquement jusqu'à 1000 TPS, ses performances réelles sont souvent en deçà des attentes.
Demande de traitement parallèle
Dans la plupart des systèmes de blockchain, les transactions sont exécutées dans l'ordre, similaire à un CPU monocœur, où le calcul suivant ne commence qu'après l'achèvement du calcul actuel. Bien que cette méthode soit simple et que la complexité du système soit faible, elle a du mal à soutenir une base d'utilisateurs à grande échelle. Passer à un mode de machine virtuelle parallèle à CPU multicœur peut traiter plusieurs transactions simultanément, augmentant considérablement le débit.
L'exécution parallèle a entraîné des défis techniques, tels que le traitement des transactions concurrentes sur un même contrat intelligent. Il est nécessaire de concevoir de nouveaux mécanismes pour résoudre ces conflits. 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 parallèle.
Innovation de l'EVM parallèle
L'EVM parallèle représente une série d'innovations visant à optimiser la couche d'exécution des systèmes blockchain. Prenons un projet comme exemple, ses innovations clés incluent :
Exécution de transactions parallèles : utilisation d'un algorithme d'exécution parallèle optimiste, permettant de traiter plusieurs transactions simultanément. Cette méthode commence les transactions à partir du même état initial, suit les entrées et les sorties, et génère des résultats temporaires pour chaque transaction. Elle détermine si la prochaine transaction doit être exécutée en vérifiant si l'entrée de la prochaine transaction est liée à la sortie de la transaction actuellement en cours de traitement.
Exécution différée : dans le mécanisme de consensus, les nœuds peuvent parvenir à un ordre formel des transactions sans avoir besoin que le nœud principal ou les nœuds de validation exécutent les transactions. Au départ, le nœud principal classe les transactions et parvient à un consensus entre les nœuds. L'exécution des transactions est différée dans un canal indépendant, maximisant l'utilisation du temps de bloc et améliorant l'efficacité globale de l'exécution.
Base de données d'état personnalisée : optimisation du stockage et de l'accès aux états en stockant directement l'arbre de Merkle sur SSD. Cette méthode minimise l'effet d'agrandissement de la lecture, améliore la vitesse d'accès à l'état, rendant l'exécution des contrats intelligents plus rapide et plus efficace.
Mécanisme de consensus haute performance : version améliorée du mécanisme de consensus HotStuff, prenant en charge la synchronisation entre des centaines de nœuds répartis dans le monde, avec une complexité de communication linéaire. Utilisation d'une phase de vote en pipeline, permettant aux différentes phases du processus de vote de se chevaucher, réduisant ainsi le délai et augmentant l'efficacité du consensus.
Défi
Défis techniques de l'EVM parallèle
Le goulot d'étranglement de l'exécution des transactions séquentielles est principalement lié au CPU et au processus de lecture/écriture d'état. L'exécution parallèle introduit des conflits d'état potentiels, nécessitant des vérifications de conflit avant ou après l'exécution. Par exemple, lorsque quatre threads parallèles traitent simultanément des transactions interagissant avec le même pool DeFi, des conflits peuvent survenir. Cette situation nécessite des mécanismes de détection et de résolution des conflits soigneusement élaborés pour garantir un traitement parallèle efficace.
En plus des différences techniques liées à l'EVM parallèle, les équipes doivent généralement redessiner et améliorer les performances de lecture/écriture de la base de données d'état, et développer des algorithmes de consensus compatibles.
Défis et considérations
Les deux principaux défis auxquels fait face l'EVM parallèle sont la capture de la valeur d'ingénierie à long terme d'Ethereum et la centralisation des nœuds. Bien que la phase de développement actuelle n'ait pas encore été entièrement open source pour protéger la propriété intellectuelle, ces détails seront finalement révélés lors du lancement du réseau de test et du réseau principal, faisant face au risque d'être absorbés par d'autres blockchains. Le développement rapide de l'écosystème sera la clé pour maintenir un avantage concurrentiel.
La centralisation des nœuds est un défi auquel toutes les blockchains à haute performance sont confrontées, nécessitant un équilibre entre les "trois dilemmes de la blockchain" - opérations sans autorisation, sans confiance et exigences de haute performance. Des indicateurs tels que le "TPS par demande matérielle" peuvent aider à comparer l'efficacité des blockchains dans des conditions matérielles spécifiques, des exigences matérielles plus faibles contribuant à la réalisation de davantage de nœuds décentralisés.
Le paysage de l'EVM parallèle
Le schéma EVM parallèle comprend plusieurs projets, certains sont des blockchains de couche 1, d'autres peuvent être des solutions de couche 2. Il y en a aussi qui sont des solutions compatibles EVM basées sur d'autres réseaux ou des clients open source.
Actuellement, les réseaux EVM parallèles existants peuvent être classés en trois catégories :
Réseau Layer 1 compatible EVM mis à niveau par la technologie d'exécution parallèle : ces réseaux n'utilisaient initialement pas l'exécution parallèle, mais ont été mis à niveau par itération technologique pour prendre en charge l'EVM parallèle.
Réseau Layer 1 compatible EVM utilisant dès le départ la technologie d'exécution parallèle : certains projets émergents ont pris en compte l'exécution parallèle dès leur conception.
Réseaux Layer 2 utilisant une technologie d'exécution parallèle non EVM : ceux-ci incluent des chaînes Layer 2 compatibles EVM orientées vers l'extension. Ces réseaux abstraient l'EVM en modules d'exécution interchangeables, permettant de sélectionner la meilleure "couche d'exécution VM" selon les besoins, afin de réaliser des capacités parallèles.
Présentation du projet
Projet A : Machine virtuelle EVM de pointe
Ce projet vise à résoudre les problèmes de scalabilité de l'EVM traditionnel en optimisant l'exécution parallèle de l'EVM et l'architecture en pipeline, avec un objectif de 10 000 TPS. Le projet a déjà obtenu un financement important, et l'équipe fondatrice comprend des membres d'institutions de trading réputées. Un réseau de test interne a été lancé et devrait être ouvert au public dans un avenir proche.
Projet B : lancement d'un réseau EVM parallèle
Ce projet était à l'origine un réseau Layer 1 axé sur le trading, fournissant une infrastructure avancée pour les applications de trading. Il a récemment annoncé une mise à niveau complète pour devenir un EVM parallèle haute performance, augmentant considérablement le TPS. Le testnet EVM parallèle est déjà en ligne, supportant la migration en un clic des applications EVM. Le mainnet devrait être lancé au cours de la première moitié de cette année.
Projet C : Renforcer la couche d'exécution grâce à la double Machine virtuelle
Ce projet vise à améliorer la scalabilité des réseaux Layer 1 en étendant le support de la Machine virtuelle Ethereum pour l'exécution parallèle. En construisant un système à double Machine virtuelle, il vise à améliorer les performances des blockchains Ethereum et l'efficacité de l'exécution réseau. Le réseau de test public est en ligne et le programme d'incitation de l'écosystème a également été lancé.
Projet D : Introduction de la technologie EVM parallèle
C'est un réseau Layer 1 compatible EVM construit sur un certain SDK, conçu pour les applications DeFi. Des plans de développement ont été récemment annoncés, visant à introduire la technologie d'exécution parallèle EVM pour améliorer les performances du réseau.
Projet E : solution de compatibilité EVM pour un réseau spécifique
Ce projet est un EVM parallèle construit sur un réseau de haute performance, et c'est la première solution de compatibilité EVM de ce réseau. Il permet aux développeurs EVM utilisant Solidity et Vyper de déployer des DApp en un clic, tout en bénéficiant d'un haut débit et de faibles frais de gas.
Projet F : Introduire des VM spécifiques dans Ethereum
C'est une solution modulaire générale de couche 2 Rollup soutenue par une certaine Machine virtuelle. Elle règle les données de transaction sur Ethereum, utilisant l'ETH comme gaz, mais sa couche d'exécution fonctionne dans un environnement VM spécifique. Un financement important a récemment été complété, et le réseau principal devrait bientôt être ouvert aux développeurs.
Projet G : Module VM Layer 2
Ce projet est construit sur une certaine pile technologique, c'est un réseau Layer 2 modulaire de Machine virtuelle. Il vise à introduire des machines virtuelles haute performance dans les principaux réseaux Layer 2 existants d'Ethereum et de Bitcoin. Il prend en charge l'utilisation d'Ethereum ou de Bitcoin comme couche de règlement, et la couche d'exécution peut utiliser plusieurs machines virtuelles pour une exécution parallèle.
Conclusion
Avec le développement de la technologie blockchain, il est tout aussi important de se concentrer sur la couche d'exécution et les algorithmes de consensus pour atteindre une haute performance. Des innovations comme l'EVM parallèle offrent des solutions prometteuses pour augmenter le débit et l'efficacité, rendant la blockchain plus évolutive et capable de soutenir un large éventail d'utilisateurs. Le développement et la mise en œuvre de ces technologies façonneront l'avenir de l'écosystème blockchain, stimulant ainsi des avancées et des applications supplémentaires dans ce domaine.