Qu'est-ce que EVM (Ethereum Virtual Machine) ?

Débutant11/21/2022, 9:52:05 AM
EVM est une couche d'abstraction entre le code et l'hôte qui sert de garantie pour maintenir le bon fonctionnement d'Ethereum. Qu'est-ce qu'un EVM après tout ? Quels sont les principes et les cas d'utilisation typiques de l'EVM ? Plongeons-y plus profondément.

Introduction

EVM est une couche d'abstraction entre le code et l'hôte qui sert de garantie pour maintenir le bon fonctionnement d'Ethereum. Qu'est-ce qu'un EVM après tout ? Quels sont les principes et les cas d'utilisation typiques de l'EVM ? Plongeons-y plus profondément.

En tant que blockchain la plus populaire à l'heure actuelle, Ethereum fournit aux utilisateurs une variété d'applications décentralisées. C'est le terme le plus fréquemment mentionné lorsque les gens font référence aux DeFi, NFT, etc. Et EVM, en tant que partie intégrante d'Ethereum, attire également l'attention des gens. Alors quelle est la relation entre EVM et Ethereum ?

Qu'est-ce que l'EVM ?

EVM signifie "Ethereum virtual machine". Comme défini par Ethereum, EVM est l'environnement d'exécution dans lequel tous les comptes Ethereum et les contrats intelligents vivent sur la chaîne Ethereum.

EVM existe en tant qu'entité unique maintenue par tous les ordinateurs connectés exécutant un client Ethereum. C'est ce qui définit les règles de calcul d'un nouvel état valide de bloc en bloc.

Comment fonctionne EVM ?

Les principes derrière EVM

Au lieu d'un grand livre distribué comme le Bitcoin, Ethereum est une machine à états distribuée. Le changement de bloc à bloc représente une mise à jour de l'état de tous les comptes et soldes sur Ethereum. La mise à jour est calculée sur la base du code du contrat par l'EVM.


Figure : https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf

EVM est une machine virtuelle basée sur la pile et effectue toutes ses opérations directement dans la pile. Lorsque le contrat intelligent est compilé en bytecode, l'EVM effectue des opérations basées sur le bytecode, y compris l'extraction de variables de la mémoire et leur ajout à la pile, le calcul des variables dans la pile, et le stockage des variables en mémoire, etc.

Il existe deux principaux types de stockage de données dans EVM : la mémoire et le stockage. Les variables en mémoire seront stockées sur Ethereum de façon permanente après l'exécution du contrat, tandis que les variables en mémoire existent temporairement pendant que le code est exécuté sur EVM.

Prenons l'exemple de l'appel d'un contrat. Nous avons écrit un contrat avec Solidity, compilé des métadonnées à l'aide d'un compilateur, et l'avons publié sur Ethereum. Lorsque nous devons mettre à jour l'état du contrat, nous devons appeler le contrat. Cependant, ni OS ni Windows ne peuvent exécuter directement des contrats intelligents. L'EVM est nécessaire pour fournir un environnement de fonctionnement aux contrats intelligents. Les étapes spécifiques sont les suivantes : Tout d'abord, l'EVM trouve le code du contrat stocké sur Ethereum grâce à l'adresse du contrat ; ensuite, un environnement d'exécution est généré ; enfin, le contenu du contrat est converti en bytecode et placé dans l'EVM pour être exploité. Le résultat obtenu à partir de l'opération sera stocké comme le dernier état dans le bloc suivant, achevant ainsi le processus de mise à jour de l'état.

Figure : https://cnodejs.org/topic/5aeecba802591040485bab2a

Implémentations EVM
Actuellement, tous les clients Ethereum incluent une implémentation EVM. Ethereum a lancé le code source de plusieurs langages de programmation, dont Python, C++, js, Go, etc., pour mettre en œuvre les fonctionnalités de l'EVM. Il aide les utilisateurs à comprendre le principe de l'EVM d'une manière plus pratique.

Py-EVM - Python : https://github.com/ethereum/py-evm
evmone - C++ : https://github.com/ethereum/evmone
Ethereumjs - vm - JavaScript : https://github.com/ethereumjs/ ethereumjs-monorepo
eEVM - C++ : https://github.com/microsoft/eevm
Hyperledger Burrow - Go : https://github.com/hyperledger/burrow

