Ethereum implementiert eine Laufzeitumgebung auf der Blockchain, die sogenannte Ethernet Virtual Machine EVM.
Jeder Knoten, der am Netzwerk teilnimmt, führt die EVM als Teil des Blockvalidierungsprotokolls aus. Sie validieren jede im Block abgedeckte Transaktion und führen den durch den Austausch ausgelösten Code im EVM aus. Jeder vollständige Knoten im Netzwerk führt dieselben Berechnungen durch und speichert dieselben Werte. Die Tatsache, dass die Vertragsausführung über alle Knoten hinweg mehrfach wiederholt wird, muss dazu führen, dass der Verbrauch der Vertragsausführung kostspielig wird, sodass alle dazu gezwungen werden, keine Berechnungen, die außerhalb der Kette ausgeführt werden können, auf die Blockchain zu übertragen.
Für jeden ausgeführten Befehl gibt es einen spezifischen Verbrauch, der in Gaseinheiten gezählt wird. Jeder Befehl, den ein Vertrag nutzen kann, hat einen entsprechenden Gaswert.
