Introduction à la machine virtuelle Ethereum (EVM) : le moteur qui exécute chaque contrat intelligent
Je me souviens de la première fois où les frais de gaz ont englouti la moitié de ma transaction. C'était en 2021, j'essayais de créer une cryptomonnaie sur OpenSea, et le réseau demandait 87 $ rien que pour la traiter. À ce moment-là, j'ai réalisé que je ne comprenais absolument rien à ce qui se passait en coulisses. Pourquoi cela coûtait-il si cher ? Où allait l'argent ? Qu'est-ce qui exécutait réellement ma transaction ? La réponse à ces trois questions était la même : la machine virtuelle Ethereum.
La plupart des acteurs du monde des cryptomonnaies ont déjà entendu parler de la « machine virtuelle Ethereum » (EVM). Pourtant, rares sont ceux qui savent réellement à quoi elle sert. C'est pourtant essentiel, car l'EVM est au cœur de presque tout sur Ethereum et sur les plus de 390 chaînes qui ont repris son architecture. Plus de 190 milliards de dollars de valeur DeFi reposent actuellement sur les réseaux EVM. Si vous avez déjà utilisé MetaMask, échangé des tokens ou cliqué sur un bouton dans une application décentralisée (dApp), c'est l'EVM qui a opéré en coulisses. Les nœuds exécutent les contrats intelligents sur toutes ces chaînes, et c'est l'EVM qui rend possible l'exécution de chacune de ces opérations.
Alors, décortiquons cela sérieusement. Pas la version théorique, la vraie.
Qu'est-ce que la machine virtuelle Ethereum et pourquoi est-elle importante ?
Bon, commençons par la version la plus simple. Vous connaissez les applications calculatrices ? Tapez 2 + 2, vous obtenez 4. Bof. Imaginez maintenant cette calculatrice fonctionnant simultanément sur 10 000 téléphones. Chaque téléphone obtient le même résultat. Si un téléphone prétend que « 2 + 2 = 5 », les 9 999 autres le rejettent instantanément. Personne ne contrôle la calculatrice, personne ne peut l’arrêter, et personne ne peut la truquer. C’est fondamentalement ce que fait la machine virtuelle eBay (EVM), sauf qu’au lieu de faire des calculs, elle exécute des contrats intelligents qui manipulent de l’argent réel.
Les informaticiens appellent cela une machine à états. Ethereum conserve une grande quantité de données : qui possède quelles cryptomonnaies, quels contrats intelligents existent, la quantité d'ether présente sur chaque adresse, les informations stockées par chaque contrat. Tout cela constitue l'« état ». Vous envoyez une transaction. La machine virtuelle Ethereum (EVM) la traite en la comparant à l'état actuel. Un nouvel état est alors généré. L'ancien état plus la transaction égale le nouvel état. Formule théorique : Y(S, T) = S'. C'est tout.
Le plus étonnant, c'est la redondance. Votre transaction n'arrive pas sur un seul serveur en Virginie. Elle transite par des milliers de nœuds répartis sur tout le réseau Ethereum. Chacun effectue les calculs indépendamment. Ils comparent les résultats. Correspondance ? Parfait, le nouvel état est ajouté à la blockchain. Non-correspondance ? La version erronée est rejetée. J'imagine toujours des milliers de comptables remplissant la même déclaration d'impôts. L'un d'eux inscrit un chiffre différent, tout le monde s'arrête et repère l'erreur.
Et voici ce qui le distingue des logiciels classiques : personne ne gère l’EVM. Aucune entreprise ne la gère. Il n’y a pas de service d’assistance. Aucun administrateur ne peut annuler discrètement une transaction à 2 h du matin. Le code est open source, fonctionne de la même manière sur chaque nœud, et la confiance repose sur ce consensus général plutôt que sur une figure d’autorité qui dit « faites-moi confiance ».