Éléments fondamentaux d'EVM

Contrat intelligent

Les contrats intelligents sont des codes qui s'exécutent exclusivement sur l'EVM. Ils ne peuvent pas être modifiés une fois déployés. Ethereum définit, modifie et stocke l'état par le biais de contrats intelligents pour réaliser diverses applications décentralisées. EVM agit comme un environnement où les contrats intelligents peuvent s'exécuter, ce qui est similaire à la relation entre une autoroute et une voiture.

Frais de gaz

Une puissance de calcul importante est nécessaire pour exécuter les contrats intelligents sur EVM, ce qui consomme une certaine quantité de gaz. Pour mieux comprendre, pensez aux véhicules qui doivent payer des péages sur les routes à péage.
Les frais de gaz incitent les mineurs du monde entier à participer et à fournir de la puissance de calcul, afin de rendre Ethereum plus décentralisé. Il empêche également les utilisateurs de soumettre des demandes d'opérations aléatoires susceptibles d'entraîner une congestion du Mainnet d'Ethereum ou protège Ethereum d'un plantage en empêchant les attaques malveillantes.

Solidity et Opcode

Les smart contracts Ethereum sont écrits en Solidity et sont compilés en bytecode avant d'être exécutés sur l'EVM. Le bytecode contient des opcodes, ou codes d'opération. EVM possède 144 opcodes, chacun ayant une fonctionnalité spécifique, ce qui rend EVM Turing-complet. Il peut résoudre tout type de problème de calcul. Solidity et Opcodes nous permettent d'écrire des smart contracts complexes et de mettre en œuvre une grande variété de fonctions sur EVM, offrant ainsi aux utilisateurs une variété de dApps.

Caractéristiques de l'EVM

Déterministe

Pour le même morceau de code, la sortie est la même après avoir été exécutée sur différents EVM, car cela n'a rien à voir avec l'environnement d'exécution et le nombre d'exécutions. La certitude de l'EVM garantit la fiabilité du code et évite les conséquences inattendues. Cette fonctionnalité permet de protéger les intérêts des utilisateurs, notamment lorsqu'ils effectuent des transactions importantes sur Ethereum.

Isolé

EVM est comme un bac à sable isolé où le code s'exécute. Le processus en cours d'exécution n'endommagera pas le logiciel/matériel dur de l'ordinateur et n'affectera pas le protocole sous-jacent d'Ethereum. L'isolation de l'EVM empêche les pirates d'attaquer la machine qui exécute un EVM, et protège également le protocole sous-jacent d'Ethereum contre toute manipulation. Il sert de garantie qui sécurise l'Ethereum.

Résiliable

Le processus d'exécution du code EVM peut être interrompu. Si l'utilisateur exécute le mauvais code, comme une boucle infinie, le mécanisme de gaz peut être déployé pour mettre fin au processus d'exécution afin d'empêcher ce code d'occuper indéfiniment la puissance de calcul. Avant d'exécuter le code sur l'EVM, la limite supérieure du gaz doit être fixée à l'avance. Lorsque le gaz est épuisé, le code s'arrête de fonctionner et l'état est annulé sans aucune mise à jour de la chaîne.

Compatibilité EVM

Au fur et à mesure que le nombre d'utilisateurs augmente, Ethereum Mainnet rencontre de nombreux problèmes, tels que des réseaux encombrés et des frais de gaz élevés. Limités à la conception d'Ethereum, ces problèmes ne peuvent être résolus de manière radicale.

Ces dernières années, il y a beaucoup de nouvelles chaînes publiques qui ont des frais de gaz moins élevés et des réseaux plus rapides et des chaînes de couche 2 qui sont conçues pour mettre à l'échelle Ethereum. Ces chaînes sont toutes des chaînes de contrats intelligents, dont on dit qu'elles ont de meilleures conceptions sous-jacentes et peuvent être utilisées pour construire une variété de dApps.

