EVM 並列化: 高性能レイヤー 1 から EVM 互換ソリューションへの技術の進化

EVM:イーサリアムのコア

EVM(イーサリアム・バーチャル・マシン)はイーサリアムのコアで、スマートコントラクトの実行やトランザクションの処理を担当しています。

仮想マシンは通常、実際のコンピュータの仮想化に使用され、仮想マシンモニタまたは全体のオペレーティングシステムインスタンスによって仮想化されます。これらは、実際のハードウェア、システムコール、およびその他のカーネル機能のソフトウェア抽象を提供する必要があります。

EVMはより限られた領域で動作します:それは単なる計算エンジンであり、計算とストレージの抽象を提供します。これはJava仮想マシン(JVM)仕様に似ています。高いレベルから見ると、JVMは基盤となるホストオペレーティングシステムやハードウェアに依存しない実行環境を提供し、システム間の互換性を実現することを目的としています。同様に、EVMはSolidityによってコンパイルされたバイトコード命令セットを実行します。

EVMは準チューリング完全な状態機械であり、"準"というのは、すべての実行ステップが有限のリソースであるGasを消費するため、任意のスマートコントラクトの実行は有限の計算ステップ内に制限され、実行プロセスでの可能な無限ループを回避し、結果として全体のイーサリアムプラットフォームが停止する事態を防ぎます。

EVMにはスケジューリング機能がなく、イーサリアムの実行モジュールはブロックからトランザクションを取り出し、EVMが順番に実行します。実行中は最新の世界状態が変更され、1つのトランザクションの実行が完了した後、状態が累積され、ブロック完了後の最新の世界状態に達します。次のブロックの実行は、前のブロック実行後の世界状態に厳密に依存するため、イーサリアムのトランザクションの線形実行プロセスは並行実行の最適化をうまく行うことができません。

この意味において、イーサリアムプロトコルは取引が順番に実行されることを定めています。順番に実行されることで、取引やスマートコントラクトが確定的な順序で実行され、安全性が確保されますが、高負荷の状況に直面すると、ネットワークの混雑や遅延を引き起こす可能性があります。これが、イーサリアムに大きなパフォーマンスボトルネックがあり、Layer2 Rollupによるスケーリングが必要な理由です。

! 並列EVM:高性能レイヤー1マインドスワッピング

高性能なレイヤー 1 並列処理

大多数高性能Layer1は、イーサリアムの並列処理ができない欠陥に基づいて自分たちの最適化方案を設計しています。ここでは、実行層の最適化、つまり仮想マシンと並列実行についてのみ話します。

バーチャルマシン

EVMは256ビットの仮想マシンとして設計されており、イーサリアムのハッシュアルゴリズムをより簡単に処理することを目的としています。これにより、明確に256ビットの出力が生成されます。しかし、EVMを実行するコンピュータは、256ビットのバイトをローカルアーキテクチャにマッピングしてスマートコントラクトを実行する必要があるため、全体のシステムは非常に非効率的で実用的ではなくなります。したがって、仮想マシンの選択において、高性能Layer1はEVMではなく、WASM、eBPFバイトコード、またはMoveバイトコードに基づく仮想マシンをより多く採用しています。

WASMは、小型で高速にロードされ、ポータブルであり、サンドボックスのセキュリティメカニズムに基づくバイトコード形式です。開発者は、さまざまなプログラミング言語を使用してスマートコントラクトを作成し、それをWASMバイトコードにコンパイルして実行できます。WASMは、多くのブロックチェーンプロジェクトによって標準として採用されており、EOS、Dfinity、Polkadot、Cosmos、Nearなどが含まれています。イーサリアムも将来的にWASMを統合する予定であり、これによりイーサリアムの実行レイヤーはより効率的でシンプルになり、完全に分散型の計算プラットフォームとして適しています。

eBPFの前身はBPF(Berkeley Packet Filter、バークレー・パケットフィルタ)で、元々はネットワークデータパケットの効率的なフィルタリングに使用されていましたが、進化を経てeBPFが形成され、より豊富な命令セットを提供し、ソースコードを変更することなくオペレーティングシステムのカーネルに対して動的な介入やその動作の変更を許可します。その後、この技術はカーネルから外に出て、ユーザーモードのeBPFランタイムが発展し、高性能、安全性、移植性を持つようになりました。あるブロックチェーン上で実行されるスマートコントラクトは、すべてSBF(eBPFベース)のバイトコードにコンパイルされ、そのネットワーク上で実行されます。

