Ethereum Virtual Machine (EVM) とは、イーサリアムのフルノード内に埋め込まれたサンドボックス化された仮想スタックであり、スマートコントラクトのバイトコードを実行する役割を担っています。スマートコントラクトは通常、Solidityなどの高級言語で記述され、EVMバイトコードにコンパイルされます。
これは、マシンコードがネットワークやファイルシステム、またはホストコンピュータのプロセスから完全に切り離されていることを意味します。イーサリアムネットワーク内のすべてのノードはEVMインスタンスを実行し、同じ命令の実行に同意できるようにします。EVMはチューリング完全です。これは、計算機能の任意の論理ステップを実行できるシステムを指します。
EVMはイーサリアムプロトコルに不可欠であり、イーサリアムシステムのコンセンサスエンジンに役立ちます。これにより、誰も信頼できないエコシステムでコードを実行できます。このエコシステムでは、実行の結果が保証され、完全に決定論的 (つまりスマートコントラクトの実行) になります。
EVMに実装されたすべての命令について、実行コストを追跡するシステムは、ガス単位で関連するコストをそれぞれの命令に割り当てます。ユーザーが実行を開始したいとき、この割り当てられたガス代を支払う必要があります。