Le développement de contrats intelligents est une compétence fondamentale pour les ingénieurs blockchain. Les développeurs utilisent généralement Solidity ou d'autres langages de haut niveau pour implémenter la logique métier. Cependant, la Machine virtuelle ne peut pas analyser directement le code Solidity, il doit être compilé en un langage de bas niveau exécutable par la machine virtuelle ( code opérationnel / bytecode ). Actuellement, des outils existent déjà 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 supplémentaires, les ingénieurs familiers avec le codage bas niveau peuvent écrire la logique des programmes directement en Solidity en utilisant les codes d'opération, afin d'atteindre une efficacité maximale et de réduire la consommation de gas. Par exemple, le protocole de transaction d'une célèbre plateforme d'échange de NFT utilise largement l'assemblage en ligne pour minimiser les frais de gas des utilisateurs.
Différences de performance de la Machine virtuelle Ethereum : norme et mise en œuvre
L'EVM(, également connue sous le nom de "couche d'exécution"), est l'endroit où les codes d'opération des contrats intelligents compilés sont finalement exécutés. Le bytecode défini par l'EVM est devenu une norme de l'industrie. Que ce soit pour les réseaux Ethereum Layer 2 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 le respect de la norme de bytecode EVM fasse de la machine virtuelle une EVM, les méthodes d'implémentation spécifiques peuvent être très différentes. Par exemple, un 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 des possibilités pour différentes optimisations d'ingénierie et des 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 connus étant plus célèbres pour leur mécanisme de consensus que pour leur couche d'exécution. Bien que ces projets aient également innové au niveau de la couche d'exécution, leurs performances sont souvent à tort considérées comme provenant uniquement des algorithmes de consensus.
En réalité, une blockchain haute performance nécessite une combinaison d'algorithmes de consensus innovants et de couches d'exécution optimisées, similaire à la théorie du tonneau. Pour les blockchains EVM qui n'améliorent que l'algorithme de consensus, l'augmentation des performances nécessite souvent un matériel de nœud plus puissant. Par exemple, une célèbre chaîne intelligente traite des blocs avec une limite de gas de 2000 TPS, nécessitant une configuration de machines bien supérieure à celle d'un nœud complet Ethereum. Bien qu'une solution d'extension Layer 2 soutienne théoriquement jusqu'à 1000 TPS, les performances réelles sont souvent inférieures aux 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, la prochaine opération de calcul devant attendre la fin de l'opération en cours. Bien que cette méthode soit simple et que la complexité du système soit faible, elle est difficile à étendre à une base d'utilisateurs de niveau Internet. Passer à une machine virtuelle de CPU multicœur permet de 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 écritures de transactions concurrentes dans 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 proportionnellement au nombre de threads de traitement parallèles.
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 en exemple, ses innovations clés incluent :
Exécution des transactions en parallèle : utilisation d'un algorithme d'exécution parallèle optimiste, permettant à plusieurs transactions d'être traitées 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. En vérifiant si l'entrée de la prochaine transaction est liée à la sortie de la transaction actuellement en cours de traitement, on détermine s'il faut exécuter la prochaine transaction.
Exécution différée : dans le mécanisme de consensus, les nœuds peuvent parvenir à un ordre formel des transactions sans que le nœud principal ou les nœuds de validation n'exécutent les transactions. Au départ, le nœud principal classe les transactions et parvient à un consensus ordonné entre les nœuds. L'exécution est retardée dans un canal indépendant, maximisant ainsi le temps de bloc et améliorant l'efficacité d'exécution globale.
Base de données d'état personnalisée : en optimisant le stockage et l'accès à l'état en stockant directement l'arbre de Merkle sur SSD. Cette méthode minimise l'effet d'amplification de 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 les délais et améliorant l'efficacité du consensus.
Défis et considérations
Les EVM parallèles font face à deux défis majeurs : la capture de 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 testnet et du mainnet, avec le risque d'être absorbés par Ethereum ou 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 pour toutes les blockchains à haute performance, nécessitant un équilibre dans le "trilemme de la blockchain". Des indicateurs tels que le "TPS par demande matérielle" peuvent aider à comparer l'efficacité des blockchains dans des conditions matérielles spécifiques, car une demande matérielle plus faible peut permettre d'activer davantage de nœuds décentralisés.
Le paysage de l'EVM parallèle
Le modèle EVM parallèle comprend plusieurs projets, certains sont des blockchains de couche 1, d'autres peuvent être des solutions de couche 2. Certains projets sont basés sur d'autres réseaux, et il y a également le développement de 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.
Un réseau Layer 1 compatible avec EVM qui utilise la technologie d'exécution parallèle depuis le début.
Réseaux Layer 2 utilisant des technologies d'exécution parallèle non EVM : Cela inclut des chaînes Layer 2 compatibles EVM orientées vers l'expansion. 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, permettant ainsi des capacités parallèles.
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 réaliser de hautes performances. Des innovations telles que l'EVM parallèle offrent des solutions prometteuses pour améliorer le débit et l'efficacité, rendant la blockchain plus évolutive et capable de supporter 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, propulsant 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.
19 J'aime
Récompense
19
4
Partager
Commentaire
0/400
TeaTimeTrader
· 07-15 11:41
Faire un EVM parallèle ? C'est vraiment ennuyeux avec tout ce qui concerne Solidity.
Voir l'originalRépondre0
HashBard
· 07-14 04:07
le scaling evm est de la poésie en mouvement... mais le traitement parallèle ? maintenant c'est le vrai coup de génie galactique fr fr
Voir l'originalRépondre0
NFTArchaeologis
· 07-14 03:55
La mesure numérique off-chain, comme le bronze dans l'archéologie... L'art de la couche d'exécution d'Ethereum est en effet exquis~
Technologie EVM parallèle : innovations et défis de la couche d'exécution de la Blockchain
Machine virtuelle Ethereum EVM
EVM et Solidity
Le développement de contrats intelligents est une compétence fondamentale pour les ingénieurs blockchain. Les développeurs utilisent généralement Solidity ou d'autres langages de haut niveau pour implémenter la logique métier. Cependant, la Machine virtuelle ne peut pas analyser directement le code Solidity, il doit être compilé en un langage de bas niveau exécutable par la machine virtuelle ( code opérationnel / bytecode ). Actuellement, des outils existent déjà 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 supplémentaires, les ingénieurs familiers avec le codage bas niveau peuvent écrire la logique des programmes directement en Solidity en utilisant les codes d'opération, afin d'atteindre une efficacité maximale et de réduire la consommation de gas. Par exemple, le protocole de transaction d'une célèbre plateforme d'échange de NFT utilise largement l'assemblage en ligne pour minimiser les frais de gas des utilisateurs.
Différences de performance de la Machine virtuelle Ethereum : norme et mise en œuvre
L'EVM(, également connue sous le nom de "couche d'exécution"), est l'endroit où les codes d'opération des contrats intelligents compilés sont finalement exécutés. Le bytecode défini par l'EVM est devenu une norme de l'industrie. Que ce soit pour les réseaux Ethereum Layer 2 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 le respect de la norme de bytecode EVM fasse de la machine virtuelle une EVM, les méthodes d'implémentation spécifiques peuvent être très différentes. Par exemple, un 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 des possibilités pour différentes optimisations d'ingénierie et des 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 connus étant plus célèbres pour leur mécanisme de consensus que pour leur couche d'exécution. Bien que ces projets aient également innové au niveau de la couche d'exécution, leurs performances sont souvent à tort considérées comme provenant uniquement des algorithmes de consensus.
En réalité, une blockchain haute performance nécessite une combinaison d'algorithmes de consensus innovants et de couches d'exécution optimisées, similaire à la théorie du tonneau. Pour les blockchains EVM qui n'améliorent que l'algorithme de consensus, l'augmentation des performances nécessite souvent un matériel de nœud plus puissant. Par exemple, une célèbre chaîne intelligente traite des blocs avec une limite de gas de 2000 TPS, nécessitant une configuration de machines bien supérieure à celle d'un nœud complet Ethereum. Bien qu'une solution d'extension Layer 2 soutienne théoriquement jusqu'à 1000 TPS, les performances réelles sont souvent inférieures aux 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, la prochaine opération de calcul devant attendre la fin de l'opération en cours. Bien que cette méthode soit simple et que la complexité du système soit faible, elle est difficile à étendre à une base d'utilisateurs de niveau Internet. Passer à une machine virtuelle de CPU multicœur permet de 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 écritures de transactions concurrentes dans 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 proportionnellement au nombre de threads de traitement parallèles.
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 en exemple, ses innovations clés incluent :
Exécution des transactions en parallèle : utilisation d'un algorithme d'exécution parallèle optimiste, permettant à plusieurs transactions d'être traitées 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. En vérifiant si l'entrée de la prochaine transaction est liée à la sortie de la transaction actuellement en cours de traitement, on détermine s'il faut exécuter la prochaine transaction.
Exécution différée : dans le mécanisme de consensus, les nœuds peuvent parvenir à un ordre formel des transactions sans que le nœud principal ou les nœuds de validation n'exécutent les transactions. Au départ, le nœud principal classe les transactions et parvient à un consensus ordonné entre les nœuds. L'exécution est retardée dans un canal indépendant, maximisant ainsi le temps de bloc et améliorant l'efficacité d'exécution globale.
Base de données d'état personnalisée : en optimisant le stockage et l'accès à l'état en stockant directement l'arbre de Merkle sur SSD. Cette méthode minimise l'effet d'amplification de 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 les délais et améliorant l'efficacité du consensus.
Défis et considérations
Les EVM parallèles font face à deux défis majeurs : la capture de 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 testnet et du mainnet, avec le risque d'être absorbés par Ethereum ou 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 pour toutes les blockchains à haute performance, nécessitant un équilibre dans le "trilemme de la blockchain". Des indicateurs tels que le "TPS par demande matérielle" peuvent aider à comparer l'efficacité des blockchains dans des conditions matérielles spécifiques, car une demande matérielle plus faible peut permettre d'activer davantage de nœuds décentralisés.
Le paysage de l'EVM parallèle
Le modèle EVM parallèle comprend plusieurs projets, certains sont des blockchains de couche 1, d'autres peuvent être des solutions de couche 2. Certains projets sont basés sur d'autres réseaux, et il y a également le développement de 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.
Un réseau Layer 1 compatible avec EVM qui utilise la technologie d'exécution parallèle depuis le début.
Réseaux Layer 2 utilisant des technologies d'exécution parallèle non EVM : Cela inclut des chaînes Layer 2 compatibles EVM orientées vers l'expansion. 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, permettant ainsi des capacités parallèles.
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 réaliser de hautes performances. Des innovations telles que l'EVM parallèle offrent des solutions prometteuses pour améliorer le débit et l'efficacité, rendant la blockchain plus évolutive et capable de supporter 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, propulsant des avancées et des applications supplémentaires dans ce domaine.