Moveは、柔軟性、安全性、検証可能性に重点を置いた新しいスマートコントラクトプログラミング言語です。Move言語は、資産や取引における安全性の問題を解決することを目的としており、資産や取引を厳密に定義し、制御できるようにします。Moveのバイトコードバリデーターは、Moveのバイトコードを分析し、必要な型、メモリ、およびリソースの安全ルールを遵守しているかを判断する静的分析ツールであり、スマートコントラクトレベルでの実装やランタイムチェックは不要です。いくつかの新興ブロックチェーンは、Moveを継承するか、独自のカスタマイズ版のMoveを使用してスマートコントラクトを作成しています。

! 並列EVM:高性能レイヤー1マインドスワッピング

並列実行

ブロックチェーンにおける並行実行は、無関係なトランザクションを同時に処理することを意味します。無関係なトランザクションを互いに影響を与えないイベントと見なします。例えば、2人が異なる取引プラットフォームでトークンを取引している場合、彼らの取引は同時に処理できます。しかし、同じプラットフォームで取引を行う場合、特定の順序で取引を実行する必要があるかもしれません。

並行実行を実現するための主な課題は、どの取引が無関係で、どの取引が独立しているのかを特定することです。ほとんどの高性能Layer1は、状態アクセス方式と楽観的並行モデルの2つの方法に依存しています。

状態アクセス方法は、各取引がブロックチェーンの状態のどの部分にアクセスできるかを事前に知る必要があり、それによってどの取引が独立しているかを分析します。代表的な例は、いくつかの新興パブリックチェーンです。

一部のパブリックブロックチェーンでは、プログラム(スマートコントラクト)は無状態です。なぜなら、それらはトランザクション全体の過程で持続的に存在する任意の状態を自らアクセス(読み取りまたは書き込み)できないからです。状態にアクセスまたは保持するためには、プログラムはアカウントを使用する必要があります。各トランザクションは、トランザクションの実行中にどのアカウントにアクセスするかを指定する必要があり、これによりトランザクション処理のランタイムは非重複トランザクションの並行実行をスケジュールでき、データの整合性を保証します。

いくつかのMove実装では、各スマートコントラクトはモジュールであり、関数と構造定義で構成されています。構造は関数内でインスタンス化され、関数呼び出しを通じて他のモジュールに渡すことができます。ランタイムストレージの構造インスタンスはオブジェクトとして存在し、所有者オブジェクト、共有オブジェクト、変更不可オブジェクトの3つの異なるタイプのオブジェクトがあります。並行化戦略は前述のものと似ており、トランザクションはどのオブジェクトに対して操作を指定する必要があります。

楽観的並行モデルは、すべての取引が独立しているという仮定の下で動作し、この仮定を回顧的に検証し、必要に応じて調整を行います。代表的な例は、いくつかの新興パブリックブロックチェーンです。

あるパブリックチェーンは、Block-STM(ブロックソフトウェアトランザクションメモリ)方式を使用して楽観的並行実行を適用しています。Block-STMでは、トランザクションはまずブロック内で一定の順序で設定され、その後異なる処理スレッド間で分割されて同時に実行されます。これらのトランザクションを処理する際、システムは各トランザクションが変更するメモリ位置を追跡します。各処理ラウンドの後、システムはすべてのトランザクション結果をチェックします。もし以前のトランザクションによって変更されたメモリ位置に触れたトランザクションが見つかった場合、その結果を消去し再実行します。このプロセスは、ブロック内のすべてのトランザクションが処理されるまで続きます。

! 並列EVM:高性能レイヤー1マインドスワッピング

パラレルEVM

並行EVM(Parallel EVM)は2021年に提起されたもので、その当時は複数の取引を同時に処理することをサポートするEVMを指しており、既存のEVMの性能と効率を改善することを目的としていました。代表的な方案としては、特定のパブリックチェーンがBlock-STMに基づいて実装した並行EVMがあります。

しかし、2023年の年末に、一部の業界専門家が2024年のトレンドを展望する際に、並行EVMについて言及し、並行実行技術を採用したEVM互換Layer1のブームを引き起こしました。これにはいくつかの新興プロジェクトも含まれています。

現在、一部のEVM互換ソリューション、イーサリアムSVM(Solana仮想マシン)のLayer2 Rollup、イーサリアムMove仮想マシンのLayer2 Rollup、モジュラー実行層Layer1が次々と並行EVMのラベルを貼られ、目が眩む。

合理に並行EVMを定義できるのは以下の3つのカテゴリだけだと思います:

  1. 並行実行技術を採用していないEVM互換のLayer1の並行実行アップグレード、例えばいくつかの主流のパブリックチェーン;

  2. 並行実行技術を採用したEVM互換のLayer1、例えばいくつかの新興プロジェクト;

  3. パラレル実行技術を採用した非EVM互換のLayer1のEVM互換ソリューション、例えばいくつかのクロスチェーンプロジェクト。

