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.
A virtual machine (VM) is a software-based emulation of a physical computer system. It operates as a self-contained environment that runs its own operating system (guest OS) and applications, independent of the underlying hardware (host machine). Virtualization technology allows multiple VMs to run concurrently on a single physical host, each with its own virtualized hardware resources such as CPU, memory, storage, and network interfaces. This abstraction is managed by a hypervisor, which is a layer of software (Type 1 runs directly on hardware, Type 2 runs on top of a host OS) responsible for creating, running, and managing the VMs. VMs provide numerous benefits, including hardware independence, allowing applications to run on different hardware configurations without modification; resource isolation, preventing issues in one VM from affecting others or the host; and efficient resource utilization, by consolidating multiple workloads onto fewer physical servers. They are widely used for server consolidation, testing and development environments, disaster recovery, running legacy applications, and creating isolated security sandboxes. Trade-offs include performance overhead compared to bare-metal execution due to the hypervisor layer, and the need for sufficient host resources to support multiple VMs effectively. Managing VM lifecycles, storage, and networking also requires specialized expertise.
graph LR
Center["EVM (Ethereum-Virtual Machine) est une machine virtuelle"]:::main
Rel_hypervisor["hypervisor"]:::related -.-> Center
click Rel_hypervisor "/terms/hypervisor"
Rel_virtualization["virtualization"]:::related -.-> Center
click Rel_virtualization "/terms/virtualization"
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;
🧒 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.