以太坊在區塊鏈上實現了一個運行環境,被稱為以太坊虛擬機 EVM。
每個參與到網絡的節點都會運行都會運行 EVM 作為區塊驗證協議的一部分。他們會驗證區塊中涵蓋的每個交易並在 EVM 中運行交易所觸發的代碼。每個網絡中的全節點都會進行相同的計算並儲存相同的值。合約執行會在所有節點中被多次重複,這個事實得使得合約執行的消耗變得昂貴,所以這也促使大家將能在鏈下進行的運算都不放到區塊鏈上進行。
對於每個被執行的命令都會有一個特定的消耗,用單位 Gas 計數。每個合約可以利用的命令都會有一個相應的 Gas 值。