BlockPulseNews
Définition

EVM : définition

Aussi appelé : Ethereum Virtual Machine

L'EVM (Ethereum Virtual Machine) est la machine virtuelle qui exécute le code des smart contracts sur Ethereum ; de nombreuses autres blockchains l'ont adoptée, ce qui permet de réutiliser les mêmes contrats et outils.

Thème : Ethereum et smart contracts

EVM : comment ça marche ?

Un smart contract est écrit dans un langage de haut niveau, le plus souvent Solidity ou Vyper, puis compilé en bytecode, une suite d'instructions élémentaires appelées opcodes. L'EVM est le programme qui interprète ce bytecode. Chaque nœud du réseau l'exécute de la même manière, ce qui garantit que tous obtiennent exactement le même résultat et s'accordent sur le nouvel état de la blockchain.

Chaque opcode a un coût exprimé en gas, ce qui empêche les boucles infinies et fait payer les calculs à celui qui les déclenche. L'EVM fonctionne avec une pile, une mémoire temporaire et un stockage permanent propre à chaque contrat. Elle est isolée du reste de la machine : un contrat ne peut ni accéder à internet ni lire des fichiers, d'où le besoin d'oracles pour les données externes. De nombreux réseaux se disent compatibles EVM : rollups, sidechains ou autres blockchains de première couche. Un développeur peut y déployer le même code, et un utilisateur y employer le même portefeuille et le même format d'adresse.

Un exemple concret

Imaginons que Pauline développe un contrat de vote en Solidity. Une fois compilé, son bytecode peut être déployé sur Ethereum, mais aussi sur un rollup compatible EVM où les frais sont plus bas. Dans les deux cas, ses utilisateurs se connectent avec le même portefeuille et le contrat se comporte de la même façon.

Les risques à connaître

Compatible EVM ne signifie pas aussi sûr qu'Ethereum : la sécurité dépend du réseau qui exécute la machine. Une même adresse peut correspondre à des contrats différents selon la chaîne, et envoyer des fonds sur le mauvais réseau peut les rendre difficiles à récupérer.

À ne pas confondre avec

  • Ethereum : Ethereum est la blockchain complète, alors que l'EVM n'est que son moteur d'exécution, réutilisable ailleurs.
  • Langage Move : Move est un langage et un environnement d'exécution différent, conçu autour de la notion de ressources, et non compatible avec l'EVM.

Questions fréquentes sur EVM

Que signifie compatible EVM ?

Cela signifie que le réseau exécute le même bytecode qu'Ethereum : les contrats, portefeuilles et outils conçus pour Ethereum y fonctionnent avec peu ou pas de modifications.

Pourquoi l'EVM utilise-t-elle du gas ?

Le gas mesure la quantité de calcul consommée par chaque instruction. Il permet de facturer l'exécution et d'empêcher qu'un programme monopolise le réseau indéfiniment.

Termes liés

Dans le même thème : Ethereum et smart contracts

Tous les termes du thème Ethereum et smart contracts →

À lire

EVM dans l'actualité

Nos articles qui parlent de EVM, les plus pertinents d'abord.

Approfondir

La fiche du projet cité

Pour aller plus loin sur les projets mentionnés dans cette définition.

Approfondir avec l'Académie : Ethereum en Profondeur Un module gratuit, en leçons courtes et quiz, pour maîtriser ce thème pas à pas.
Découvrir le module

Les autres termes en E

← Tout le lexique crypto de A à Z