Ethereum implémente un environnement d'exécution sur la blockchain, appelé l'EVM (Ethereum Virtual Machine).
Chaque nœud participant au réseau exécute l'EVM dans le cadre du protocole de validation des blocs. Ils valident chaque transaction incluse dans le bloc et exécutent le code déclenché par l'échange dans l'EVM. Chaque nœud complet du réseau effectue les mêmes calculs et stocke les mêmes valeurs. Le fait que l'exécution des contrats soit répétée plusieurs fois sur tous les nœuds rend l'exécution des contrats coûteuse en termes de consommation, ce qui incite également à ne pas placer sur la blockchain tout calcul pouvant être effectué hors chaîne.
Pour chaque commande exécutée, il y a une consommation spécifique, comptée en unités de Gas. Chaque commande qu'un contrat peut utiliser aura une valeur de Gas correspondante.
