EVMとは?
EVM(Ethereum Virtual Machine)は、EthereumおよびすべてのEVM互換チェーン上でスマートコントラクトを実行するための計算環境です。デベロッパーがSolidityでスマートコントラクトを書き、コンパイルしてEVMチェーンにデプロイすると、EVMはネットワーク上のすべてのノードで同一のバイトコードを一貫して実行します。
EVMの仕組み
EVMはサンドボックス型ランタイムで、スマートコントラクトのコードを決定論的に実行します。ネットワーク上のすべてのノードが同じ計算を行い、必ず同じ結果に到達します。残高の更新やデータの保存などのステート変更は、トランザクションが承認されてブロックに含まれた場合にのみ確定します。ガスは各オペレーションに必要な計算量を計測する単位で、無限ループを防ぎ、ネットワークリソースの利用コストを決定します。
EVM互換チェーン
Ethereum以外にも多くのブロックチェーンがEVMを実装しており、デベロッパーはほぼ変更なくEthereumコントラクトをデプロイできます。EVM互換チェーンにはBinance Smart Chain、Polygon、Avalanche、Arbitrum、Optimism、Baseなどがあります。この互換性により大きな共有エコシステムが生まれており、Ethereum向けに書かれたスマートコントラクトはRPCエンドポイントとネットワーク設定を変更するだけで、基本的に任意のEVMチェーンにデプロイ可能です。
EVMとSolanaのSVM
SolanaはSolana Virtual Machine(SVM)と呼ばれる異なる実行環境を使用しており、EVM互換ではありません。SolanaのプログラムはRustまたはCで記述され、SVM上で動作します。2つの環境はアーキテクチャが根本的に異なり、Solanaの並列トランザクションモデルはEthereumの逐次実行モデルとは別物です。両エコシステムをターゲットにするプロジェクトは、それぞれ独立したコードベースを作成・管理する必要があります。
FAQ
EVM(Ethereum Virtual Machine)は、EthereumおよびすべてのEVM互換チェーン上でスマートコントラクトを実行するランタイム環境です。同じコードを実行した際に、すべてのノードが同じ結果に到達することを保証します。
主なEVM互換チェーンにはBinance Smart Chain、Polygon、Avalanche、Arbitrum、Optimism、Baseがあります。Ethereum向けに書かれたスマートコントラクトは、ほぼ変更なしにこれらのチェーンにデプロイできます。
ガスはEVM上でオペレーションを実行する際の計算コストを計測する単位です。すべてのトランザクションにはガスリミットと1ガスあたりの価格が設定されています。実際のコストは、そのトランザクションが必要とするオペレーションの数によって決まります。
いいえ。SolanaはSVM(Solana Virtual Machine)と呼ばれる独自の実行環境を使用しています。SolanaのプログラムはSolidityではなくRustまたはCで記述されており、完全に書き直さない限りEVMチェーンにデプロイすることはできません。
競合を出し抜きたい?
ニュースレターに登録して、Web3ビルダーのための週間ブロックチェーンニュースを受け取ろう。


