Ethereum реализует среду выполнения в блокчейне, называемую Виртуальной машиной Ethereum (EVM).
Каждый узел, участвующий в сети, запускает EVM как часть протокола валидации блоков. Они проверяют каждую транзакцию, включенную в блок, и запускают код, инициированный обменом, в EVM. Каждый полный узел в сети выполняет одни и те же вычисления и хранит одни и те же значения. Тот факт, что выполнение контракта повторяется многократно на всех узлах, делает выполнение контрактов дорогостоящим, поэтому это также побуждает всех не помещать вычисления, которые могут быть выполнены вне сети (off-chain), в блокчейн.
За каждую выполненную команду существует определенное потребление, измеряемое в единицах газа. Каждая команда, которую может использовать контракт, будет иметь соответствующее значение газа.
