La Ethereum Virtual Machine (EVM) est le cœur technique d'Ethereum. C'est un ordinateur mondial décentralisé qui s'exécute simultanément sur chaque nœud Ethereum dans le monde.
Architecture de l'EVM
L'EVM est une machine à pile (stack machine) avec les composants suivants :
Stack (pile)
Stockage temporaire des données pendant l'exécution
Profondeur maximale : 1024 éléments
Chaque élément fait 256 bits
Memory (mémoire)
Tableau d'octets accessible en lecture/écriture
Temporaire : effacée après chaque transaction
Coûte du gas selon la taille utilisée
Storage (stockage)
Mapping persistant de 256 bits à 256 bits
Permanent : persiste entre les transactions
Le plus coûteux en gas
Bytecode
Les smart contracts sont compilés en bytecode EVM
Instructions de bas niveau (PUSH, ADD, MLOAD, SSTORE...)
Le Gas : le carburant de l'EVM
Chaque opération sur l'EVM coûte du gas :
Opérations simples (addition, soustraction) : 3 gas
Écriture en storage : 20 000 gas
Création de contrat : 32 000 gas
Pourquoi le gas ?
Empêche les boucles infinies (Halting Problem)
Rémunère les validateurs
Régule l'utilisation du réseau
Gas Limit vs Gas Price
Gas Limit : quantité max de gas que vous acceptez de consommer
Gas Price (en Gwei) : prix que vous payez par unité de gas
Frais totaux = gas utilisé × gas price
EVM-Compatibility
Un grand nombre de blockchains sont EVM-compatibles, ce qui signifie qu'elles peuvent exécuter du code Ethereum :
Polygon, Arbitrum, Optimism (Layer 2)
BNB Smart Chain, Avalanche C-Chain
Fantom, Cronos
Cela permet aux développeurs de déployer leurs applications sur plusieurs chaînes avec peu de modifications.
Points clés à retenir
L'EVM est un ordinateur décentralisé qui s'exécute sur chaque nœud Ethereum
Elle utilise une architecture à pile avec stack, memory et storage
Le gas mesure le coût computationnel de chaque opération
De nombreuses blockchains sont EVM-compatibles (Polygon, Arbitrum...)