【完全保存版】EVM(Ethereum Virtual Machine)とは?
0 はじめに
当該記事は下の記事を翻訳・編集したものです。
このブログ記事では、EVM(Ethereum Virtual Machine) とEVM互換のブロックチェーンについて知っておくべきことをすべて解明していきます。
https://ethereum.org/en/developers/docs/evm/?ref=blog.thirdweb.com
EVMとは何か、ブロックチェーンがEVMと互換性があるとはどういうことか、そしてEVMと互換性のあるブロックチェーンのリストを提供します。
それでは、見ていきましょう。
1 EVM(Ethereum Virtual Machine)とは?
EVM(Ethereum Virtual Machine)とは、イーサリアム・ブロックチェーン上でスマートコントラクトを実行するソフトウェア環境です。
イーサリアムネットワークのバックボーンであり、ブロックチェーン上のすべての操作とトランザクションを実行する役割を担っています。
EVMは、スマートコントラクトの作成と実行を可能にする独自の命令セットに基づいて動作します。
EVMは、データの保存、トランザクションの処理、ガス料金の計算など、イーサリアム・ブロックチェーンの状態を管理する役割も担っています。
2 EVMはどのように機能するのですか?
① チューリング完全について
EVMはチューリング完全仮想機械として設計されており、あらゆるアルゴリズムやプログラムを実行することが可能です。
https://www.youtube.com/watch?v=0ILvcjpAqAU
これにより、開発者は複雑なスマートコントラクトを書いたり、イーサリアムネットワークの上にdAppsを構築したりすることができるようになり、イーサリアムに 「プログラマビリティ」 を与えています。
② 「決定論的」(deterministic)とは
EVMの強力な特徴は、コードを 「決定論的に」 実行できることです。
これは、任意のスマートコントラクトが、どこで実行されても、誰が実行しても、同じ入力に対して常に同じ出力を生成することを意味します。
https://blog.humphreys-assoc.com/evm-consulting-modeling-simulation/
この決定論は、イーサリアムネットワークのコンセンサスメカニズムに不可欠であり、すべてのノードがネットワークの状態について合意する必要があります。
決定論的な実行は、スマートコントラクトが外部からの干渉を受けずに、書かれたとおりに正確に実行されることも保証します。
③ 他のOSからの分離について
EVMはまた、コンピュータの他のオペレーティングシステムから分離されるように設計されており、セキュリティを確保し、攻撃からネットワークを保護します。
スマートコントラクトはEVM環境内で実行され、コードが実行されるための安全なサンドボックスが提供されます。
https://www.alsok.co.jp/corporate/recommend/sandbox.html
この隔離により、EVMはイーサリアムネットワークとしかやり取りできず、悪意のあるアクターが基礎となるシステムにアクセスしたり、ネットワークのセキュリティを侵害したりするのを防ぐことができます。
EVMを定義し、その仕組みを説明しましたが、ブロックチェーンがEVMと互換性を持つとはどういうことでしょうか。また、なぜそれが重要なのでしょうか?
3 EVM互換性とはどういう意味か?
① EVM互換性の概要
EVMの互換性とは、ブロックチェーンがEVMを実行し、イーサリアムのスマートコントラクトを実行する能力のことを指します。
つまり、開発者はコードを大幅に変更することなく、複数のEVMブロックチェーンで同じスマートコントラクトを書き、デプロイすることができるのです。
https://dezentralizedfinance.com/top-50-evm-compatible-network/
これらのスマートコントラクトは、EVMを通じて他のEVM互換ブロックチェーンと相互作用することができ、誰でもマルチチェーンdAppsを作成できるようになります。
② レイヤー2について
同義ではありませんが、EVM互換ブロックチェーンの最大のサブセット(グループ)の1つはレイヤー2ネットワークで、一般的にスケーラビリティと効率性のために構築されています。
https://mercuryo.io/explore/article/layer-2
Ethereumエコシステムのツール、技術的アップグレード、ユーザーベースを活用することができます。
③ ロールアップについて
optimisticロールアップやZKロールアップなどのレイヤー2ソリューションは、イーサリアムのメインネットの上に構築されていますが、計算をオフチェーンで行います。
最終的な状態の変更のみをメインネットにコミットすることにより、取引手数料の削減とブロックチェーンのスループットを向上させます。
4 EVM互換ブロックチェーンの利点
EVMは、EVM互換のブロックチェーン上でスマートコントラクトを書き、dAppsを構築する開発者にとって、多くの利点があります:
① 移植性と相互運用性
EVM互換チェーン(Ethereumなど)用に開発されたスマートコントラクトやdAppsは、最小限のコード修正で他のEVM互換チェーン(Polygonなど)に簡単に移行することができます。
② コストを下げることができる
EVMは、スマートコントラクトを記述し、dAppsを開発するための標準化された環境を提供します。
開発者は、チェーンごとに別々のコードベースを作成する必要がなく、一度コードを記述すれば、EVM互換のチェーンにデプロイできます。
Ethereumで最も広く使われているプログラミング言語の1つであるSolidityですべてを書くことができるため、EVM互換のブロックチェーン全体で学習曲線もはるかに低くなっています。
https://www.navi-school.com/school/fukushima/aizuikki/2021/08/post-51.html
③ 幅広いユーザーベースと開発者エコシステム
EVM互換ブロックチェーン上に構築されたdAppは、その性質上、イーサリアムネットワークの上に構築されています。
つまり、1億以上のユニークウォレットというはるかに幅広いユーザーベースへのアクセスが可能で、EVM互換ネットワーク上に構築したWeb3アプリケーションの大量採用を容易にするのです。
5 どのブロックチェーンがEVMと互換性があるのか?
現在、開発者がスマートコントラクトをデプロイできるEVM互換のブロックチェーンは数多くあり、それぞれに独自の特徴があります。
最も人気のある例として、TVL(total value locked) の高い順に、以下のものがあります。
- Ethereum
- BSC
- Arbitrum
- Polygon
- Avalanche
- Optimism
- Fantom
- Cronos
- Klaytn
- Canto
これらすべてと、RPC、ブロックエクスプローラー、faucetなどの、始めるためのリソースは、700以上のEVM対応ブロックチェーンを掲載しているthirdwebのChainlistで確認できます。
6 EVM互換のブロックチェーンでdAppを構築するにはどうすればよいですか?
① thirdwebが対応しているEVM互換ネットワーク
thirdwebは、史上初のユニバーサルweb3フレームワークを構築し、すべてのEVM互換ネットワークのサポートを追加し、7つのブロックチェーンのサポートから700以上のブロックチェーンに移行しました。
② thirdwebの開発キットについて
Web3開発者は、thirdwebの最高品質の開発キットを使用して、新しいスマートコントラクトを作成したり、既存のものをインポートしたりして、どのEVM互換ブロックチェーン上でもdAppsを構築することができます。
- React、JavaScript、Unity、Python、GoのSDKを含みます。
- IPFSへのファイルアップロード&ピン留めを代行する分散型ストレージサービス
- フロントエンド・アプリケーションのためのプラグアンドプレイUIコンポーネント
- 直感的なダッシュボードですべてのコントラクトを一括管理
https://prtimes.jp/main/html/rd/p/000000001.000091373.html
thirdwebを使えば、開発者はスマートコントラクトとweb3アプリのすべてを一箇所で構築、起動、管理することができます。
7 最後に思うこと: 未来はマルチチェーンになる
結論として、EVM互換ブロックチェーンは、スケーラビリティと効率性を最適化できる一方で、イーサリアムネットワークの上に構築され、そのすべてを活用できるという点で非常に有益です。
EVMはdAppsに標準化された環境を提供するため、EVM互換ブロックチェーン上に構築されたアプリケーションは、他のEVMネットワークと移植性と相互運用性があり、これらのブロックチェーン上に構築されたすべてのdAppsがより広いイーサリアムエコシステムにアクセスできるようにします。
このブログポストで、EVM(Ethereum Virtual Machine)とは何か、EVM互換性がブロックチェーンの強力な機能を解放する理由、そしてどのEVM互換ネットワーク上に構築できるかをよりよく理解していただけたと思います。
また、EVM互換のブロックチェーン上でWeb3アプリを構築したい場合は、無料でthirdwebで始めてみましょう
Discussion
理解しやすい解説ありがとうございます!!
よかったです、ありがとうございます!