Comment fonctionne l'EVM : de Solidity à l'exécution
Permettez-moi de vous expliquer le cycle de vie d'un contrat intelligent, car une fois que vous aurez compris l'ensemble de la chaîne d'événements, la machine virtuelle EVM deviendra beaucoup plus claire.
Première étape : écrire du code. Solidity est le langage de programmation choisi par environ 90 % des développeurs EVM. Il emprunte sa syntaxe à JavaScript : accolades, fonctions, variables, etc. Vyper existe aussi (plus proche de Python, et volontairement plus simple), mais Solidity reste le langage dominant. Le piège qui guette les débutants : chaque ligne de code a un coût. Il n’y a pas d’environnement de test. Pas de possibilité de revenir en arrière. Si vous déployez un contrat contenant un bug, ce bug est permanent, à moins d’avoir prévu un mécanisme de mise à jour. J’en ai fait l’amère expérience en voyant un ami développeur perdre le sommeil à cause d’une virgule mal placée.
Deuxième étape : votre code Solidity est compilé en bytecode. Imaginez le bytecode comme le langage machine de l’EVM. Vous écrivez du code lisible par un humain. Le compilateur le transforme en une suite hexadécimale que l’EVM comprend. Cette suite hexadécimale contient environ 150 opcodes. ADD effectue des additions. SSTORE enregistre des données. CALL permet à un contrat de communiquer avec un autre. Chaque opcode correspond à une petite tâche. Votre contrat enchaîne des milliers de ces tâches.
L'étape trois est la plus intéressante. Quelqu'un appelle votre contrat. Chaque nœud du réseau récupère la transaction, charge votre bytecode et commence le traitement séquentiel des opcodes. Le processeur fonctionne par pile : imaginez une pile d'assiettes où seule celle du dessus est accessible. On empile un nombre, puis un autre. On effectue l'opération ADD. Les deux nombres sont extraits de la pile, additionnés, et le résultat est réinséré. La profondeur maximale est de 1 024 éléments, chacun d'une largeur de 256 bits.
Chaque nœud effectue cette opération individuellement. Même bytecode, mêmes entrées, même état initial. Même réponse à chaque fois. C'est cette prévisibilité qui garantit le bon fonctionnement du consensus blockchain. Si la machine virtuelle Elastic (EVM) pouvait produire des résultats différents selon les machines, tout l'édifice s'effondrerait.
Architecture EVM : pile, mémoire et stockage
L'EVM gère les données en trois couches. Ce point est important car il influe directement sur le coût de vos transactions.
La pile est l'élément central du système. Tous les calculs s'y déroulent : empiler, dépiler, effectuer des opérations, et ainsi de suite. Elle est rapide, peu coûteuse (environ 3 unités de gaz par opération) et disparaît une fois l'exécution terminée. La plupart des opcodes interagissent directement avec la pile.
La mémoire est comme un bloc-notes. On peut y lire et y écrire à n'importe quel emplacement, ce qui la rend plus flexible que la pile pour les chaînes de caractères ou les grands tableaux. Cependant, la mémoire disparaît après chaque transaction. Côté coût, elle se situe entre les deux : plus chère que la pile, mais bien moins chère que le stockage. Sa capacité augmente en fonction des besoins, et le coût en gaz augmente de façon quadratique avec la mémoire allouée.
Vient ensuite le stockage . C'est l'opération la plus coûteuse, et à juste titre. Le stockage est permanent. Lorsqu'un contrat intelligent enregistre qu'Alice possède 500 jetons, cette donnée est écrite dans l'arbre d'état Ethereum et y reste. Chaque nœud du réseau la stocke. Indéfiniment. Une nouvelle écriture dans le stockage coûte 20 000 unités de gaz. Une mise à jour coûte 5 000 unités de gaz. À titre de comparaison, un simple transfert d'ether coûte 21 000 unités de gaz au total. Ainsi, une seule écriture dans le stockage coûte presque aussi cher qu'une transaction classique.
| Couche de données | Combien de temps cela dure | coût de l'essence | À quoi ça sert |
|---|---|---|---|
| Empiler | Disparu après l'exécution | ~3 gaz par opération | Mathématiques, logique, comparaisons |
| Mémoire | Disparu après la transaction | 3 gaz + coût d'expansion | Données temporaires, arguments de fonction |
| Stockage | Permanent | 5 000 à 20 000 unités de gaz par écrit | Soldes de jetons, registres de propriété, paramètres |
Vous vous êtes déjà demandé pourquoi le déploiement d'un contrat intelligent coûte si cher ? Voici l'explication : le déploiement écrit tout le bytecode et les données initiales du contrat dans le stockage. Cela représente un nombre considérable d'opérations consommant 20 000 unités de gaz.
Si cela vous semble familier, c'est normal. Les ordinateurs classiques fonctionnent de la même manière. Les registres du processeur sont rapides mais de petite taille, comme la pile. La RAM est plus volumineuse et plus lente, comme la mémoire vive. Les disques durs stockent toutes les données, mais les opérations d'écriture sont les plus lentes, comme le stockage. Les créateurs d'Ethereum l'ont conçu ainsi intentionnellement. Ils veulent que vous ressentiez le coût financier lié au stockage permanent de données sur la blockchain, afin que vous n'y stockiez que ce qui est réellement nécessaire.
Frais de gaz sur l'EVM : calcul des prix Ethereum
Je dois parler du gaz, car c'est à la fois l'aspect le plus ingénieux et le plus frustrant de l'EVM.
L'EVM est Turing-complète. Autrement dit, elle peut exécuter n'importe quel calcul, y compris les boucles infinies. Imaginez quelqu'un déployant un contrat avec une boucle `while(true)` sans coût d'exécution. Tous les nœuds se bloquent. La blockchain se fige. Fin de la partie.
Le gaz empêche cela. Chaque opération a un coût. ADD coûte 3 unités de gaz. SSTORE coûte 5 000 ou 20 000 unités de gaz. Lorsque vous envoyez une transaction, vous définissez un budget de gaz. Si le calcul se termine avec un budget inférieur, vous êtes remboursé pour le gaz non utilisé. Si la limite est atteinte, tout est annulé, mais vous payez quand même le gaz consommé. Les boucles infinies épuisent le budget et provoquent l'arrêt du système.
Le montant débité de votre portefeuille correspond au produit du gaz consommé par son prix. La consommation de gaz dépend de la nature de votre transaction. Le prix du gaz fluctue en fonction de l'activité du réseau, mesurée en gwei (un milliardième d'ether). Forte activité ? Le prix du gaz augmente. Dimanche calme ? Il diminue.
Et c'est là que ça devient intéressant. Vous vous souvenez de mon investissement de 87 $ en 2021 ? Les frais de gaz étaient alors régulièrement de 100 à 200 gwei. L'été de la DeFi et l'engouement pour les NFT avaient saturé le réseau. Début 2026, le prix moyen du gaz se situe autour de 3 gwei. Un transfert ETH de base coûte environ 0,30 $ à 0,67 $. Soit une baisse de 96 % par rapport à 2021.
| Année | Frais de transaction moyens | Gamme de prix du gaz | Qu'est-ce qui l'a provoqué ? |
|---|---|---|---|
| 2021 | ~24 $ | 100-200 gwei | L'engouement pour les NFT, le yield farming DeFi |
| 2022 | 5-15 $ | 30-80 gwei | Krach boursier, baisse de l'activité |
| 2023 | 2-8 $ | 15-40 gwei | Le marché baissier se stabilise |
| 2024 | 0,50 $-2 | 5-15 gwei | Mise à niveau Dencun, EIP-4844 |
| 1er trimestre 2026 | 0,30 $ - 0,67 $ | ~3 gwei | Migration L2, transactions blob |
Qu'est-ce qui a changé ? Deux choses. Premièrement, la mise à jour Dencun de mars 2024 a introduit l'EIP-4844, qui a créé le stockage « blob » pour les rollups. Avant les blobs, les réseaux de couche 2 devaient publier leurs données sous forme de calldata sur le réseau principal Ethereum, ce qui était coûteux. Les blobs sont temporaires et beaucoup moins chers, réduisant les coûts de publication de la couche 2 d'environ 95 %. Deuxièmement, la majeure partie de l'activité s'est simplement déplacée vers les réseaux de couche 2. Lorsque votre swap Uniswap s'exécute sur Arbitrum au lieu du réseau principal, la couche de base reste peu encombrée.
Sur ces réseaux de couche 2, un échange peut coûter moins d'un centime. Arbitrum, Base et Optimism utilisent tous la machine virtuelle EVM ; votre code Solidity fonctionne donc de la même manière. Vous ne payez qu'une fraction des frais de gaz.

