イーサリアム ブロックチェーンのバックボーンを形成する EVM は、DApps やその他のアプリケーションを構築するためのランタイム環境を開発者に提供します。
時価総額で 2 番目に大きい仮想通貨であるイーサリアム(ETH)は、そのネイティブ ETH トークンにより、仮想通貨投資家の間で人気があります。ただし、そのネイティブの Solidity プログラミング言語と Ethereum Virtual Machine (EVM) は、開発者コミュニティから受け取る賞賛に役立ちます。実際、イーサリアムブロックチェーンは、その柔軟性、利用可能な幅広い開発者ツール、およびプラットフォームの大規模なユーザー ベースにより、分散型アプリケーション (DApp)開発者を引き付け続けています。
ブロックチェーンのアーキテクチャのコアを形成する EVM は、そのアプリケーション コードまたはスマートコントラクトを実行するプログラムであり、イーサリアム ネットワーク上で実行されるランタイム環境を提供します。さらに、EVM はチューリング完全であるため、任意のプログラミング言語でコード化された任意のプログラムを実行できるため、開発者は急成長中の Web3 スペース用のカスタムスマート コントラクトとDAppを簡単に作成できます。
これらの重要な機能に加えて、EVM はネットワーク内のすべてのノードにアクセスし、スマート コントラクトの実行を処理し、Ethereumブロックチェーン上のすべてのトランザクションを効果的に処理するため、現在存在する最も強力な仮想マシンの1つとなっています。

イーサリアム仮想マシン (EVM) とは何ですか? また、どのように機能しますか?


プログラマーのVitalik Buterin氏によって 2013 年に概念化されたEthereum ネットワークは、DApp 開発者に好まれるブロックチェーンとして驚異的な成功を収めたのは、Gavin Wood が Ethereum 在職中に設計した Ethereum Virtual Machine (EVM) のおかげです。C++ で記述され、LLVM プロジェクト コンパイラを使用する EVM は、継続的に動作し、イーサリアム ブロックチェーン内の各ブロックの状態を決定する不変の操作を行う特別なステート マシンです。
EVM は、イーサリアム ブロックチェーンによって維持される分散台帳に対してノードができることとできないことを管理するだけでなく、ブロックからブロックへ状態を変更する特定のルールも定義します。後者の機能は、イーサリアムで知られるようになったスマート コントラクト機能を可能にするものです。
イーサリアム仮想マシンが何をするかを理解するには、イーサリアム ネットワークの円滑な運用を確保するために提供するさまざまな機能をそれぞれ検討する必要があります。受信するすべての入力に対して、EVM は本質的に決定論的であり、最も単純な意味での数学関数に従う出力を生成します。
プッシュダウン スタックとの間で一時的な値をプッシュするスタック マシンのように動作する EVM は、1024 アイテムの深さを持ち、各アイテムは 256 ビット ワードです。また、Ethereum ブロックチェーン上の 2 つのトランザクション間で変化するバイト配列の形式で一時メモリを維持します。コンパイルされたスマート コントラクト コードは、140 の標準オペコードのコレクションの形で EVM によって実行されますが、他のブロックチェーン固有のスタック操作も EVM によって実装されます。

したがって、EVM には、トランザクションの処理中に本質的に揮発性のマシン状態と、イーサリアム ブロックチェーンで維持されるさまざまなアカウントに関する情報を含むグローバルまたはワールド状態があります。すべてのアクションは EVM コードによって管理されており、2015 年のイーサリアム ネットワークの開始以来、それ自体が数回繰り返され、現在使用されている EVM のさまざまな実装が存在します。
実際、EVM は数千の Ethereum ノードと実行コードの間の抽象化レベルを維持する役割を担い、多くの詳細をクライアントやノードに漏らさずに一貫した結果を提供する機能として機能します。

イーサリアム仮想マシン (EVM) の目的は何ですか?


