EVMとは「イーサリアム上でプログラムを動かすための共通エンジン」です。
スマートコントラクト(自動で動く契約プログラム)を、世界中のノードで同じ結果になるように実行するための“仮想コンピューター”がEVMです。


1. 基本概要(定義)

EVM(Ethereum Virtual Machine)は、
Ethereum 上で動作する分散型の仮想実行環境です。

  • 登場:2015年(Ethereumメインネット開始)
  • 目的:スマートコントラクトを安全かつ決定論的に実行する
  • 特徴:全ノードが同じ計算を行い、同じ結果を保証する

EVMは「ブロックチェーン上のコンピューター」とよく言われますが、
正確には “世界中にコピーされた1つのコンピューターのように振る舞う仕組み” です。


2. 仕組み(少し踏み込む)

■ ① スマートコントラクトはバイトコードに変換される

開発者は通常、Solidityなどでコードを書きます。

例:

function add(uint a, uint b) public pure returns (uint) {
    return a + b;
}

これがコンパイルされると EVMバイトコード に変換されます。

EVMはこのバイトコードを解釈・実行します。


■ ② スタックベースの仮想マシン

EVMは「スタック型アーキテクチャ」です。

  • データはスタックに積まれる
  • 命令はスタック上の値を処理する
  • 計算はすべて256ビット単位

なぜ256ビット?
→ 暗号計算やハッシュ関数に適しているため。


■ ③ ガスという実行コスト

EVMの大きな特徴が「Gas(ガス)」です。

  • すべての命令にコストがある
  • 計算が複雑なほどGas消費が増える
  • 無限ループ防止の仕組み

例:

処理Gasコスト
単純加算低い
ストレージ書き込み非常に高い

これによりネットワークの安全性が保たれます。


■ ④ 状態管理(State)

EVMは以下の情報を管理します:

  • アカウント残高
  • コントラクトのコード
  • ストレージ(データ保存領域)

すべては「ワールドステート」と呼ばれる巨大な状態ツリーに保存されます。


3. なぜ重要なのか(市場との関係)

■ EVM互換という概念

現在、多くのチェーンが「EVM互換」を採用しています。

例:

  • Polygon
  • BNB Chain
  • Avalanche
  • Arbitrum

EVM互換であるメリット:

  • Ethereum用のdAppsをそのまま移植可能
  • 開発者の学習コストが低い
  • エコシステムを共有できる

つまり、EVMは“Web3の標準OS”のような存在になっています。


■ zkEVMとの関係

最近よく聞く「zkEVM」とは、

ゼロ知識証明(zk技術)を使いながらEVMと互換性を保つ仕組み

代表例:

  • Polygon zkEVM

これはスケーリングとEVM互換を両立する試みです。


4. 関連用語

  • スマートコントラクト
  • Gas
  • Solidity
  • EVM互換
  • レイヤー2
  • zkEVM
  • Rollup
  • MEV