並列EVMの台頭:高性能レイヤー1の進化

EVM:イーサリアムのコアコンポーネント

EVMはイーサリアムのコア部分であり、スマートコントラクトを実行し、トランザクションを処理する役割を担っています。計算エンジンとして、EVMは計算とストレージの抽象を提供し、Java仮想マシンの仕様に似ています。EVMは自身のバイトコード命令セットを実行し、これらの命令は通常Solidityによってコンパイルされます。

EVMは準チューリング完全な状態機械です。"準"は、すべての実行ステップが有限のリソースであるGasを消費するため、可能性のある無限ループによるイーサリアムプラットフォーム全体の停止を回避できるからです。

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

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

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

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

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

バーチャルマシン

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

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

eBPFの前身はBPFで、元々はネットワークパケットの効率的なフィルタリングに使用されていましたが、進化を経てeBPFが形成され、より豊富な命令セットを提供し、ソースコードを変更することなくオペレーティングシステムのカーネルに対して動的に介入し、その動作を変更することを許可します。あるブロックチェーン上で実行されるスマートコントラクトはすべてSBF(eBPFベース)バイトコードにコンパイルされ、そのブロックチェーンネットワーク上で実行されます。

Moveは新しいスマートコントラクトプログラミング言語で、柔軟性、安全性、検証性に重点を置いています。Move言語は、資産と取引のセキュリティの問題を解決することを目的としており、資産と取引が厳密に定義され、制御されることを可能にします。Moveのバイトコードバリデーターは、静的解析ツールであり、Moveバイトコードを解析し、必要な型、メモリ、リソースの安全ルールに準拠しているかどうかを判断します。これは、スマートコントラクトのレベルで実装し、実行時にチェックする必要はありません。いくつかのブロックチェーンプロジェクトは、Moveを継承するか、独自のカスタマイズバージョンを通じてスマートコントラクトを作成しています。

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

並列実行

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

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

状態アクセス方法は、各トランザクションがブロックチェーンの状態のどの部分にアクセスできるかを事前に知る必要があり、それによってどのトランザクションが独立しているかを分析します。

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

特定のブロックチェーンにおいて、各スマートコントラクトはモジュールであり、関数と構造体の定義から成り立っています。構造体は関数内でインスタンス化され、関数呼び出しを通じて他のモジュールに渡すことができます。実行時にストレージ内に存在する構造体のインスタンスはオブジェクトとして扱われ、所有者オブジェクト、共有オブジェクト、不変オブジェクトの三つの異なるタイプのオブジェクトがあります。並列化戦略は前述のものと類似しており、トランザクションは操作するオブジェクトを指定する必要があります。

楽観的並行モデルは、すべての取引が独立しているという仮定の下で動作し、この仮定を回顧的に検証し、必要に応じて調整を行います。

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

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

パラレルEVM

並行EVM(Parallel EVM)は2021年に提起されたもので、その時は複数の取引を同時に処理することをサポートするEVMを指しており、既存のEVMの性能と効率を改善することを目的としています。代表的な提案には、あるプラットフォームがBlock-STMに基づいて実装した並行EVMや、あるプラットフォームが共同開発した並行EVMがあります。

しかし、2023年末に業界の専門家が2024年のトレンドを展望する際に、並行EVMについて言及し、MonandやSeiを含む並行実行技術を採用したEVM互換Layer1が注目を集めました。

現在、一部のLayer1およびLayer2プロジェクトは次々と並行EVMのラベルを貼り、目を眩ませています。

合理に定義できる並行EVMは以下の3つのクラスだけだと思います:

  1. パラレル実行技術を採用していないEVM互換のLayer1のパラレル実行アップグレード;

  2. 並列実行技術を備えたEVM互換のレイヤー1。

  3. パラレル実行技術を採用した非EVM互換のLayer1のEVM互換ソリューション。

ここでいくつかの代表的なプロジェクトを簡単に紹介します。

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

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

SeiはCosmos SDKに基づいて開発されたLayer1で、DeFIのために設計された公衆チェーンです。Sei V2はSeiネットワークの大規模なアップグレードで、完全に並行したEVMの最初のものになることを目指しています。Monadと同様に、Sei V2は楽観的並行化を使用します。これにより、ブロックチェーンは開発者が依存関係を定義する必要なく、同時にトランザクションを実行できます。競合が発生した場合、ブロックチェーンは各トランザクションが触れるストレージ部分を追跡し、これらのトランザクションを順序通りに再実行します。このプロセスはすべての未解決の競合が解決されるまで再帰的に続きます。

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

Artelaは、開発者が機能豊富な分散型アプリケーション(dApps)を構築できるスケーラブルなブロックチェーンネットワークです。Artelaが導入したEVM++は、高スケーラビリティと高パフォーマンスの並列EVMを表しており、2つの段階で実現されます。第一段階は並列実行に焦点を当て、並列実行を基に、弾力的な計算を通じてネットワークノードの計算能力を拡張し、最終的に弾力的なブロックスペースを実現します。この並列実行は、取引依存の衝突分析に基づいて取引をグループ化し、並列実行をサポートします。

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

あるプラットフォーム上のEVM互換ソリューションは、プラットフォーム上でEVMトランザクションを実行するための解決策です。これは実際にはプラットフォーム上のスマートコントラクトであり、その中にEVMインタープリタが実装され、特定のバイトコードにコンパイルされています。内部ではイーサリアムのトランザクションモデルとアカウントモデルのセットが実装されており、ユーザーはEVM GAS手数料を支払うだけでトランザクションを送信できます。プラットフォームネットワークの手数料は代理によって支払われます。プラットフォームはトランザクションにアカウントリストの提供を強制しており、ラッピングトランザクションも例外ではありません。そのため、代理の責任にはこのアカウントリストの生成が含まれ、同時にプラットフォームのトランザクションの並行実行能力を得ています。

同様に、EVMをスマートコントラクトとして実行し、EVM互換のソリューションを実現する他のいくつかのプロジェクトがあります。理論的には、特定のプラットフォーム上でもこのソリューションを採用して侵入的でないEVM互換を実現することが可能です。現在、このような作業を行っているプロジェクトがあり、任意の分散環境でMoveベースのインフラストラクチャ、アプリケーション、ブロックチェーンを構築および展開するためのモジュラーフレームワークを開発しています。このプロジェクトのあるモジュールは、EVMオペコードをシームレスにMoveオペコードに変換することができ、これによりSolidityプロジェクトは一行のMoveコードを書くことなく、Moveの性能とセキュリティの利点を利用できることを意味します。

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

まとめ

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

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

ただし、高性能EVMの物語と比較すると、ブロックチェーンは多様性に富んでおり、WASM、SVM、Move VMのような物語が登場することは、より期待に値するかもしれません。

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

ETH1.95%
MOVE1.59%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 6
  • 共有
コメント
0/400
BlockImpostervip
· 21時間前
ガス真贵
原文表示返信0
RektHuntervip
· 21時間前
ガスが高くなったら代替チェーンがある 誰が遊ぶのも知恵遅れ
原文表示返信0
degenonymousvip
· 21時間前
ガス費を加えたら命が取られるって、いいのか?
原文表示返信0
SchrodingerGasvip
· 21時間前
ガス戦争は本当にひどい。おとといの深夜にミントを奪われ、また三桁のナイフを失った。
原文表示返信0
WalletDoomsDayvip
· 21時間前
ガス費が高すぎるからやめておく
原文表示返信0
GreenCandleCollectorvip
· 21時間前
Gas代が上昇して死にそうだ
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)