! 並列EVM:高性能レイヤー1マインドスワッピング

主要な公的チェーンは、EVM互換のLayer1として言うまでもなく、ここではいくつかの新興プロジェクトとクロスチェーンソリューションを簡単に紹介します。

いくつかの新興パブリックブロックチェーンは、PoSメカニズムを採用したEVM互換の高性能Layer1であり、並行実行を通じてスケーラビリティと取引速度を大幅に向上させることを目指しています。これらは、効率を高めるためにブロック内で取引を並行して実行することを許可します。通常、楽観的並行モデルを使用し、前のステップの実行が完了する前に新しい取引の実行を開始します。不正確な結果に対処するために、入力/出力を追跡し、一貫性のない取引を再実行します。静的コード解析器は依存関係を予測し、無効な並行性を回避し、不確実な場合にはシンプルモードに戻ることができます。このような並行実行はスループットを増加させ、取引失敗の可能性を減少させます。

いくつかのクロスチェーンソリューションは、他のパブリックブロックチェーン上でEVMトランザクションを実行するために開発されたソリューションです。実際には、EVMインタープリターを実装したスマートコントラクトであり、特定のバイトコードにコンパイルされます。内部には、イーサリアムのトランザクションモデルとアカウントモデルのセットが実装されており、ユーザーはEVM GAS手数料を支払うだけでトランザクションを送信できます。ネイティブネットワークの手数料はエージェントによって支払われます。一部のパブリックブロックチェーンはトランザクションにアカウントリストの提供を強制しており、ラッピングトランザクションも例外ではありません。したがって、エージェントの責任には、このアカウントリストを生成することが含まれており、同時にネイティブなトランザクションの並行実行能力も得ています。

ここで補足しますが、EVMをスマートコントラクトとして実行し、EVM互換のソリューションを実現する類似のクロスチェーンプロジェクトもいくつか存在します。理論的には、いくつかの新興パブリックチェーンでもこのソリューションを使用して、非侵襲的なEVM互換を実現することが可能であり、そうした作業を行っているプロジェクトもあります。いくつかのプロジェクトは、任意の分散環境でMoveに基づくインフラストラクチャ、アプリケーション、ブロックチェーンを構築・展開するためのモジュラーフレームワークです。その中のいくつかのモジュールは、EVMオペコードをシームレスにMoveオペコードに変換することができ、これによりSolidityプロジェクトは、Moveのパフォーマンスとセキュリティの利点を活用しつつ、一行のMoveコードも必要としません。

EVM互換性により、開発者は大規模な変更を行うことなく、彼らのイーサリアムアプリケーションをチェーン上に簡単に移行できるため、新興のパブリックチェーンエコシステムを構築するための良い方向性です。

! 並列EVM:高性能レイヤー1マインドスワッピング

まとめ

ブロックチェーンの並行技術はすでに古くからの話題であり、物語は一定の期間ごとに顔を出しますが、現在は主に特定のパブリックチェーンのBlock-STMメカニズムを代表とする楽観的実行モデルの改造と模倣にとどまっており、実質的な突破はないため、熱気は持続しにくいです。

未来を展望すると、さらに多くの新興Layer1プロジェクトが並行EVMの競争に参加し、古いLayer1のいくつかはEVM並行アップグレードまたはEVM互換のソリューションを実現するでしょう。二つの方向は異なった道を歩んでも、性能向上に関連する新しい物語がさらに誕生するでしょう。

しかし、高性能EVMのストーリーと比較すると、私はまだブロックチェーンが多様性を持ち、WASM、SVM、Move VMのようなストーリーが登場することを望んでいます。

! 並列EVM:高性能レイヤー1マインドスワッピング

! パラレルEVM:高性能レイヤー1マインドスワッピング

原文表示
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • 報酬
  • 7
  • 共有
コメント
0/400
MEVEyevip
· 14時間前
全てGasでウォレットを絞り、支払いして苦痛を楽しむ
原文表示返信0
AirdropHuntervip
· 14時間前
このガスはどこで取れるの?
原文表示返信0
ChainSpyvip
· 14時間前
ブロックチェーンを遊ぶときは指標を見ず、コードと革新を見る。
原文表示返信0
LucidSleepwalkervip
· 14時間前
ガスを開ければそれで終わりだ
原文表示返信0
DisillusiionOraclevip
· 14時間前
まだJVMのことを議論しているのか?Gas代が人を食い尽くしているのに。
原文表示返信0
GmGmNoGnvip
· 14時間前
バイトコードもすごすぎる8
原文表示返信0
MemeCoinSavantvip
· 14時間前
evmは基本的にデジェンのためのJavaだと思う
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)