EVMは、イーサリアムネットワークのすべてのノードで実行される仮想マシンです。スマートコントラクトを実行および検証する役割を担い、イーサリアムのノード間でデータの整合性を確保し、ネットワークの分散性を維持します。
ビットコインネットワークではマイナーが取引の検証に参加するのと同じように、イーサリアムネットワークではノードがスマートコントラクトを検証する必要があります。これは、イーサリアム上でのレンディング/ボローイング、トークンの送受信など、すべての活動がスマートコントラクトを介して行われるためです。そのため、イーサリアム上のすべてのノードは、検証プロセスに参加し、ETH報酬を受け取るためにEVMを実行する必要があります。
イーサリアムネットワークにおいて、EVMはサンドボックスのような役割を果たします。サンドボックスとは、外部ネットワークに影響を与えることなく、テスト操作やコード計算を実行するための隔離された空間です。EVMはイーサリアムネットワークから完全に隔離されているため、ノードからの検証プロセスがネットワークの動作に影響を与えることはありません。
EVMは、イーサリアムネットワークの心臓部と考えることができます。
さらに、EVM互換性を持つネットワークは、イーサリアムと同じ言語(Solidity)で記述されたスマートコントラクトを実装していることを意味します。同時に、これらのネットワークはSolidityを検証できる仮想マシン、つまりEVMを必要とします。
そのため、EVMブロックチェーンとは、イーサリアムと同じスマートコントラクト言語とEVMを使用するネットワークのことです。
EVMの動作モデル
「分散型台帳」という用語は、ビットコインのようなネットワークで使用され、ネットワークが安全かつ問題なく動作するためのルールを記述しています。
しかし、イーサリアムネットワークには、エコシステムの発展に貢献する機能であるスマートコントラクトが存在します。
そのため、「分散型台帳」という用語はイーサリアムネットワークには適用されず、より複雑な用語である「分散型状態マシン」が使用されます。
簡単に言うと、イーサリアムの「状態(state)」とは、ネットワーク上のデータの集合です。そして、状態はネットワークにブロックが追加されるたびに更新されます。
イーサリアムは、ビットコインと同様に、ネットワークのルールに合致しさえすれば、ブロックごとに状態を自由に変更できます。そして、これらの具体的なルールはEVMによって設定されます。
ガス、データなど、ネットワークの状態はすべてEVM内にあります。
さらに、イーサリアムのスマートコントラクトはSolidityというプログラミング言語で記述されているため、EVMはプログラミング言語をバイトコードに変換する役割も担います。
バイトコードは、コンピュータの機械語であり、オペコード(operation code)を格納する機能を持ち、イーサリアムネットワークが直接理解して命令を実行できるようにします。
EVMブロックチェーンとは?
EVMブロックチェーンとは、EVMとSolidityで記述されたスマートコントラクトを使用するネットワークのことです。
dAppやブロックチェーンの開発者は、プログラミング言語の類似性により、プラットフォームの構築に多くの時間を費やす必要がありません。そのため、開発者は他のEVMブロックチェーンと相互運用し、接続できるdAppを容易に構築できます。
なぜ多くの開発者はEVMと互換性のあるブロックチェーンを構築したいのでしょうか?
それは、イーサリアムブロックチェーンが、1日約20億ドルの取引量と、DeFi市場のTVLの65%に相当する1,080億ドルに達したTVLを持つ、暗号市場で最大のエコシステムを持つネットワークであるためです。
EVMと互換性のあるブロックチェーンやdAppは、非EVMブロックチェーンよりも、イーサリアムのような肥沃な土地に容易に接続できます。
EVMブロックチェーンのメリット
ユーザーにとって
EVM互換ブロックチェーンを使用するメリットは次のとおりです。
- 親しみやすい操作感: ほとんどのEVM互換ネットワークは、同じような操作感とインターフェースを提供しています。dAppの操作、トークンの承認、ウォレットの署名など、イーサリアムエコシステムでのユーザーエクスペリエンスと同様です。
- 新しいユーティリティと製品: EVMネットワークのインターフェースに慣れているユーザーにとって、多くのEVMブロックチェーンが誕生することで、新しいユーティリティと製品が提供されます。そのため、ユーザーは複数のネットワーク間で、さまざまな金融活動の選択肢を持つことができます。
開発者にとって
- 学習時間の短縮: EVMネットワークでは、dApp開発のためのツールと言語が共通しているため、開発者は複数のEVMネットワークでdAppを構築する際に、作業が簡素化されます。
- ブランド認知度の向上: 特定のエコシステムで既に知名度のあるdAppは、EVM互換性の高いブロックチェーンにdAppを簡単に拡張できます。これにより、dAppのブランド認知度を高めることができます。
EVMブロックチェーンのデメリット
EVMブロックチェーンは多くのメリットがあり、イーサリアムネットワークにとって「不可欠な」技術とされていますが、どんな技術にもデメリットがあり、完璧ではありません。
以下は、EVMブロックチェーンのデメリットです。
ハッキングのリスク
EVMは、dAppを複数のブロックチェーンに展開できる技術です。しかし、2021年8月のPoly Networkのように、dAppがクロスチェーン攻撃を受けた場合、マルチネットワークdAppに大きな影響を与え、エコシステムにも多少なりとも影響を与える可能性があります。
また、EVMネットワークはすべてSolidityという同じプログラミング言語を使用しているため、攻撃者がSolidityに精通している場合、脆弱性を見つけてEVMネットワークを攻撃するケースが依然として頻繁に発生しています。
複数のブロックチェーンで多くのスマートコントラクトを監査する必要がある
一部の開発者にとって、ブロックチェーンにEVMを採用したり、EVMブロックチェーン上にdAppを構築したりすることは、他のEVMエコシステムへの拡張と接続を目指せることを意味します。しかし、各ブロックチェーンは個別の監査を必要とし、スマートコントラクトの監査費用は非常に高額です。
高い取引手数料
EVMブロックチェーンでは、ネットワーク上の取引やデータが増加すると、ガス代が高くなる傾向があります。例えば、イーサリアムでは、ネットワークの活動が少ない場合、取引手数料は約7ドルから10ドルで、AvalancheやStarknetなどのネットワークでも1ドルから2ドル程度です。
非EVMブロックチェーンとは?
非EVMブロックチェーンとは、EVMと互換性のないネットワークのことです。具体的には、非EVMネットワークは、EVMブロックチェーンとは異なるスマートコントラクト用のプログラミング言語を使用します。例えば、SolanaはRustとC++を使用し、CardanoはHaskell/Plutusを使用します。
プログラミング言語が異なるため、EVMネットワークと非EVMネットワークは相互に連携できません。
非EVMブロックチェーンのメリット
イーサリアムは、EVMを搭載したスマートコントラクトを使用する最初のネットワークの1つです。Solana、Sui、Aptosなどの後発組は、EVMのプログラミング言語をさまざまな言語に改良することを決定しました。その結果、これらのネットワークは、EVMブロックチェーンよりもパフォーマンス、速度、拡張性が大幅に向上しています。
非EVMブロックチェーンのデメリット
優れた運用能力と低い取引手数料を持つにもかかわらず、非EVMブロックチェーンはEVMネットワークに拡張することができません。
ガス代とEVMの関係
Gavin Woodによるイーサリアムのイエローペーパーによると、EVMはquasi Turing complete(準完全チューリングマシン)です。これは、EVMの唯一の欠点が、計算能力がガス代の制限に依存しているためです。
ガスは計算コストを表す単位であり、EVMはこれらの計算プロセスを実行する役割を担います。他のEVMネットワークでも、計算メカニズムはイーサリアムの計算方法と同様です。そのため、取引が複雑になるほど、ユーザーはEVMが取引を実行するために多くのガス代を支払う必要があります。
また、Web3ウォレットを使用するユーザーは「gas limit」という言葉を聞いたことがあるでしょう。gas limitとは、EVMがユーザーの取引を計算するために使用するガスの総量です。通常、通常の取引には少なくとも21,000のgas limitが必要です。gas limitが高いほど、EVMが取引に割り当てる計算能力が高くなり、処理速度が速くなります。