Glossaire

Machine Virtuelle (VM)

16/04/2026

Machine virtuelle (VM) dans le contexte de la blockchain est l'environnement d'exécution isolé qui exécute le code des contrats intelligents de manière déterministe sur chaque nœud du réseau. Chaque nœud complet exécute indépendamment le même bytecode avec les mêmes entrées et doit arriver au même état — sans ce déterminisme, le consensus serait impossible.

Cela diffère d'une machine virtuelle système comme VMware ou VirtualBox, qui émule un ordinateur entier. Une VM blockchain est plus proche de la Java Virtual Machine : un interpréteur étroit pour un bytecode spécifique, sans système de fichiers, sans réseau et sans opérations non déterministes.

Pourquoi les blockchains ont besoin d'une VM

Exécuter du code natif serait rapide mais dangereux : un bug ou une boucle infinie intentionnelle dans un contrat pourrait faire planter chaque nœud en même temps. Une VM offre :

  • Isolation — le code du contrat ne peut pas lire de fichiers, ouvrir des sockets ou appeler le système d'exploitation hôte
  • Déterminisme — mêmes entrées, mêmes sorties, sur chaque nœud et chaque matériel
  • Mesure — chaque opération coûte du gas ; lorsque le gas est épuisé, l'exécution s'arrête, empêchant le déni de service
  • Portabilité — le même bytecode s'exécute sur toute implémentation de la spécification de la VM

EVM (Ethereum Virtual Machine)

L'EVM est la VM blockchain la plus utilisée. C'est une machine basée sur pile avec une taille de mot de 256 bits, conçue pour correspondre à la taille des primitives cryptographiques comme les hachages Keccak-256.

  • Solidity ou Vyper compile en bytecode EVM
  • Chaque opcode a un coût en gas ; les plus complexes (SSTORE, CALL, keccak) coûtent plus cher
  • Les chaînes compatibles EVM (Polygon, Arbitrum, Optimism, BNB Chain, Avalanche C-Chain, Base) exécutent le même bytecode sans modification, c'est pourquoi des outils comme MetaMask et Hardhat fonctionnent sur toutes

SVM (Solana Virtual Machine)

La VM de Solana est basée sur eBPF (extended Berkeley Packet Filter), à l'origine une technologie du noyau Linux, adaptée en sBPF. Les contrats sont écrits en Rust ou C et compilés en bytecode sBPF.

  • Sealevel — le runtime parallèle de Solana — exécute simultanément des transactions non chevauchantes, en utilisant des listes d'accès aux comptes déclarées à l'avance
  • Basée sur registres (contrairement à la conception basée sur pile de l'EVM), plus proche de l'architecture physique des CPU

VMs basées sur WASM

WebAssembly (WASM) est un bytecode portable initialement conçu pour les navigateurs, de plus en plus adopté comme cible de VM blockchain. Les chaînes utilisant des VMs WASM incluent NEAR, Polkadot (via le runtime Substrate pallet-contracts), Cosmos CosmWasm, et Internet Computer.

WASM est indépendant du langage — les développeurs peuvent utiliser Rust, C++, AssemblyScript ou Go — et bénéficie d'un écosystème d'outils mature en dehors de la crypto.

VMs de couche 2

Les rollups héritent ou étendent les VMs existantes :

  • Optimism, Arbitrum, Base — équivalent EVM
  • zkSync Era — compatible EVM via un zkEVM personnalisé
  • Starknet — exécute la Cairo VM, spécialement conçue pour les preuves STARK
  • Scroll, Polygon zkEVM, Linea — zkEVMs équivalents au niveau bytecode de l'EVM

Voir aussi