Qu’est-ce que la Machine Virtuelle Ethereum (EVM) ?
La Machine Virtuelle Ethereum (EVM) est un logiciel qui établit les règles de calcul de l’état du réseau Ethereum de bloc en bloc. L’EVM est une partie essentielle d’Ethereum car elle exécute des contrats intelligents, traite les transactions et met à jour les soldes des comptes.
En termes simples, l’EVM est une machine virtuelle ou un cloud qui alimente le protocole Ethereum. Tout comme un ordinateur, elle exécute du code et dispose d’une mémoire pour sauvegarder des informations. Cependant, l’EVM n’est pas simplement un seul ordinateur mais un ensemble de milliers de machines connecté au cloud à travers le monde.
Fonctions Clés de l’EVM | |
Gérer l’état de la blockchain Ethereum | Exécuter des contrats intelligents |
Stocker des données | Calculer les frais de gaz |
Comment fonctionne l’EVM ?
Les développeurs sur Ethereum écrivent leur code de contrat intelligent dans un langage de programmation appelé Solidity. Le code est ensuite traduit en bytecode afin que l’EVM puisse lire les instructions.
Dans le processus de traduction du code de Solidity en bytecode, les instructions sont d’abord décomposées en « opcodes » ou codes d’opération. Chaque ligne de code est convertie en opcodes pour que l’EVM sache exactement comment exécuter une transaction.
Comme nous le savons, chaque transaction sur Ethereum nécessite des frais de gaz pour être exécutée. Par conséquent, la relation entre les opcodes et les frais de gaz est également importante pour comprendre le fonctionnement de l’EVM.
En théorie, lorsque vous payez des frais de gaz, vous payez en réalité pour que les opcodes soient exécutés par l’EVM. Plus il y a d’opcodes, plus vos frais de gaz seront élevés.
Les transactions simples telles que l’envoi d’ETH d’un compte à un autre nécessiteront moins de gaz par rapport aux processus complexes comme la création d’un contrat intelligent, car l’EVM doit effectuer davantage de travail.
Fonctionnalités clés de l’EVM
- Machine virtuelle Turing-complète
L’EVM est conçue comme une machine virtuelle Turing-complète. La complétude de Turing fait référence à une machine qui peut résoudre n’importe quel problème si elle dispose des ressources nécessaires en termes de temps, d’énergie et d’instructions complètes.
La complétude de Turing d’Ethereum est la capacité du réseau à comprendre et à mettre en œuvre des accords futurs d’un contrat intelligent.
- L’exécution de code déterministe
L’EVM exécute le code de manière déterministe. Un contrat intelligent particulier produira toujours la même sortie pour la même entrée. Peu importe où le contrat intelligent est exécuté ou qui l’exécute, la sortie sera toujours cohérente pour une entrée particulière.
- Isolement
L’EVM est conçue pour fonctionner en isolation du reste du système informatique. Cela garantit que les contrats intelligents sont exécutés dans un environnement sécurisé.
Architecture de l’EVM
Code de l’EVM : Le bytecode que l’EVM peut exécuter.
État : Ethereum est une grande structure de données qui contient des informations sur les comptes et les soldes. L’état de ces informations change de bloc en bloc à mesure que l’EVM traite de nouvelles entrées pour produire des sorties déterministes.
Transactions : Les transactions sont des instructions cryptographiquement signées par les utilisateurs que l’EVM exécute. Il existe deux types d’instructions :
- Les appels de message peuvent être des instructions de transaction simples pour envoyer de l’ETH d’un compte à un autre.
- La création de contrat est une instruction pour créer de nouveaux contrats intelligents.
Espace : L’EVM utilise trois composants spatiaux :
- Pile – stockage temporaire ayant une capacité maximale de 1024 éléments. Toutes les opérations sont effectuées sur la pile.
- Mémoire – stockage temporaire accessible uniquement pendant l’exécution des contrats intelligents. Son contenu est supprimé une fois l’exécution du contrat terminée.
- Stockage – mémoire persistante qui ne se perd pas car les données sont stockées sur la blockchain Ethereum. Comparé à la pile et à la mémoire, l’utilisation de la mémoire de stockage entraîne des frais de gaz plus élevés.
Gaz : La quantité d’effort computationnel requise pour exécuter des opérations sur un réseau blockchain. Chaque calcul de l’EVM nécessite des frais de gaz, sinon la transaction ne sera pas traitée.
Importance de la compatibilité avec l’EVM
Ethereum est devenu le réseau blockchain public de contrats intelligents le plus précieux au monde.
Le 21 juin 2023, l’écosystème d’applications décentralisées (dApps) d’Ethereum affichait une valeur totale bloquée (TVL) de 24,63 milliards de dollars. La deuxième chaîne la plus précieuse, Tron, détenait une TVL de 5 milliards de dollars, selon DefiLlama. Cela montre une préférence claire du marché pour Ethereum, qui s’est imposé comme la blockchain de choix pour la finance décentralisée (DeFi).
De nombreux réseaux blockchain sont conçus pour être compatibles avec l’EVM. Cela permet à la blockchain d’exécuter des contrats intelligents Ethereum. La compatibilité avec l’EVM permet aux développeurs de déployer facilement leurs contrats intelligents sur Ethereum et plusieurs chaînes compatibles avec l’EVM.
Les réseaux compatibles avec l’EVM peuvent exploiter le vaste pool d’utilisateurs d’Ethereum, ce qui peut être crucial pour la croissance et l’adoption massive.
Quelles chaînes sont compatibles avec l’EVM ?
- Ethereum
- BNB Chain
- Polygon PoS
- Avalanche
- Optimism
- Arbitrium
- Fantom
- Moonbean
- Klaytn
- Cronos
En conclusion
Le logiciel EVM est la pierre angulaire d’Ethereum car il maintient l’état de la blockchain et exécute les contrats intelligents.
La croissance fulgurante d’Ethereum a fait de l’EVM une norme de l’industrie, à tel point que les réseaux blockchain concurrents conçoivent leurs systèmes pour être compatibles avec celui-ci.