イーサリアムのEVMとは何か? 初心者にもわかりやすく図解

イーサリアムは、EVMと呼ばれるプログラムの実行環境を持っています。この記事では、EVMとは何かについて解説し、その役割や特徴を解説します。

なおプログラミングの知識は必要ないように、可能な限り専門用語を避けて解説します。5分ほどで読み終わります。

EVMEthereum Virtual Machine)とは何か?

「terminal mac png」の画像検索結果

EVMとは、Ethereum Virtual Machineの略で「イーサリアム仮想マシン」です。

仮想マシンとは、簡単に言うと「コンピューターへ命令を出すための翻訳機」と思ってもらえれば問題ないです。

イーサリアムのコントラクトの実行は、専用のプログラム言語を用いて記述します。イーサリアムで最も使用されている言語は「Solidity」で、Javaに近い言語です。

この「Solidity」は、人間が理解しやすい可読性の高いプログラム言語なのですが、コンピューターには理解ができません。コンピューターが理解できるのは、数値の羅列のようなバイトコードのみです。

そこで、この「Solidity」からコンピューターが理解できる言語のバイトコードに翻訳することが必要になります。この翻訳をEVMで行なっているのです。

コントラクトコードはEVMを通じて実行されるというわけです。

コントラクトとは何か?

EVMでコントラクトコードを実行するのですが、そもそもコントラクトとは何なのでしょうか?

イーサリアムは、スマートコントラクトという機能を備えています。簡単に言うと、分散型アプリ等を作れる機能です。

イーサリアムのスマートコントラクトについて詳しくは下記で解説しています。

【図解】イーサリアムとは?スマートコントラクトを徹底解説

スマートコントラクトとは、「状態A」から、「状態B」への状態変化をブロックチェーンに書き込むことができる機能です。

ポーカーのdAppsでは、手札の状態変化や、ベットの状態変化などをコントラクトで記述しています。それらをブロックチェーンで記録することで不正を不可能にしています。

つまり、アプリの挙動やルールの記述は「Solidity」で記述し、それをEVMが解釈して、ブロックチェーンへの書き込みなどの実行を行なっているということです。

まとめ

イーサリアムにおけるEVMについて解説しました。またコントラクトとは何かについて簡単に解説しました。

まとめると以下の通りです。

  1. EVMは、コントラクトコードを実行するための翻訳機

  2. コントラクトコードは、主に「Solidity」で記述され「EVM」でコンピューターで解釈できる形に変換し、実行される。

  3. コントラクトとは、状態変化を記述するプログラムで、イーサリアムの主要な機能である。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください