EVM (Ethereum-Virtual Machine) est une machine virtuelle
La machine virtuelle Ethereum (EVM) est une machine virtuelle Turing-complète basée sur des piles qui exécute des contrats intelligents sur la blockchain Ethereum.
L'EVM est l'environnement d'exécution des contrats intelligents dans Ethereum. C'est un environnement en bac à sable, ce qui signifie que le code s'exécutant à l'intérieur de l'EVM ne peut pas accéder directement au réseau, au système de fichiers ou à d'autres processus sur la machine hôte. Cette conception est cruciale pour la sécurité, empêchant les contrats intelligents malveillants de causer des dommages généralisés. L'EVM fonctionne sur une architecture basée sur une pile, exécutant des instructions de bytecode. Chaque nœud Ethereum exécute une instance de l'EVM, garantissant que tous les nœuds s'accordent sur l'état de la blockchain après chaque transaction impliquant un contrat intelligent. Ce mécanisme de consensus est fondamental au fonctionnement d'Ethereum.
La conception de l'EVM permet l'exécution de code arbitraire, faisant d'Ethereum une blockchain programmable. Les développeurs écrivent des contrats intelligents dans des langages de haut niveau comme Solidity, qui sont ensuite compilés en bytecode EVM. Ce bytecode est ce que l'EVM exécute. L'EVM gère également l'état d'Ethereum, y compris les soldes des comptes, le code des contrats et le stockage. Le gas est utilisé pour payer les ressources de calcul et de stockage utilisées par les contrats intelligents, empêchant les attaques par déni de service.
graph LR
Center["EVM (Ethereum-Virtual Machine) est une machine virtuelle"]:::main
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Rel_smart_contracts["smart-contracts"]:::related -.-> Center
click Rel_smart_contracts "/terms/smart-contracts"
Rel_solidity["solidity"]:::related -.-> Center
click Rel_solidity "/terms/solidity"
Rel_zkevm_zero_knowledge_ethereum_virtual_machine["zkevm-zero-knowledge-ethereum-virtual-machine"]:::related -.-> Center
click Rel_zkevm_zero_knowledge_ethereum_virtual_machine "/terms/zkevm-zero-knowledge-ethereum-virtual-machine"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Test de connaissances
🧒 Explique-moi comme si j'avais 5 ans
L'EVVM, c'est un peu comme le moteur de l'ordinateur [Ethereum](/fr/terms/ethereum). Il lit des instructions spéciales (du bytecode) qui viennent des contrats intelligents et il exécute les actions, un peu comme un chef qui suit une recette étape par étape. Chaque étape coûte un peu d'argent, appelé "gas", pour s'assurer que la cuisine ne prenne pas une éternité.
🤓 Expert Deep Dive
La Machine Virtuelle Ethereum (EVM) est un environnement d'exécution déterministe, basé sur une pile, conçu pour les contrats intelligents. Sa fonction principale est de traiter les appels de transaction et les transitions d'état sur le réseau Ethereum. La spécification de l'EVM définit un ensemble d'opcodes, une taille de mot de 256 bits et un mécanisme de planification du gaz pour mesurer l'effort de calcul. Le déterminisme est primordial ; chaque nœud exécutant le même bytecode avec le même état initial doit aboutir à un état final identique. Ceci est réalisé par une adhésion stricte à la fonction de transition d'état de l'EVM. Le mécanisme de gaz, tout en empêchant l'abus de ressources, introduit des contraintes économiques qui ont un impact significatif sur la conception des dApps et l'expérience utilisateur, notamment en ce qui concerne les coûts de transaction et les limitations de débit. Les compromis architecturaux incluent les limitations inhérentes à une architecture basée sur une pile pour les calculs complexes et les défis liés à l'optimisation de l'efficacité du gaz pour l'exécution des contrats intelligents. Les choix de conception de l'EVM ont influencé les conceptions ultérieures de machines virtuelles de blockchain, mais soulignent également la recherche continue de performances plus élevées et de frais de transaction plus bas, conduisant à des innovations telles que les solutions de couche 2 et les environnements d'exécution alternatifs.