Ces chaînes prennent en charge les demandes excédentaires de l'écosystème Ethereum et remettent en question le statut dominant d'Ethereum. Est-il nécessaire que les contreparties d'Ethereum soient compatibles avec EVM ? En ce qui concerne cette divergence, ces chaînes sont divisées en deux catégories : les chaînes compatibles EVM et les chaînes non compatibles EVM.

Chaînes publiques compatibles avec EVM

Récemment, les chaînes publiques de niveau 1 sont apparues les unes après les autres. Bien que la reconstruction d'un écosystème on-chain fonctionnant en parallèle avec Ethereum puisse pallier les lacunes actuelles d'Ethereum, il faut des ressources humaines importantes pour construire un écosystème complet et développer une dApp à partir de zéro. Le manque de programmeurs qualifiés empêche les nouveaux écosystèmes de chaînes publiques de se développer. Pour une chaîne publique dont l'écosystème n'est pas développé, il serait difficile d'attirer un utilisateur d'Ethereum dans un court laps de temps.

Compte tenu de cela, certaines chaînes publiques sont conçues pour être compatibles avec EVM. Les DApps qui fonctionnent à l'origine sur Ethereum peuvent être complètement transformées en chaînes publiques compatibles EVM avec seulement des modifications mineures du code source. Elle peut non seulement maximiser l'utilisation des ressources de développement, mais aussi offrir aux utilisateurs une meilleure expérience dans le processus de migration d'Ethereum vers une nouvelle chaîne.

Cependant, la compatibilité EVM s'est inévitablement accompagnée de certains problèmes. Confinées aux règles de l'EVM, de nombreuses chaînes compatibles avec l'EVM rencontrent un problème concernant la manière de réaliser l'innovation sans homogénéisation. Cependant, les chaînes non EVM peuvent briser ces règles et développer un nouvel ensemble de règles à partir de zéro, réalisant ainsi une innovation fondamentale.

À l'heure actuelle, plus de 70 % des chaînes publiques courantes sont compatibles avec EVM, telles que BSC, Avalanche, Fantom, Tron, Celo, etc. Il ne serait pas difficile pour les développeurs de développer des dApps ou de déployer des applications Ethereum sur ces chaînes pour des performances plus élevées et des frais de gaz moins élevés, améliorant ainsi l'expérience utilisateur.

Certaines autres chaînes publiques ne sont pas EVM mais ont développé leurs propres machines virtuelles, comme Sol, Terra, etc. Bien qu'elles ne soient pas compatibles avec les EVM, ces chaînes ont attiré un groupe d'utilisateurs et d'institutions fidèles grâce à leur conception innovante et à leurs excellentes performances sur la chaîne. Par exemple, les deux jeux de la blockchain, Step N et Let me speak, qui ont été populaires dans le monde entier récemment, sont basés sur la chaîne Sol et ont attiré des fans enthousiastes du monde entier pour y participer.

Notamment, les chaînes compatibles EVM peuvent coexister avec les chaînes non-EVM. Certaines chaînes non EVM commencent également à être compatibles avec l'EVM. Le processus pour y parvenir serait ardu car il nécessite des efforts considérables pour modifier le code. Un exemple de cela est Sol qui a lancé Neon, qui permet aux développeurs de construire des dApps sur EVM.

Figure : Compatibilité EVM des chaînes publiques

Chaînes de couche 2 compatibles avec EVM

En tant que solution de mise à l'échelle d'Ethereum, Layer 2 est complémentaire à Ethereum et non son concurrent. Les chaînes de la couche 2 sont toutes compatibles avec les EVM, avec un niveau de compatibilité plus élevé que celui de la couche 1. Pour que la couche 2 soit compatible avec EVM, nous avons deux solutions : la compatibilité EVM et l'équivalence EVM.

Les premières chaînes de la couche 2 sont compatibles EVM, ce qui est similaire à la compatibilité EVM des chaînes de la couche 1. Les contrats intelligents de la couche 1 d'Ethereum peuvent être déployés sur la couche 2 en apportant quelques modifications. Par exemple, Unipig, lancé par Optimism, est entièrement une reconstruction du code Uniswap. Il est considéré comme Uniswap sur la couche 2.