EVM は、重大なダウンタイムが報告されることなく、イーサリアム ネットワーク上で実行されているすべてのアプリケーションに確実に電力を供給しています。開発者にとって、EVM は Ethereum でスマート コントラクトとして知られる小さな実行可能プログラムを実行する包括的なプログラムとして機能し、 Solidity、Vyper、Python、Yul などのさまざまなプログラミング言語でこれらのスマート コントラクトを自由に記述できるようにします。
EVM によって提供されるこの柔軟性により、イーサリアム ブロックチェーンは、分散型金融(DeFi)および非代替トークン(NFT)スペースで数千の DApps を生み出しました。これらの各 DApp とそれらが構成するスマート コントラクトは、EVM に供給されるバイトコードに変換され、イーサリアム ネットワーク内のすべてのノードに分散されます。スマート コントラクトが展開されると、EVM はすべてのノードと通信し、コンセンサスに達したときに状態の変更を実行する役割を担います。
EVM はすべてのイーサリアムノード内に挿入され、ベース プログラミング言語の代わりにバイトコードを使用してスマート コントラクトを実行し、イーサリアムが実行されるマシン コードから物理ホスト コンピューターを分離していると言えます。

イーサリアム仮想マシン(EVM)の利点


EVMの動作方法により、開発者は、ネットワークの残りの部分への影響や、いずれかのノード コンピューターでホストされているデータや個人ファイルをサボってしまう可能性を心配することなく、コードを実行できます。
さらに、分散コンセンサスを使用して、さまざまなコンピューティング環境で複雑なスマート コントラクトを実行できます。これにより、単一ノードの障害が DApp またはスマート コントラクトの実行に悪影響を及ぼさないことが保証されます。これは、EVM コードがすべてのノードで同じままであるためです。さらに、アカウント データは EVM のグローバル レベルで維持されるため、開発者はカスタム スマート コントラクト コードを記述し、このグローバル データ セットにアクセスして信頼性の高い出力を生成できる個別の DApp を作成するのに最適です。
結果の神聖さは、EVM、特にイーサリアム ブロックチェーンを一般的に DApps とスマート コントラクト イーサリアム エコシステムの持続可能な拡大に適したものにするものです。これに加えて、開発者が選択できる標準コードのライブラリ、EVM と互換性のあるレイヤー2ブロックチェーンの数の増加、考えられる EVM のユースケースの数が増えると、EVMが好まれるWeb3開発用プラットフォームである理由が簡単にわかります。

イーサリアム仮想マシン(EVM)の欠点


EVM によって提供される多くの利点にもかかわらず、イーサリアムで構築する開発者や起業家が考慮する必要がある特定の欠点があります。これらの中で最も重要なのは、イーサリアム ネットワークでスマート コントラクトを実行することに関連する高い取引手数料またはガス コストです。
ETH で支払われるこれらの料金は、契約の複雑さと実行時のネットワークの混雑状況によって異なるため、開発者や起業家はそれに応じてサービスの価格を設定することが不可欠です。さらに、Solidity は EVM でのコーディングに最も好まれる言語であるため、開発者は、Solidity を使用して効率的なスマートコントラクトを作成するために十分な経験を持ち、技術的な専門知識を持っている必要があることを意味します。
後者は、追加の計算要件がガスコストの上昇につながり、最終的にプロジェクトの成功に有害であることが判明するため、重要です。開発者が他の言語を使用してコーディングすることを選択した場合、コード内の固有の繰り返しを解決する際に注意する必要があります。後の段階でスマート コントラクトをアップグレードすることは可能ですが、元のスマート コントラクトのアドレスを参照する中間スマート コントラクトの作成に関連するセキュリティ リスクが伴います。

EVMの未来


EVMによってブロックチェーンエコシステムにもたらされた革新的な変化にもかかわらず、コードを読み取って実行するためのこのテクノロジは、多くのブロックチェーンプロジェクトによって改善されています。
クロスチェーンの相互運用性が開発者にとって最も重要な側面であるため、多くの EVM 互換ブロックチェーンが支えられており、そのほとんどはイーサリアム プロトコルよりもガスが少なく、トランザクション速度が高速です。その結果、これらのブロックチェーンは Ethereum ユーザーとシームレスにやり取りできるようになり、ブロックチェーンブリッジを使用して独自のネットワークへの資金移動を促進しています。
しかし、2022年9月に Ethereum プロトコルが正常にマージを完了すると、次のターゲットEVMからEthereum WebAssembly(eWASM)に移行することです。高度にモジュール化され、プラットフォームに依存しないように設計された eWASM は、イーサリアム プロトコルの次のゲームチェンジャーとしてもてはやされており、他のブロックチェーンがこのランタイム環境をスマート コントラクトにも採用するように動機付ける可能性があります。ただし、スマート コントラクトの最も信頼できるメカニズムとして eWASM が EVM に取って代わるかどうかは、時が経てばわかる問題です。

おすすめの記事