Crypto
Definition
La Machine Virtuelle Ethereum (EVM) est l'environnement d'exécution qui exécute le code des contrats intelligents et met à jour l'état de la blockchain d'Ethereum de manière déterministe.
La Machine Virtuelle Ethereum (EVM) est la couche de calcul d'Ethereum : un environnement d'exécution standardisé que chaque nœud Ethereum utilise pour exécuter des contrats intelligents et convenir des résultats. Lorsque vous interagissez avec une application décentralisée (dApp) — échange de tokens, minting d'un NFT ou prise d'un prêt DeFi — l'EVM est le « moteur de règles » qui exécute les instructions du contrat et produit les mêmes changements d'état pour tout le monde sur le réseau.
À un niveau élevé, l'EVM exécute des contrats intelligents sous forme de bytecode (instructions lisibles par machine) et garantit que l'exécution est déterministe — ce qui signifie que les mêmes entrées doivent produire les mêmes sorties sur chaque nœud. Les développeurs écrivent généralement des contrats dans des langages de niveau supérieur tels que Solidity ou Vyper, puis compilent ce code source en bytecode EVM. Ce bytecode est stocké sur la chaîne à une adresse de contrat, prêt à être exécuté chaque fois qu'une transaction l'appelle.
L'exécution commence lorsqu'un utilisateur (ou un autre contrat) envoie une transaction qui cible une adresse de contrat et spécifie un appel de fonction et des paramètres. Les nœuds valident la transaction, puis l'EVM la traite étape par étape en utilisant un ensemble d'instructions basé sur une pile (souvent décrit comme une « machine à pile virtuelle »). Au fur et à mesure que l'EVM exécute des opcodes (opérations de base telles que l'arithmétique, les lectures/écritures de stockage et le hachage cryptographique), il peut :
1. Lire l'état du contrat depuis le stockage d'Ethereum (données persistantes liées au contrat). 2. Effectuer des calculs en mémoire (espace de travail temporaire). 3. Émettre des journaux (événements) que les applications peuvent indexer et afficher. 4. Appeler d'autres contrats (composabilité), en passant des données et de la valeur. 5. Écrire l'état mis à jour dans le stockage si l'exécution se termine avec succès.
Une partie clé du fonctionnement de la Machine Virtuelle Ethereum est le gas — un système de mesure qui évalue le coût de la computation et du stockage. Chaque opération EVM a un coût en gas. L'expéditeur fixe un montant maximum de gas qu'il est prêt à consommer (la limite de gas) et paie des frais libellés en ETH pour le travail effectué. Si l'exécution manque de gas, l'EVM s'arrête et annule les changements d'état, ce qui protège le réseau des boucles infinies et des abus de ressources.
Une analogie utile : pensez à l'EVM comme à une « calculatrice » partagée et résistante à la falsification que tout le monde peut vérifier. Vous pouvez soumettre un programme (un contrat intelligent) et des entrées (une transaction). La calculatrice facture par étape (gas) et publie le résultat final (changements d'état) afin que tous les participants puissent confirmer le même résultat.
La Machine Virtuelle Ethereum est l'environnement d'exécution qui exécute les contrats intelligents Ethereum et applique leurs changements d'état à travers le réseau. Chaque nœud exécute l'EVM, donc la même transaction produit le même résultat.
Les contrats intelligents sont compilés en bytecode EVM stocké sur la chaîne. Lorsqu'une transaction appelle un contrat, l'EVM exécute ce bytecode étape par étape, facturant du gaz pour les opérations et mettant à jour l'état si l'exécution se termine avec succès.
Le gaz mesure le calcul et le stockage afin que l'exécution des contrats ait un coût clair et ne puisse pas se dérouler indéfiniment. Cela aide à prévenir le spam, limite l'utilisation des ressources et aligne la sécurité du réseau avec les incitations économiques.
Les chaînes compatibles avec l'EVM mettent en œuvre les mêmes règles d'exécution et le même comportement d'opcode que l'EVM d'Ethereum. Cela permet aux développeurs de déployer des contrats basés sur Solidity et d'utiliser des outils Ethereum familiers avec moins de changements.
L'EVM n'est pas seulement « l'affaire d'Ethereum » — elle est devenue une norme largement adoptée pour l'exécution de contrats intelligents. De nombreux réseaux sont compatibles EVM, ce qui signifie qu'ils mettent en œuvre le même environnement d'exécution et le même comportement d'opcode afin que les contrats de style Ethereum puissent fonctionner avec des modifications minimales. C'est pourquoi les développeurs peuvent souvent réutiliser le code Solidity, les outils familiers et les pratiques d'audit sur plusieurs chaînes.
Sur Ethereum lui-même, l'EVM alimente une grande part de l'activité sur la chaîne : des échanges décentralisés (DEX) qui exécutent des échanges via des contrats de teneur de marché automatisés, des protocoles de prêt qui gèrent les garanties et les calculs d'intérêts, et des contrats NFT qui appliquent les règles de minting et de propriété. Dans chaque cas, l'EVM est le composant qui transforme la « logique de contrat » en transitions d'état vérifiables — mettant à jour les soldes, enregistrant la propriété et appliquant des contraintes exactement comme codé.
La Machine Virtuelle Ethereum est importante car elle fournit un standard d'exécution commun pour les applications décentralisées. Au lieu que chaque projet invente ses propres règles d'exécution, l'EVM définit comment les contrats intelligents se comportent, comment ils interagissent et comment les résultats sont vérifiés par le réseau. Cette standardisation est une des principales raisons pour lesquelles Ethereum est devenu un hub pour le DeFi composable et l'innovation sur la chaîne : les contrats peuvent appeler d'autres contrats de manière fiable, et les développeurs peuvent construire sur des primitives existantes.
Elle est également importante pour la sécurité et la santé du réseau. La tarification du gas rend la computation rare et mesurable, décourageant le spam et empêchant les contrats de consommer des ressources illimitées. L'exécution déterministe garantit que le consensus est possible : si les nœuds pouvaient produire des résultats différents à partir de la même transaction, la blockchain se fracturerait. Sans l'EVM (ou une couche d'exécution équivalente), Ethereum serait limité à des transferts simples plutôt qu'à la finance programmable, aux NFT, aux DAO et à d'autres systèmes basés sur des contrats intelligents.
Non—Ethereum est le réseau blockchain, tandis que l'EVM est l'environnement d'exécution utilisé par ce réseau pour exécuter des contrats intelligents. Ethereum comprend également des composants de consensus, de mise en réseau et de disponibilité des données au-delà de l'EVM.