Il existe certaines limites à la compatibilité EVM. Lors du développement de contrats intelligents sur une chaîne compatible EVM, certains outils et cadres de développement basés sur EVM peuvent ne pas être disponibles. En outre, pour les contrats intelligents initialement disposés dans la couche 1, les développeurs doivent encore effectuer quelques ajustements afin que les contrats intelligents puissent fonctionner sans problème sur la blockchain compatible EVM.

L'équivalence EVM vise à donner aux développeurs exactement la même expérience lors du développement de smart contracts sur la couche 2 que sur la couche 1 d'Ethereum. Cela a grandement profité aux développeurs de Layer2, a encore amélioré l'efficacité du développement et a permis d'économiser les coûts de développement et de maintenance du code sur la base de la compatibilité EVM.

À l'heure actuelle, les principales solutions de couche 2, telles qu'Artbitrum, Optimism et Metis, ont atteint l'équivalence EVM. L'équivalence EVM peut mieux transférer les caractéristiques d'Ethereum à la couche 2, en vue de minimiser le coût de développement et de migration causé par la mise à l'échelle. L'équivalence EVM devrait devenir la norme principale de la couche 2 à l'avenir, et de nombreuses solutions de couche 2 se livreront à une course acharnée autour de l'équivalence EVM.

Conclusion

EVM est le noyau qui permet à Ethereum de fonctionner. Avec l'établissement de la domination d'Ethereum, les principales chaînes publiques et les chaînes de couche 2 ont suivi ou sont compatibles avec le concept de conception sous-jacent d'EVM. Par conséquent, EVM a définitivement eu un impact profond sur l'ensemble de la blockchain. L'EVM lui-même présente de nombreux problèmes, ce qui rend difficile la compatibilité des nouvelles chaînes avec l'EVM. Malgré cela, les développeurs ont travaillé dur pour apporter des améliorations, ce qui a grandement facilité l'émergence de nombreuses autres chaînes publiques.

ผู้เขียน: Pigfly
นักแปล: Binyu
ผู้ตรวจทาน: Edward, Ashley, Cecilia
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย

Qu'est-ce que EVM (Ethereum Virtual Machine) ?

Débutant11/21/2022, 9:52:05 AM
EVM est une couche d'abstraction entre le code et l'hôte qui sert de garantie pour maintenir le bon fonctionnement d'Ethereum. Qu'est-ce qu'un EVM après tout ? Quels sont les principes et les cas d'utilisation typiques de l'EVM ? Plongeons-y plus profondément.

Introduction

EVM est une couche d'abstraction entre le code et l'hôte qui sert de garantie pour maintenir le bon fonctionnement d'Ethereum. Qu'est-ce qu'un EVM après tout ? Quels sont les principes et les cas d'utilisation typiques de l'EVM ? Plongeons-y plus profondément.

En tant que blockchain la plus populaire à l'heure actuelle, Ethereum fournit aux utilisateurs une variété d'applications décentralisées. C'est le terme le plus fréquemment mentionné lorsque les gens font référence aux DeFi, NFT, etc. Et EVM, en tant que partie intégrante d'Ethereum, attire également l'attention des gens. Alors quelle est la relation entre EVM et Ethereum ?

Qu'est-ce que l'EVM ?

EVM signifie "Ethereum virtual machine". Comme défini par Ethereum, EVM est l'environnement d'exécution dans lequel tous les comptes Ethereum et les contrats intelligents vivent sur la chaîne Ethereum.

EVM existe en tant qu'entité unique maintenue par tous les ordinateurs connectés exécutant un client Ethereum. C'est ce qui définit les règles de calcul d'un nouvel état valide de bloc en bloc.

Comment fonctionne EVM ?

Les principes derrière EVM

Au lieu d'un grand livre distribué comme le Bitcoin, Ethereum est une machine à états distribuée. Le changement de bloc à bloc représente une mise à jour de l'état de tous les comptes et soldes sur Ethereum. La mise à jour est calculée sur la base du code du contrat par l'EVM.


Figure : https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf

