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

