イーサリアム仮想マシン(EVM)とは?仕組みや互換性を持つブロックチェーンも紹介
スマートコントラクトによるDApps(分散型アプリケーション)の開発が活発な暗号資産(仮想通貨)の分野では、イーサリアム(ETH)を中心に、スマートコントラクトが開発できる様々なブロックチェーンが台頭してきています。
イーサリアムは、イーサリアム仮想マシン(EVM)と呼ばれるスマートコントラクトの実行環境を備えていますが、その他のブロックチェーンでも「EVMと互換性がある」という環境を打ち出しているプロジェクトも少なくありません。
では、EVMとはどのような存在なのでしょうか。他のブロックチェーンがEVMと互換性があるとはどういうことなのでしょう。
この記事では、EVMの概要や仕組み、対応するメリットや将来性などを解説します。
イーサリアム仮想マシン(EVM)とは?
イーサリアム仮想マシン(EVM)とは、イーサリアムブロックチェーン上でスマートコントラクトを実行するソフトウェアによる仮想マシン環境です。スマートコントラクトの作成と実行を可能にする独自の命令セットに基づいて動作します。
通常、コンピューターには物理的なハードウェア(コンピューター)とウィンドウズやマックOSといったオペレーティングシステム(OS)があり、アプリケーションはこのハードウェアとオペレーティングシステムの環境のもとで動作します。
仮想マシンは、そうした物理的なコンピューターと同等の機能をソフトウェアで実現したコンピューター環境を指す言葉です。ちなみに仮想マシンの「仮想」とは、コンピューターのハードウェアの制限にとらわれずに、柔軟にリソースを活用するための概念であり、ハードウェアの性能に関わる部品であるCPUやメモリなどのリソースを自由に分割したり統合したりできるため、用途に応じてコンピューターの機能を効率的に利用できるソフトウェア技術です。
EVMは、実際に物理的なハードウェアのような実体を指し示すことはできませんが、イーサリアムクライアントを実行している何千台もの接続されたコンピューター(ノード)によって維持されている一つの実体として存在します。
このシステムは、イーサリアムネットワークの中心的存在であり、イーサリアムブロックチェーン上のすべての操作とトランザクションを処理する役割を担っています。
さらにEVMは、トランザクションの処理やスマートコントラクトの動作のみならず、イーサリアムにおけるトランザクションデータの保存、ガス料金(手数料)の計算など、イーサリアムブロックチェーンのあらゆるネットワークの「状態(ステート)」を管理する役割も担っています。
EVMの特徴と役割
イーサリアムは、独自のネイティブ暗号資産(仮想通貨)イーサ(ETH)を持ちます。暗号資産を持つのは、ビットコインなど他のブロックチェーンと同様ですが、特徴的なのがスマートコントラクトを実装していることです。
イーサリアムは、このスマートコントラクトを実装しているため、すべてのトランザクションとスマートコントラクトの「状態」を記録する巨大なデータ構造を持っていいます。この「状態」は、全アカウント(ユーザーのウォレットやスマートコントラクトなど)とそれらのアカウントの残高、および他の重要な情報を保持します。
イーサリアムはブロック生成ごとに、予め定義されたルールに従って更新され、任意のコード(スマートコントラクトなど)を実行して状態を計算する必要がありますが、このルールを定義するのがEVMの役割です。
EVMの大きな特徴は、コード(スマートコントラクトによるプログラム)を決定論的に実行できることにあります。
「決定論的な実行」とは、任意のスマートコントラクトが、どこで実行されても、誰が実行しても、同じ入力に対して常に同じ出力を生成することです。
こうした環境は、イーサリアムネットワークのコンセンサスメカニズムに不可欠です。また、決定論的な実行は、スマートコントラクトが外部からの干渉を受けずに、記述されたプログラム通りに正確に実行されることも保証します。
関連コラム:
「ブロックチェーンで自動契約!スマートコントラクトの事例と仕組み」
EVMのデータ構造と役割
EVMが実際に実行するスマートコントラクトは、SolidityやVyperといった高級プログラミング言語で記述されています。これらの言語は、スマートコントラクトの開発を容易にするために設計されており、開発者にとって読み書きが比較的容易な仕様になっています。
しかし、EVM自体はこれら高級プログラミング言語を読むことができないため、EVMがスマートコントラクトを読むことができるようバイトコードという形式に「コンパイル(変換)」する必要があります。
高級プログラミング言語がバイトコードに変換されることで、イーサリアムブロックチェーン上でスマートコントラクトが動作するようになります。
EVMの役割はスマートコントラクトの実行によって、イーサリアムの状態(ステート)を更新することにあります。これには、アカウントの残高、スマートコントラクトのストレージの内容、およびその他の関連データの更新が含まれます。
トランザクションがネットワークによって処理されるたびにイーサリアムの状態(ステート)は変化し、EVMによってその状態変化が正確に計算されています。
他のコンピューターの影響を受けない実行環境
EVMはまた、ノードとして使用されるコンピューターの他のオペレーティングシステム(OS)から分離されるように設計されており、独自にセキュリティを確保し、外部の攻撃からネットワークを保護しています。
分離された環境により、EVMはイーサリアムネットワークのやり取りを保証し、外部からの悪意あるアクセスに対してブロックチェーンの基盤が防御されます。これにより、開発者は安全が確保された環境でイーサリアムを操作することができます。
スマートコントラクトは、こうしたセキュアなEVM環境内で実行されています。
EVM互換とはどういう意味か?
「EVM互換」や「EVMと互換性がある」とは、イーサリアム以外のブロックチェーンがイーサリアムと同等のEVM環境を持ち、イーサリアムのスマートコントラクトを実行できる環境を備えているという意味になります。
2024年2月末時点で、時価総額上位のブロックチェーンではこのEVM互換性を持つプロジェクトが多くあり、特にイーサリアムの人気も相まって開発者やユーザーのエコシステムを形成しています。
EVM互換のメリット
EVM互換は、EVMブロックチェーン上でスマートコントラクトを書く開発者にとって、多くの利点があります。
なぜならばEVM用に開発されたスマートコントラクトやDAppsは、EVM互換のブロックチェーンでは最小限のコード修正だけで簡単に移行できるため、プロジェクト開発者は別々のプログラムを作成する必要がなく、開発コストも低く抑えられることになるからです。
イーサリアム以外にも採用されるEVM
EVMを利用せずにスマートコントラクトを実行する手段はほかにもありますが、数多くのレイヤー1ブロックチェーンがEVMを採用しているため、プロジェクト開発者はEVMを採用することで、様々なブロックチェーンのユーザーを取り込むことができます。
具体的には、以下のようなブロックチェーンがEVMを採用しています。
- アバランチ(AVAX)
- ポリゴン(MATIC)
- ヘデラハッシュグラフ(HBAR)
関連コラム:
「DeFiで注目のアバランチ(Avalanche)とは?今後の将来性についても解説」
「暗号資産(仮想通貨)Polygon(MATIC)とは?将来性や今後を解説」
「「第3世代」の分散型台帳、ヘデラ・ハッシュグラフ(HBAR)とは」
注目が高まるzkEVMとEVMの関係性は?
一方、イーサリアムと同じ開発言語を使用することで相互運用性を保ちながら、「ゼロ知識証明」によりトランザクションの有効性を証明する「zkEVM」の注目が高まっています。
zkEVMは、レイヤー2ソリューション「ロールアップ」の一種であるzkロールアップを採用しています。zkEVMはブロックチェーンに記録されるデータ量を削減することで取引速度が向上し、手数料を抑えることにもつながる技術です。
このように、スマートコントラクトの実行環境である「EVM」と、トランザクション処理の効率化を図る「zkEVM」は異なる目的と機能を持った別のシステムでありながら、同じ言語が使用されているという点で関連性があります。
関連コラム:
「暗号資産(仮想通貨)のセカンドレイヤー(レイヤー2)とは」
「イーサリアムで導入が検討されているロールアップ(Rollups)とは?応用技術についても解説」
EVMは市場を独占するか
イーサリアムは、TVL(Total value locked:DeFiプロトコルに預けられた暗号資産の価値)が執筆時点(2024年2月末)で暗号資産(仮想通貨)市場全体の6割に迫るほどです。
さらに、イーサリアムに加えてEVM互換ブロックチェーン(ポリゴンやアバランチのようにイーサリアムと同じ言語に対応しているだけでなく、同じアカウントアドレスを使用できるブロックチェーン)を含めると、DeFi市場を席巻しているといえる状況であるため、EVMに対応することがそのブロックチェーンプラットフォームの発展に大きく関わると考えても良いかもしれません。
特にDeFi市場の多くをイーサリアムが席巻していることを考えると、その流れは今後もしばらく続く可能性はあるかもしれません。
DeFiやブロックチェーンゲーム、メタバース、NFTなどの分野においても、イーサリアムは継続的に利用されています。
併せてインターオペラビリティ(相互運用性)が注目されている中、EVM、EVM互換は、まさにインターオペラビリティにつながる仕様でもあります。
EVM、EVM互換は、今後も注目すべき技術であることは間違いないでしょう。
関連コラム:
「盛り上がりを見せる分散型金融(DeFi)とは?仕組みも紹介」
まとめ
ブロックチェーンに関する多くの技術が台頭する中で、現在に至るまでEVMはその柔軟性と互換性の高さで注目を集め続け、ブロックチェーンの発展に貢献しています。
そうした中でEVM互換ブロックチェーンも多数登場しています。その相乗効果によりイーサリアムおよびイーサリアムと互換性のあるエコシステムの人気の高まりは、衰えることなく発展し続けています。
こうした互換性の高い環境は、スマートコントラクト開発者にとっても好ましいことであり、またユーザーにとっても安定したサービスを利用できるという意味でもメリットは大きいといえるでしょう。
※掲載されている内容は更新日時点の情報です。現在の情報とは異なる場合がございます。予めご了承ください。
関連記事
-
ビットコインアドレスの仕組みとは?利用時に注意すべきポイント
ビットコイン(BTC)を受け取ったり送ったりするためには、「ビットコインアドレス」を通じたデータのやりとりが必要になります。今回は、ビットコインアドレスを取得して、ビットコインを送受信する方法やその際の注意点などを詳しく解説していきます。
-
暗号資産を安全管理!ウォレットにはどのような種類がある?
ビットコイン(BTC)を購入後の保管の仕方は大きく分けて2通りあります。暗号資産交換業者のウォレットに預けておく方法と、自分で用意したウォレットを利用する方法です。本記事では、初心者にとって使いやすいウォレットを解説します。
-
レイヤー0ブロックチェーンとは?レイヤー1、レイヤー2との違いを解説
ブロックチェーン技術のアーキテクチャー(構造・構成)について語るときに、レイヤー1、レイヤー2という用語が使われます。近年では、さらに重要な概念としてレイヤー0(Layer0)という用語使われるようになりました。この記事ではレイヤー0について、レイヤー1やレイヤー2との違いも含めて詳しく解説していきます。
-
暗号資産(仮想通貨)の基幹技術である分散型台帳技術(DLT)とは?
分散型台帳技術(DLT)は暗号資産(仮想通貨)の基幹技術です。当記事では、DLTはどのような仕組みなのか、暗号資産とDLTの関係も含めて、詳しくご紹介します。
-
コンセンサスアルゴリズムとは?ブロックチェーンで使われる代表的な種類を解説
コンセンサスアルゴリズムは、暗号資産(仮想通貨)の基盤技術となるブロックチェーンがブロックを追加する際のルールとなるコンセンサス(合意)形成を行うアルゴリズム(方法)のことを指します。本記事では、代表的なコンセンサスアルゴリズムの種類や仕組みについて詳しく解説します。
-
イーサリアムとビットコインの違いは?特徴や仕組みから解説
イーサリアム(ETH)はビットコイン(BTC)と目的や用途が大きく違なり、プラットフォームとしての利用が想定されています。イーサリアム独自の特徴を理解して、情報収集を進めていきましょう。
-
ビットコインの仕組みについて初心者にもわかりやすく解説!
取引を始めるには、最初に仮想通貨の仕組みについて知っておくことが大切です。今回は「最初の仮想通貨」と呼ばれるビットコインを例にして、仮想通貨の基礎となっている「ブロックチェーン技術」や具体的な取引方法などを解説します。
-
ブロックチェーンのトリレンマとは?DAOでの新たな問題も解説
革新的な可能性を秘めているブロックチェーン技術は、「分散性」「セキュリティ」「スケーラビリティ」の3つの要素から成り立っているとされています。この記事では、ブロックチェーンやDAOのトリレンマについて詳しく解説します。
今、仮想通貨を始めるなら
DMMビットコイン