EVM est une machine virtuelle basée sur la pile et effectue toutes ses opérations directement dans la pile. Lorsque le contrat intelligent est compilé en bytecode, l'EVM effectue des opérations basées sur le bytecode, y compris l'extraction de variables de la mémoire et leur ajout à la pile, le calcul des variables dans la pile, et le stockage des variables en mémoire, etc.

Il existe deux principaux types de stockage de données dans EVM : la mémoire et le stockage. Les variables en mémoire seront stockées sur Ethereum de façon permanente après l'exécution du contrat, tandis que les variables en mémoire existent temporairement pendant que le code est exécuté sur EVM.

Prenons l'exemple de l'appel d'un contrat. Nous avons écrit un contrat avec Solidity, compilé des métadonnées à l'aide d'un compilateur, et l'avons publié sur Ethereum. Lorsque nous devons mettre à jour l'état du contrat, nous devons appeler le contrat. Cependant, ni OS ni Windows ne peuvent exécuter directement des contrats intelligents. L'EVM est nécessaire pour fournir un environnement de fonctionnement aux contrats intelligents. Les étapes spécifiques sont les suivantes : Tout d'abord, l'EVM trouve le code du contrat stocké sur Ethereum grâce à l'adresse du contrat ; ensuite, un environnement d'exécution est généré ; enfin, le contenu du contrat est converti en bytecode et placé dans l'EVM pour être exploité. Le résultat obtenu à partir de l'opération sera stocké comme le dernier état dans le bloc suivant, achevant ainsi le processus de mise à jour de l'état.

Figure : https://cnodejs.org/topic/5aeecba802591040485bab2a

Implémentations EVM
Actuellement, tous les clients Ethereum incluent une implémentation EVM. Ethereum a lancé le code source de plusieurs langages de programmation, dont Python, C++, js, Go, etc., pour mettre en œuvre les fonctionnalités de l'EVM. Il aide les utilisateurs à comprendre le principe de l'EVM d'une manière plus pratique.

Py-EVM - Python : https://github.com/ethereum/py-evm
evmone - C++ : https://github.com/ethereum/evmone
Ethereumjs - vm - JavaScript : https://github.com/ethereumjs/ ethereumjs-monorepo
eEVM - C++ : https://github.com/microsoft/eevm
Hyperledger Burrow - Go : https://github.com/hyperledger/burrow

Éléments fondamentaux d'EVM

Contrat intelligent

Les contrats intelligents sont des codes qui s'exécutent exclusivement sur l'EVM. Ils ne peuvent pas être modifiés une fois déployés. Ethereum définit, modifie et stocke l'état par le biais de contrats intelligents pour réaliser diverses applications décentralisées. EVM agit comme un environnement où les contrats intelligents peuvent s'exécuter, ce qui est similaire à la relation entre une autoroute et une voiture.

Frais de gaz

Une puissance de calcul importante est nécessaire pour exécuter les contrats intelligents sur EVM, ce qui consomme une certaine quantité de gaz. Pour mieux comprendre, pensez aux véhicules qui doivent payer des péages sur les routes à péage.
Les frais de gaz incitent les mineurs du monde entier à participer et à fournir de la puissance de calcul, afin de rendre Ethereum plus décentralisé. Il empêche également les utilisateurs de soumettre des demandes d'opérations aléatoires susceptibles d'entraîner une congestion du Mainnet d'Ethereum ou protège Ethereum d'un plantage en empêchant les attaques malveillantes.

Solidity et Opcode

Les smart contracts Ethereum sont écrits en Solidity et sont compilés en bytecode avant d'être exécutés sur l'EVM. Le bytecode contient des opcodes, ou codes d'opération. EVM possède 144 opcodes, chacun ayant une fonctionnalité spécifique, ce qui rend EVM Turing-complet. Il peut résoudre tout type de problème de calcul. Solidity et Opcodes nous permettent d'écrire des smart contracts complexes et de mettre en œuvre une grande variété de fonctions sur EVM, offrant ainsi aux utilisateurs une variété de dApps.

Caractéristiques de l'EVM

Déterministe

Pour le même morceau de code, la sortie est la même après avoir été exécutée sur différents EVM, car cela n'a rien à voir avec l'environnement d'exécution et le nombre d'exécutions. La certitude de l'EVM garantit la fiabilité du code et évite les conséquences inattendues. Cette fonctionnalité permet de protéger les intérêts des utilisateurs, notamment lorsqu'ils effectuent des transactions importantes sur Ethereum.

