$EX5プレセール — シードティア · 固定供給量500M · 50%バーン · 登録はportal.ex5.comで参加 →
更新日

イーサリアム仮想マシン (Ethereum Virtual Machine (EVM))

要約: イーサリアム仮想マシン(EVM) は、イーサリアム上の各スマートコントラクトに動作環境を提供する「チューリング完全」な仮想マシンです。

イーサリアム仮想マシン(EVM)は、イーサリアム上の各スマートコントラクトに動作環境を提供する「チューリング完全」な仮想マシンです。開発者がデプロイしたコードが、ネットワークのすべてのノードでまったく同じように、意図したとおりに実行されることを保証します。

重要な理由

開発者はSolidityやVyperなどの言語でスマートコントラクトを書き、EVMが実行するバイトコードにコンパイルします。すべてのフルノードは同じ入力で同じバイトコードを実行し、同じ結果に到達しなければなりません。こうしてネットワークは、単一のサーバーを信頼することなく、残高やコントラクトの状態について合意します。「チューリング完全」とは、EVMが原理上どのようなプログラムでも実行できることを意味します。実際には、すべての操作にガスがかかり、すべてのトランザクションにガスリミットがあるため、プログラムが無限にループしてネットワークを詰まらせることはできません。他の多くのブロックチェーンもEVM互換であり、同じ種類のバイトコードを実行し、同じ0x形式のアドレスを使用します。これは開発者がコードを再利用するのに役立ちますが、取引所で入金や出金をする際に正しいネットワークの選択を求められるのもこのためです。

具体例

ある開発者がSolidityでトークンコントラクトを書き、コンパイルしてバイトコードをイーサリアムにデプロイします。その後、ユーザーがコントラクトの送付用の関数を呼び出すと、各ノードのEVMが同じコードを実行し、送り手の残高を確認して双方の残高を更新します。コードでエラーが発生したり、ガスが不足したりした場合、EVMは変更を元に戻します。

関連用語