Ethereum implementa un entorno de ejecución en la cadena de bloques, llamado Ethernet Virtual Machine EVM.
Cada nodo que participa en las ejecuciones de la red ejecuta el EVM como parte del protocolo de validación de bloques. Validan cada transacción cubierta en el bloque y ejecutan el código activado por el intercambio en el EVM. Cada nodo completo de la red realiza los mismos cálculos y almacena los mismos valores. El hecho de que la ejecución del contrato se repita varias veces en todos los nodos tiene que hacer que la ejecución del contrato sea costosa de consumir, por lo que también lleva a todos a no colocar ningún cálculo que pueda realizarse fuera de la cadena en la cadena de bloques.
Para cada comando ejecutado existe un consumo específico, contabilizado en unidades de Gas. Cada comando que un contrato pueda utilizar tendrá un valor de Gas correspondiente.