Isolé

EVM est comme un bac à sable isolé où le code s'exécute. Le processus en cours d'exécution n'endommagera pas le logiciel/matériel dur de l'ordinateur et n'affectera pas le protocole sous-jacent d'Ethereum. L'isolation de l'EVM empêche les pirates d'attaquer la machine qui exécute un EVM, et protège également le protocole sous-jacent d'Ethereum contre toute manipulation. Il sert de garantie qui sécurise l'Ethereum.

Résiliable

Le processus d'exécution du code EVM peut être interrompu. Si l'utilisateur exécute le mauvais code, comme une boucle infinie, le mécanisme de gaz peut être déployé pour mettre fin au processus d'exécution afin d'empêcher ce code d'occuper indéfiniment la puissance de calcul. Avant d'exécuter le code sur l'EVM, la limite supérieure du gaz doit être fixée à l'avance. Lorsque le gaz est épuisé, le code s'arrête de fonctionner et l'état est annulé sans aucune mise à jour de la chaîne.

Compatibilité EVM

Au fur et à mesure que le nombre d'utilisateurs augmente, Ethereum Mainnet rencontre de nombreux problèmes, tels que des réseaux encombrés et des frais de gaz élevés. Limités à la conception d'Ethereum, ces problèmes ne peuvent être résolus de manière radicale.

Ces dernières années, il y a beaucoup de nouvelles chaînes publiques qui ont des frais de gaz moins élevés et des réseaux plus rapides et des chaînes de couche 2 qui sont conçues pour mettre à l'échelle Ethereum. Ces chaînes sont toutes des chaînes de contrats intelligents, dont on dit qu'elles ont de meilleures conceptions sous-jacentes et peuvent être utilisées pour construire une variété de dApps.

Ces chaînes prennent en charge les demandes excédentaires de l'écosystème Ethereum et remettent en question le statut dominant d'Ethereum. Est-il nécessaire que les contreparties d'Ethereum soient compatibles avec EVM ? En ce qui concerne cette divergence, ces chaînes sont divisées en deux catégories : les chaînes compatibles EVM et les chaînes non compatibles EVM.

Chaînes publiques compatibles avec EVM

Récemment, les chaînes publiques de niveau 1 sont apparues les unes après les autres. Bien que la reconstruction d'un écosystème on-chain fonctionnant en parallèle avec Ethereum puisse pallier les lacunes actuelles d'Ethereum, il faut des ressources humaines importantes pour construire un écosystème complet et développer une dApp à partir de zéro. Le manque de programmeurs qualifiés empêche les nouveaux écosystèmes de chaînes publiques de se développer. Pour une chaîne publique dont l'écosystème n'est pas développé, il serait difficile d'attirer un utilisateur d'Ethereum dans un court laps de temps.

Compte tenu de cela, certaines chaînes publiques sont conçues pour être compatibles avec EVM. Les DApps qui fonctionnent à l'origine sur Ethereum peuvent être complètement transformées en chaînes publiques compatibles EVM avec seulement des modifications mineures du code source. Elle peut non seulement maximiser l'utilisation des ressources de développement, mais aussi offrir aux utilisateurs une meilleure expérience dans le processus de migration d'Ethereum vers une nouvelle chaîne.

Cependant, la compatibilité EVM s'est inévitablement accompagnée de certains problèmes. Confinées aux règles de l'EVM, de nombreuses chaînes compatibles avec l'EVM rencontrent un problème concernant la manière de réaliser l'innovation sans homogénéisation. Cependant, les chaînes non EVM peuvent briser ces règles et développer un nouvel ensemble de règles à partir de zéro, réalisant ainsi une innovation fondamentale.

À l'heure actuelle, plus de 70 % des chaînes publiques courantes sont compatibles avec EVM, telles que BSC, Avalanche, Fantom, Tron, Celo, etc. Il ne serait pas difficile pour les développeurs de développer des dApps ou de déployer des applications Ethereum sur ces chaînes pour des performances plus élevées et des frais de gaz moins élevés, améliorant ainsi l'expérience utilisateur.