Compatibilité EVM : pourquoi plus de 390 blockchains ont copié le modèle d’Ethereum
C’est à ce moment que l’histoire des machines à voter électroniques passe d’intéressante à véritablement significative pour l’ensemble du secteur.
Lors du lancement de BNB Chain, Binance n'a pas créé de nouvelle machine virtuelle. Ils ont repris l'EVM et l'ont optimisée. Polygon a fait de même. Avalanche, Fantom, Cronos, Harmony, Gnosis Chain : même scénario. Même les plateformes de routage de couche 2 dédiées, comme Arbitrum et Optimism, exécutent l'EVM nativement. Il en résulte un écosystème de plus de 390 chaînes compatibles avec l'EVM, même si seulement 40 à 50 d'entre elles sont actives quotidiennement.
Pourquoi copier Ethereum au lieu de créer quelque chose de nouveau ? Trois raisons, toutes pratiques.
Tout d'abord, les développeurs. On compte plus de 20 000 développeurs Solidity dans le monde. Lancez une chaîne EVM et chacun d'eux pourra déployer du code dès le premier jour sans avoir à apprendre un nouveau langage. Solana utilise Rust. Aptos et Sui utilisent Move. Ces chaînes ont dû constituer leurs équipes de développeurs à partir de zéro. Une chaîne EVM s'affranchit complètement de ce problème.
Deuxièmement, des outils gratuits. MetaMask, Hardhat, Foundry, Ethers.js, OpenZeppelin, Etherscan. L'ensemble de la suite Ethereum fonctionne sur n'importe quelle chaîne EVM sans aucune modification. Même portefeuille. Même framework de test. Même explorateur de blocs. De quoi gagner des années de travail.
Troisièmement, la DeFi s'appuie sur l'EVM. Uniswap, Aave, Curve, SushiSwap : toutes ces plateformes sont opérationnelles sur au moins cinq chaînes EVM. Les contrats sont copiés-collés d'Ethereum à Polygon, puis à Arbitrum et enfin à la BNB Chain. Même code, même audit, même modèle de sécurité. Des ponts connectent la liquidité. L'EVM assure la cohésion.
Mais copier l'EVM, c'est aussi copier ses problèmes. Une transaction à la fois. Des mots de 256 bits sur des processeurs 64 bits, ce qui engendre une surcharge. Un système de gaz fonctionnel, mais complexe, que les machines virtuelles plus récentes évitent. La SVM de Solana exécute les transactions en parallèle. MoveVM dispose d'un modèle de ressources qui élimine des catégories entières de bogues. FuelVM s'inspire de la conception des processeurs modernes.
L'une d'entre elles a-t-elle rattrapé l'EVM en termes d'adoption ? Non. Loin de là. Une meilleure technologie sur le papier ne peut rivaliser avec les effets de réseau dans la réalité. L'EVM compte le plus grand nombre de développeurs, le plus grand nombre de protocoles opérationnels, le plus grand nombre de modèles de code audités et le plus grand nombre de cicatrices laissées par les piratages dont elle a su se remettre. Dans le monde des cryptomonnaies, où une seule faille peut coûter des sommes astronomiques, les cicatrices comptent plus que les performances pures.
État d'Ethereum et comment la machine virtuelle Ethereum (EVM) maintient le consensus
Cette partie est plus technique, mais elle est importante. Elle explique pourquoi les nœuds Ethereum nécessitent du matériel physique et pourquoi l'enregistrement des données sur la blockchain coûte une fortune.
Ethereum conserve une immense table de correspondance. Donnez-lui n'importe quelle adresse et elle vous renverra le solde d'ethers, le nonce (nombre de transactions) et, pour les adresses de contrats, le bytecode complet ainsi que toutes les données stockées. Des millions d'adresses. Des centaines de gigaoctets. Voilà à quoi ressemble Ethereum.
Tout cela est stocké dans un arbre de Merkle Patricia. En bref : c’est un arbre où chaque branche possède son propre hachage, et tous ces hachages convergent vers un hachage racine unique au sommet. Ce hachage racine figure dans l’en-tête de chaque bloc. Transférez 0,001 ETH entre deux portefeuilles et le hachage racine change complètement. Les validateurs vérifient les blocs en exécutant chaque transaction, en calculant le hachage racine résultant et en le comparant. Hachage identique ? Bloc valide. Hachage différent ? Bloc rejeté.
L'exécution d'un nœud implique la mise à jour de l'intégralité de cet arbre à chaque bloc. C'est d'ailleurs le principal problème de scalabilité d'Ethereum. La machine virtuelle est suffisamment rapide, mais l'état ne cesse de croître. Chaque SSTORE ajoute une nouvelle feuille à l'arbre. Chaque nouveau contrat y ajoute encore plus de données. Les arbres Verkle pourraient résoudre ce problème. L'équipe Ethereum y travaille depuis plusieurs années. Ils permettraient aux nœuds de vérifier les blocs sans stocker l'état complet. Si Verkle est déployé, l'exécution d'un nœud deviendra beaucoup moins coûteuse et davantage de personnes pourront rejoindre le groupe de validateurs.
Implémentation EVM : une spécification, de nombreux clients
La plupart des gens l'ignorent : « l'EVM » est une spécification, pas un programme. C'est un document qui indique « à partir de ces entrées, produire ces sorties ». Chacun peut créer sa propre version dans le langage de son choix, pourvu qu'elle respecte la spécification.
Geth est le principal client. Écrit en Go, il fonctionne sur la plupart des nœuds Ethereum. Mais il en existe d'autres : Nethermind (C#), Besu (Java, conçu pour les entreprises), Erigon (Go, optimisé pour le disque) et Reth (Rust, développé par Paradigm). Les développeurs principaux souhaitent cette diversité. Pourquoi ? Si 95 % des nœuds utilisent Geth et que ce dernier introduit un bug critique, c'est tout le réseau qui est menacé. Réparti sur cinq clients, un bug n'affecte que 20 % des nœuds. Les autres continuent de fonctionner normalement.
Les réseaux de couche 2 apportent leur propre touche. Arbitrum a créé une version modifiée appelée Arbitrum VM. Optimism vise une « équivalence EVM », un comportement identique octet par octet. zkSync Era va plus loin : il compile le bytecode EVM dans un format compatible avec les preuves à divulgation nulle de connaissance. Le chemin d'exécution sous-jacent est totalement différent. Mais pour un développeur Solidity ? L'apparence reste la même. Le fait que des architectures radicalement différentes présentent toutes la même interface aux développeurs est sans doute l'un des aspects les plus sous-estimés de l'EVM.
En tant que développeur, vous vous souciez peu du client qui traite votre contrat. Vous écrivez en Solidity, compilez en bytecode, puis déployez. La spécification garantit le même résultat partout.
Développement de contrats intelligents sur l'EVM : ce à quoi les développeurs sont réellement confrontés
Les développeurs web qui tentent de créer pour l'EVM sont vite déchantés. Les bugs coûtent cher. Impossible de corriger les bugs en production. Un contrat défectueux reste défectueux, sauf si vous aviez anticipé la situation.
Solidity est utilisé dans plus de 90 % des contrats EVM. Les outils sont désormais performants. Hardhat propose JavaScript/TypeScript avec des plugins. Foundry, quant à lui, utilise Rust, est plus rapide et permet d'écrire les tests directement en Solidity. Les deux plateformes déploient une machine virtuelle EVM locale, ce qui permet de tester sans consommer de gaz. Je recommande Foundry pour tout nouveau projet. Dès que votre suite de tests dépasse la centaine de tests, l'écart de vitesse devient flagrant.
Les standards de tokens assurent l'organisation de l'écosystème. L'ERC-20 couvre les tokens fongibles comme l'USDT, le LINK et l'UNI. L'ERC-721 est dédié aux NFT. L'ERC-1155 gère les contrats multi-tokens. L'ERC-4626 prend en charge les yield vaults. Tous fonctionnent de la même manière sur chaque chaîne EVM. Écrivez votre contrat une seule fois, déployez-le sur Ethereum, Arbitrum, Base ou Polygon. Même code, même comportement.
La sécurité ? Lacunaire. Les attaques par réentrance ont coûté des centaines de millions de dollars au fil des ans. Le piratage de la DAO en 2016 a scindé Ethereum en deux à cause d'une faille de réentrance permettant à un attaquant d'effectuer des boucles de retrait et de dérober 60 millions de dollars. Les dépassements de capacité d'entiers étaient un fléau jusqu'à ce que Solidity 0.8 intègre des vérifications par défaut en 2021. Des erreurs de contrôle d'accès apparaissent encore dans le code audité par les équipes professionnelles. Des outils comme Slither et Mythril et Certora détectent certains bugs, mais rien ne remplace un audit complet. Et même les audits ne sont pas infaillibles. C'est un fait.
Aujourd'hui, un token ERC-20 de base coûte entre 5 et 20 dollars sur le réseau principal. Un protocole DeFi complet ? Quelques centaines de dollars. Sur les réseaux de couche 2 ? Quelques centimes. Pas étonnant que 65 % des nouveaux contrats en 2025 aient été déployés sur la couche 2.
L'écosystème EVM en 2026 : domination de la couche 2 et perspectives d'avenir
Il y a trois ans, les réseaux de couche 2 détenaient 4 milliards de dollars de TVL. Aujourd'hui, ce montant dépasse les 50 milliards. Arbitrum, à lui seul, en compte 16,6 milliards. Base atteint 10 milliards et Optimism 6 milliards. Cette évolution s'explique par la chute quasi-nulle des frais de couche 2. La plupart des opérations de consolidation se font à un coût inférieur à un centime. Même les frais du réseau principal sont passés sous la barre du dollar. Auparavant, on disait qu'Ethereum coûtait trop cher et que tout le monde devrait utiliser Solana. Cet argument n'a plus le même impact.
L'abstraction de compte (ERC-4337) a discrètement bouleversé le paysage crypto en 2025 et 2026. Les portefeuilles intelligents permettent aux utilisateurs de payer les frais de transaction en stablecoins, de regrouper plusieurs opérations en une seule transaction et de récupérer leurs comptes sans phrase de récupération. Si vous avez déjà vu un ami abandonner le monde des cryptomonnaies enragé parce que MetaMask l'obligeait à autoriser deux fenêtres contextuelles pour un seul échange, vous comprenez l'importance de cette évolution. L'écart entre un portefeuille crypto et une application bancaire classique se réduit comme peau de chagrin.
Et ensuite ? Je surveille plusieurs pistes. Le format EOF (EVM Object Format) simplifie le bytecode, ce qui réduit les coûts de validation et améliore le fonctionnement des outils. Les recherches sur l'exécution parallèle pourraient permettre à l'EVM de gérer simultanément des transactions indépendantes au lieu de les traiter une par une. Il est encore trop tôt pour tirer des conclusions définitives, mais si cela fonctionne, le débit sera considérablement augmenté sans que les développeurs aient à modifier quoi que ce soit. Enfin, les arbres de Verkle sont de plus en plus proches d'une commercialisation.
La concurrence est bien réelle. La SVM de Solana offre un débit supérieur. MoveVM a introduit des modèles qui éliminent des catégories entières de bugs. Mais regardez les chiffres : l’écosystème EVM détient plus de 190 milliards de dollars de TVL DeFi. Le volume mensuel des DEX dépasse les 400 milliards de dollars. Plus de 20 000 développeurs y contribuent. Près de 11 ans de tests rigoureux. Les machines virtuelles plus récentes remportent les benchmarks. L’EVM l’emporte sur tous les points essentiels lorsque de l’argent réel est en jeu.