イーサリアム仮想マシン (EVM (Ethereum Virtual Machine))
EVM(イーサリアム仮想マシン)は、イーサリアムの計算エンジンであり、スマートコントラクトが実行される環境です。すべてのノードが同じコードを同じ入力で実行し、同じ結果に到達しなければなりません。
重要な理由
開発者はSolidityなどの言語でコントラクトを記述し、それがEVMバイトコードにコンパイルされてブロックチェーンにデプロイされます。EVMが実行する各処理にはガスのコストがかかるため、無限ループが防がれ、ユーザーは自分が要求した計算処理の対価を支払うことになります。EVMは事実上の標準となったため、BNB Smart ChainやAvalanche C-Chainをはじめ、ほかの多くのブロックチェーンがEVM互換です。これらのチェーンでは同じコントラクト、ウォレット、ツールが動作し、アドレスも通常は同じ形式です。
具体例
ユーザーが分散型取引所でトークンをスワップすると、ウォレットはスマートコントラクトを呼び出すトランザクションを送信します。すべてのイーサリアムノードがそのコントラクトのバイトコードをEVM上でステップごとに実行し、トークンの残高を更新します。トランザクションが完了する前にガスが尽きると、EVMはそのすべての変更を取り消しますが、すでに使用したガスの代金は支払われたままです。