Certaines autres chaînes publiques ne sont pas EVM mais ont développé leurs propres machines virtuelles, comme Sol, Terra, etc. Bien qu'elles ne soient pas compatibles avec les EVM, ces chaînes ont attiré un groupe d'utilisateurs et d'institutions fidèles grâce à leur conception innovante et à leurs excellentes performances sur la chaîne. Par exemple, les deux jeux de la blockchain, Step N et Let me speak, qui ont été populaires dans le monde entier récemment, sont basés sur la chaîne Sol et ont attiré des fans enthousiastes du monde entier pour y participer.

Notamment, les chaînes compatibles EVM peuvent coexister avec les chaînes non-EVM. Certaines chaînes non EVM commencent également à être compatibles avec l'EVM. Le processus pour y parvenir serait ardu car il nécessite des efforts considérables pour modifier le code. Un exemple de cela est Sol qui a lancé Neon, qui permet aux développeurs de construire des dApps sur EVM.

Figure : Compatibilité EVM des chaînes publiques

Chaînes de couche 2 compatibles avec EVM

En tant que solution de mise à l'échelle d'Ethereum, Layer 2 est complémentaire à Ethereum et non son concurrent. Les chaînes de la couche 2 sont toutes compatibles avec les EVM, avec un niveau de compatibilité plus élevé que celui de la couche 1. Pour que la couche 2 soit compatible avec EVM, nous avons deux solutions : la compatibilité EVM et l'équivalence EVM.

Les premières chaînes de la couche 2 sont compatibles EVM, ce qui est similaire à la compatibilité EVM des chaînes de la couche 1. Les contrats intelligents de la couche 1 d'Ethereum peuvent être déployés sur la couche 2 en apportant quelques modifications. Par exemple, Unipig, lancé par Optimism, est entièrement une reconstruction du code Uniswap. Il est considéré comme Uniswap sur la couche 2.

Il existe certaines limites à la compatibilité EVM. Lors du développement de contrats intelligents sur une chaîne compatible EVM, certains outils et cadres de développement basés sur EVM peuvent ne pas être disponibles. En outre, pour les contrats intelligents initialement disposés dans la couche 1, les développeurs doivent encore effectuer quelques ajustements afin que les contrats intelligents puissent fonctionner sans problème sur la blockchain compatible EVM.

L'équivalence EVM vise à donner aux développeurs exactement la même expérience lors du développement de smart contracts sur la couche 2 que sur la couche 1 d'Ethereum. Cela a grandement profité aux développeurs de Layer2, a encore amélioré l'efficacité du développement et a permis d'économiser les coûts de développement et de maintenance du code sur la base de la compatibilité EVM.

À l'heure actuelle, les principales solutions de couche 2, telles qu'Artbitrum, Optimism et Metis, ont atteint l'équivalence EVM. L'équivalence EVM peut mieux transférer les caractéristiques d'Ethereum à la couche 2, en vue de minimiser le coût de développement et de migration causé par la mise à l'échelle. L'équivalence EVM devrait devenir la norme principale de la couche 2 à l'avenir, et de nombreuses solutions de couche 2 se livreront à une course acharnée autour de l'équivalence EVM.

Conclusion

EVM est le noyau qui permet à Ethereum de fonctionner. Avec l'établissement de la domination d'Ethereum, les principales chaînes publiques et les chaînes de couche 2 ont suivi ou sont compatibles avec le concept de conception sous-jacent d'EVM. Par conséquent, EVM a définitivement eu un impact profond sur l'ensemble de la blockchain. L'EVM lui-même présente de nombreux problèmes, ce qui rend difficile la compatibilité des nouvelles chaînes avec l'EVM. Malgré cela, les développeurs ont travaillé dur pour apporter des améliorations, ce qui a grandement facilité l'émergence de nombreuses autres chaînes publiques.

ผู้เขียน: Pigfly
นักแปล: Binyu
ผู้ตรวจทาน: Edward, Ashley, Cecilia
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย
เริ่มตอนนี้
สมัครและรับรางวัล
$100