並列実行: ブロックチェーンの次世代

上級5/10/2024, 10:43:24 AM
Shoal Research、暗号研究機関は、Solana(SVM)、parallel EVM(Sei、Monad)、MoveVM(Aptos、Sui、Movement)の進捗状況を含む、ブロックチェーンの並行分野の現在の関連プロジェクトを分析し、この分野で直面している課題と機会を分析しました。

序文

1.0 ブロックチェーン取引

ブロックチェーンは仮想マシンであり、分散ネットワーク上で動作するソフトウェアベースのコンピューティングモデルであり、誰でも参加できますが、単一のエンティティがコントロールするのは非常に困難です。ブロックチェーンの概念は、サトシ・ナコモトの有名なビットコイン白書(2008年)で初めて文字にされました。これは、ビットコインでの暗号的に保護されたピアツーピアの支払いを可能にする基本的なインフラストラクチャです。トランザクションはブロックチェーンにとって、ソーシャルメディアやインターネット企業にとってのログと同じであり、その特定のネットワークの活動記録として機能します。主な違いは、ブロックチェーン上のトランザクションは変更不可能であり、しばしば公開できるということです。

しかし、取引とは具体的に何でしょうか?

ブロックチェーン上の取引は、分散台帳上の1つのアドレスから別のアドレスにデジタル資産を転送することを含み、公開鍵暗号技術によって保護されます。取引は、分散型ピア・ツー・ピアの転送やさまざまな認証および検証プロセスに使用することができます。

ブロックチェーンエクスプローラーのように誰でも観察できるトランザクションの例SeiTrace

1.1 ブロックチェーン取引の仕組み

トランザクションが開始されると、つまりBobがいくつかのトークンをAliceに送ると、Bobのトランザクションは基礎となるブロックチェーンネットワークにブロードキャストされます。その後、ネットワーク上の専門ノードのクラスタが、トランザクションが正当であることを検証し、検証します。これらのノードの十分な数がトランザクションの内容を検証すると、トランザクションは他のユーザートランザクションとともにブロックに追加されます。ブロックがいっぱいになると、それがチェーンに追加され、そのために「ブロックチェーン」という名前が付けられます。Bobのトランザクションは今や安全で透明な元帳の一部であり、彼とAliceの両方が内容を検証できます。

一般的に言って、すべてのブロックチェーン取引には、ネットワークを運営および保護するノードが特定の一連の命令とパラメータを識別し実行するのに役立つメタデータが含まれています。各取引には、送信元の送信者によって入力された高レベルのデータがあり、これには送金額、送信先アドレス、取引を確認するデジタル署名などが含まれます。また、ネットワークや設計によって異なるが、自動的に作成および添付されるさまざまな低レベルのデータも存在します。

最終的には、ただし、トランザクションの実行前のネットワーキングレイヤーでの裏方に関与するプロセスは、ブロックチェーンの設計によって異なります。

1.1.1 メンプール

メモリープール、またはメンプールは、BitcoinやEthereumなどの従来のブロックチェーンネットワークによって実装された、ブロックチェーン設計の一般的な特徴です。メンプールは、単にブロックに追加されて実行される前の保留中のトランザクションのためのバッファーゾーンまたは「待合室」です。

より良く理解するために、メンプールを使用するブロックチェーン上のトランザクションのライフサイクルを示すことができます;

  1. ユーザーはトランザクションを開始し、署名します。
  2. ブロックチェーンネットワークに参加する専門ノードは、取引内容が適切なパラメータを含み、正当であることを検証します。
  3. 一度検証されると、取引は他の保留中の取引と共に公開メモリプールにルーティングされます。
  4. 最終的には、マイナーがブロックチェーン上で次のブロックを形成するために保留中の取引を選択する際に、マイナーフィーが他の取引と比較して支払われるガス料金に応じて、私たちのユーザーの保留中の取引が他の保留中の取引とクラスターを形成します。この段階で、取引のステータスは「成功」と表示されます。
  5. ある一定の時間またはブロックベースのしきい値が過ぎると、ブロック自体が最終化され、取引はブロックチェーン上に記録された変更不可能なログとなります。それ以外の場合には実行が非常に困難な51%攻撃の場合にのみ、妥協される可能性があります。

1.1.2. メンプールなし(Solana)

重要なのは、Solanaなどの一部のブロックチェーンは、mempoolを使用せず、代わりにトランザクションを直接ブロックプロデューサーに転送し、連続したブロックの生成を通じて高速かつスループットを実現していることです。

非メンプールブロックチェーン上のトランザクションのライフサイクルをたどりましょう:

  1. ユーザーは、使用しているアプリケーションのためにトランザクションを開始し署名します。
  2. アプリケーションはトランザクション情報をリモートプロシージャコール(RPC)サーバーにルーティングします。
  3. RPCプロバイダーは、現在の指定されたブロック生産者および次の3人の生産者にトランザクションを送信します。これは、現在のリーダーがトランザクションを時間内に実行できない場合の予防措置です。Solanaは、RPCがトランザクションをより簡単にルーティングするのに役立つスロットリーダースケジュールを採用しています。
  4. ブロック生産者は、署名された取引をコンセンサスノードに送信して検証します。
  5. コンセンサスノードは、トランザクションの内容を検証するために投票し、完了するとトランザクションの状態がRPC>アプリケーション>ユーザーに '成功' または '失敗' としてルーティングされます。
  6. mempoolベースのブロックチェーンと同様に、ブロック自体は、ある一定の時間またはブロックベースの閾値が経過した後に最終化されます。

1.2 順次実行

古いブロックチェーン、つまりBitcoinとEthereumは、取引のために連続した実行メカニズムを利用しています。ブロックチェーンに追加されるすべての取引は、ネットワークの状態の変更を呼び起こし、セキュリティの目的でVMは1回の状態変更のみを処理するように構造化されています。

これにより、基礎となるネットワークのスループットにおける大幅なボトルネックが生じており、ブロックに追加できる取引の数が制限されることで、待ち時間が長くなり、取引コストが異例の高騰を見せることがあり、ネットワークが使用不能になることがあります。さらに、連続実行モデルはハードウェアコンポーネントを非効率的に利用しており、コンピューティングの技術革新、つまり複数のプロセッサコアから恩恵を受けていません。

並列実行

2.0 パラレル実行とは何ですか?

並列計算は、コンピューターアーキテクチャの重要な構成要素であり、その起源は遡ることができます1950年代後半, しかし、その構想や理論はさらにさかのぼって追跡されています1837. 定義上、並列コンピューティングとは、複数の処理要素を同時に利用して操作を解決する行為を指し、より大きく複雑なタスクがシリアルな方法よりも効率的に完了するために、より小さなタスクに分割される。

元々は高性能コンピューティングシステムにのみ実装されていた並列コンピューティングは、コンピュータアーキテクチャにおいて主要なパラダイムとして進化し、インターネット時代における計算要求の指数関数的な増加と、過去数十年間の周波数スケーリングの制約によって悪化しています。

この建築基準は、主要なコンピューターが解決する主なタスクが取引の処理と実行、またはスマートコントラクトAからスマートコントラクトBへの価値の転送であるため、ブロックチェーンに同様に適用されます。したがって、並行実行という用語があります。

並列実行とは、トランザクションを直列で処理するのではなく、ブロックチェーンが複数の競合しないトランザクションを同時に処理できることを意味します。これにより、ブロックチェーンネットワークのスループットが大幅に向上し、よりスケーラブルで効率的になり、活動量やブロックスペースの需要が高い場合でも対応できるようになります。

より簡単な比喩として、複数のレーンを持つ食料品店の効率性を考えてみてください。全員が1つのレーンを使う場合との比較です。

なぜ並行実行が重要なのですか?

ブロックチェーンでの並行実行は、特にネットワークがより多くのトラフィックやリソース需要を見る際に、ネットワークの速度とパフォーマンスの効率を解放するように設計されています。暗号エコシステムの文脈では、並行実行とは、たとえばボブが最新の人気のあるNFTコレクションを作成したい場合や、アリスが彼女のお気に入りのメームコインを購入したい場合、ネットワークは両方のユーザーに対応し、パフォーマンスやユーザーエクスペリエンスの品質を損なうことなくサービスを提供します。

これは単なる直感的な生活の質の特徴として表れるかもしれませんが、並行実行によって可能になるネットワークパフォーマンスのアンロックは、低レイテンシーと高いボリュームを活用できる新しい革新的なユースケースやアプリケーションの開発に道を開いており、それ自体が次の大量のユーザーを暗号エコシステムにオンボーディングするための基盤を築いています。

並列実行はどのように機能しますか?

並列実行の前提は比較的簡単ですが、基礎となるブロックチェーンの設計に微妙な違いがあるため、並列実行プロセス自体がどのように進行するかが影響を受けます。並列実行を備えたブロックチェーンを設計する際に最も関連性のある特徴は、トランザクションがその基礎ネットワークの状態にアクセスできる能力です。これには口座残高、ストレージ、スマートコントラクトなどが含まれます。

ブロックチェーン上での並列実行は、決定論的または楽観的のいずれかに分類されます。Solanaのようなブロックチェーンで採用されている決定論的な並列実行は、トランザクションが事前にすべてのメモリ依存関係を宣言することを必要とし、つまり、グローバルステートのどの部分にアクセスするかを事前に宣言する必要があります。このステップにより、開発者に追加のオーバーヘッドが発生しますが、より広く、ネットワークは実行前に競合しないトランザクションを分類および特定することができるため、予測可能で効率的な最適化されたシステムが作成されます。一方、楽観的な並列実行は、すべてのトランザクションを並列で処理するように構造化されており、競合がないという前提の下で動作します。これにより、基礎となるブロックチェーンはトランザクションの実行をより速く提供できますが、競合が発生した場合は再実行の可能性があります。競合する2つのトランザクションが送信された場合、システムはそれらを再処理して再実行するか、並列または順次に実行することができます。

これらの設計の細部の意味をよりよく理解するためには、今日の並列実行の最前線を推進するチームのレンズを通じて並列実行の並行実行を分析することが役立つ場合があります。

現在の並列実行状態

これらの設計の緻密さの含意をよりよく理解するためには、現在並列実行の最前線を推進しているチームの視点を通して並列実行の並行実行を分析することが役立つかもしれません。

3.1 ソラナ仮想マシン(SVM)

Solanaは、テレコミュニケーション業界での創業者Anatoly Yakovenkoの以前の経験に触発され、並列実行を中心に設計された最初のブロックチェーンネットワークでした。Solanaは、物理学が許す限り高速に動作する開発者プラットフォームを提供することを目指しており、そのため並列計算によって解放される速度と効率は、シンプルで直感的な設計の選択肢でした。

Solanaの高速なスピードと高いスループットを実現するための重要な要素は、ネットワークの並列スマートコントラクトランタイム環境であるSealevelです。EVMやWASMベースの環境とは異なり、Sealevelはマルチスレッドアーキテクチャを採用しており、バリデータコアの容量に応じて複数のトランザクションを同時に処理することができます。

Solanaの並列実行を可能にする鍵は、取引が有効になると、ネットワークがその取引のために実行する指示のリストを割り当てることです。具体的には、どのアカウントや状態にアクセスし、どのような変更を行うかを決定することが重要です。これは、どの取引が非衝突であり同時に実行できるかを決定する鍵であり、同じ状態にアクセスしようとする取引が同時に行えるようにすることも可能にします。

空港の受託手荷物システムにラベルが提供する効率性を考慮してください。

Solanaは、同時読み書きを可能にするために状態データを格納および管理するために独自のカスタムaccountsDBであるCloudbreakを利用しています。 Cloudbreakは並列実行に最適化され、状態データを複数のノードに分散および管理するために水平方向にスケーリングします。

その並列アーキテクチャのおかげで、Solanaは大量の取引を処理し、それでも迅速に実行して、取引をほぼ即時に確定させることができます。Solanaは現在、平均で秒間2,000から10,000件の取引(TPS)を処理しています。さらに、EclipseなどのチームがSVMを実行環境として活用することを目指すLayer 2インフラストラクチャを展開するなど、SVMのユースケースがゆっくりと拡大しています。

3.2 パラレルEVM

Parallel EVMは、SolanaとEthereumの設計から「両方の世界の良いところ」をもたらすことを目指して、ブロックチェーン向けの新しい実行環境を記述しています。Solanaのスピードとパフォーマンス、Ethereumのセキュリティと流動性を組み合わせています。従来のEVM設計とは異なり、トランザクションを直列ではなく並列で処理することにより、並列EVMは開発者が高性能なネットワーク上にアプリケーションを構築し、EVMの流動性や開発ツールを活用できるようにします。

3.2.1 Sei Network

Sei Networkは、高性能を中心に構築されたさまざまな分散型アプリケーションをホストするEVM互換のオープンソースLayer 1ブロックチェーンです。Seiは、ユーザーと開発者に低コストで高速な処理速度を提供することを目的として構築されており、並行実行はこのパフォーマンスとUXを実現するための重要な要素です。現在、Seiは390msのブロック確認時間を提供し、太平洋メインネット上で19億以上の取引を処理しています。

元々、Seiは確定的並列実行モデルを採用していました。ここでは、スマートコントラクトがシステムが衝突しないトランザクションを同時に実行するために事前に必要な状態アクセスを宣言します。彼らのV2アップグレードが始まると、Seiは代わりに楽観的な並列モデルに移行しています。つまり、すべてのトランザクションはネットワークに提出されると同時に並列で処理され(実行段階)、その後、前のトランザクションとの競合する情報を検討されます(検証段階)。2つ以上の競合するトランザクション、すなわち同じネットワーク状態にアクセスしようとするトランザクションが発生した場合、Seiはこの競合点を特定し、競合の性質に応じてトランザクションを再実行します(並列または順次)。

取引データを格納し、維持するために、SeiはSeiDBも導入します。これは、v1の不足点を改善し、並行実行を最適化するカスタムデータベースです。SeiDBは、冗長データの保管負荷を軽減し、効率的なディスク使用を維持してネットワークパフォーマンスを向上させることを目指しています。V2では、追跡や保管のために必要なメタデータ量を削減し、クラッシュ時のデータ復旧を支援するライトアヘッドログを有効にしています。

最後に、Seiは最近、Parallel Stackのローンチも発表しました。これは、Layer 2のスケーリングソリューション、つまりロールアップが並列実行を活用して恩恵を受けるためのオープンソースフレームワークです。

3.2.2 モナド

Monadは、Ethereumアプリケーションとインフラストラクチャのための完全なバイトコードとRPC互換性を持つ、進行中の並列EVMレイヤー1ブロックチェーンです。革新的な技術実装を通じて、Monadは、既存のブロックチェーンよりもよりインタラクティブな体験を提供することを目指しており、パフォーマンスと携帯性を最適化することで、取引コストを低減します。1秒のブロック時間と、最大10,000 TPSの確定性を実現します。

Monadは、並列実行とスーパースカラーパイプライン処理を実装して、取引の速度とスループットを最適化します。Sei v2と同様に、Monadは楽観的実行モデルを採用します。つまり、ネットワークはすべての着信トランザクションを同時に実行を開始し、その後、トランザクションを分析して検証し、競合を探し、必要に応じて再実行します。最終目標は、トランザクションが順次実行された場合と同一の結果となることです。

イーサリアムとの同期を維持するために、Monadはトランザクションをブロック内で線形順に並べ、各トランザクションを順次更新します。

現在のEthereumクライアントが提供する状態よりもブロックチェーンデータを効率的に維持およびアクセスするために、Monadは独自のカスタムMonadDBを作成しました。MonadDBはブロックチェーン向けにネイティブに構築されており、効率的な非同期ディスク操作のために高度なLinuxカーネル機能を活用しています。同期的な入出力アクセスの制約をなくし、非同期入出力(async I/O)アクセスを提供しています。これは並列実行を可能にするキー機能であり、システムは前のトランザクションのステートを読み取るために待機している間に、次のトランザクションの処理を開始できます。

単純なたとえを挙げると、多面的な食事(ミートボール入りスパゲッティ)を作ることを考えてみてください。関連する手順は、1)ソースの準備、2)ミートボールの調理、そして3)パスタの調理です。効率的なシェフは、まずパスタ用のお湯を沸かし、次にソースの材料の準備をし、その後、パスタを今や沸騰しているお湯に投入し、次にソースを調理し、最後にミートボールを作るというように、一度に一つのステップを行うのではなく、次に進む前に各タスクを完了させる方が効率的です。

3.3 ムーブ

Moveは、元々2019年にFacebookチームによって開発されたプログラミング言語で、現在は廃止されたDiemプロジェクト向けに作成されました。Moveは、スマートコントラクトとトランザクションデータを安全に処理し、他の言語に固有の攻撃ベクトル、例えば再入攻撃を排除するよう設計されています。

MoveVMは、並列化を活用して、より高速なトランザクション実行速度とより高い総合効率を実現するために、Moveベースのブロックチェーンのネイティブ実行環境として機能します。

3.3.1 Aptos

Aptosは、かつてのDiemプロジェクトのメンバーによって開発されたMoveベースのLayer 1ブロックチェーンであり、並列実行を実装してアプリケーション開発者に高性能な環境を提供します。Aptosは、ソフトウェアトランザクションメモリ(STM)並列制御メカニズムの改良実装であるBlock-STMを利用しています。

Block-STMは、楽観的並列実行を可能にするマルチスレッド並列実行エンジンで、トランザクションはブロック内で事前に順序付けされ、戦略的にシーケンス化されます。これは、衝突を効率的に解決し、これらのトランザクションを再実行するために重要です。 Aptosによる研究では、Block-STMの並列化を使用して理論上最大160K TPSをサポートできることがわかりました。

3.3.2 Sui

Aptosに似ているSuiは、Diemプロジェクトの元メンバーによって開発されたレイヤー1のブロックチェーンで、Move言語を利用しています。ただし、Suiは元のDiem設計からストレージモデルとアセット権限を変更したMoveのカスタム実装を利用しています。特に、これによりSuiは独立したトランザクションをオブジェクトとして表現するために状態ストレージモデルを利用できます。各オブジェクトはSuiの実行環境内で一意のIDを持ち、これによりシステムは容易に競合しないトランザクションを特定し並行して処理することができます。

Solanaと似て、Suiは決定論的並列実行を実装しており、取引が事前にアクセスする必要があるアカウントを指定することを必要とします。

3.3.3 ムーブメントラボ

Movementとは何ですか?

Movementは、Move上に構築する開発者向けツールセットやブロックチェーンインフラサービスを提供し、Move上での開発者が利益に簡単にアクセスできるように支援しています。Move開発者向けのAWSのような実行サービスプロバイダーとして運営されるMovementは、並列処理をコアデザイン機能として実装し、より高いスループットと全体的なネットワーク効率を実現しています。MoveVMはモジュラー実行環境であり、ブロックチェーンネットワークが必要に応じてトランザクション処理能力を拡張および調整できるようにし、トランザクションの処理と実行を並行して行う能力を高めることで、トランザクションの増加量をサポートします。

MoveVMアーキテクチャ

Movementは、EVMおよびMoveクライアントとの相互運用が可能なZK-rollupであるM2も展開します。 M2は、ブロック-STM並列化エンジンを継承し、その結果、数万のTPSを提供することが期待されています。

クロージング・ソウツ

4.1 今日の並列システムの課題

並行ブロックチェーンの開発に関する重要な質問や考慮事項について考える必要があります;

  • ネットワークは、並列実行を通じてより良いパフォーマンスを実現するためにどのようなトレードオフをしていますか?
    • ネットワークを保護するバリデーターの数が少ないほど、検証と実行速度が速くなりますが、これはバリデーターがネットワークに対して共謀しやすくなるため、ブロックチェーンのセキュリティが危険にさらされる可能性がありますか?
    • バリデーターが多数共有されていますか?これは暗号通貨システムと非暗号通貨システムの両方で遅延を最小限に抑えるための一般的な戦略ですが、特定のデータセンターが危険にさらされた場合、ネットワークにはどのような影響があるのでしょうか?
  • 楽観的並列システムでは、ネットワークがスケールするにつれて、無効な取引を再実行するプロセスはボトルネックを作成しますか? この効率はどのようにテストおよび評価されていますか?

高いレベルでは、並列ブロックチェーンは台帳の不整合リスク、つまり二重支出や取引の順序の変更(実際、これが連続実行の主な利点です)に直面します。確定的並列化は、基礎となるブロックチェーン上の取引の内部ラベリングシステムを作成することでこれに対処します。楽観的処理を実装するブロックチェーンは、使用するメカニズムが取引を検証して再実行するために安全で機能していること、およびパフォーマンスのために行われたトレードオフが合理的に実装されていることを確認する必要があります。

4.2 未来の展望 / 機会

コンピュータの歴史は、並列システムが直列システムよりも時間と共に効率的かつスケーラブルであることを教えてくれました。ポストSolana並列ブロックチェーンの台頭は、この考えが暗号インフラにも当てはまることを強調しています。さらにVitalikもそれに言及しています。並列化最近、EVMロールアップのスケーラビリティを向上させるための潜在的な主要な解決策の1つとして。一般的に言って、暗号通貨/ブロックチェーンの採用拡大は、今日よりもさらに最適なシステムを求めており、並列ブロックチェーンを含むものです。Solanaの最近のネットワークの問題は、並列ブロックチェーンの開発に改善の余地がたくさんあることを示しています。より多くのチームがオンチェーンのフロンティアの限界を押し広げ、次の大規模ユーザーコホートをブロックチェーンネイティブのアプリケーションやエコシステムに取り込もうとする中で、並列実行モデルは、Web2企業と同じくらい簡単にネットワークアクティビティの大きさに対応できるシステムを構築する直感的なフレームワークを提供します。

Works Cited

免責事項:

  1. この記事は[から転載されています群れ], Forward the Original Title‘Parallel Execution: The Next Generation of Blockchains’, All copyrights belong to the original author [ポール・ティモフェーエフ, MIKE JIN, そして GABE TRAMBLE]. If there are objections to this reprint, please contact the Gate Learnチームが迅速に対応します。

  2. 免責事項: この記事に表現されている意見は著者個人のものであり、投資アドバイスを構成するものではありません。

  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

並列実行: ブロックチェーンの次世代

上級5/10/2024, 10:43:24 AM
Shoal Research、暗号研究機関は、Solana(SVM)、parallel EVM(Sei、Monad)、MoveVM(Aptos、Sui、Movement)の進捗状況を含む、ブロックチェーンの並行分野の現在の関連プロジェクトを分析し、この分野で直面している課題と機会を分析しました。

序文

1.0 ブロックチェーン取引

ブロックチェーンは仮想マシンであり、分散ネットワーク上で動作するソフトウェアベースのコンピューティングモデルであり、誰でも参加できますが、単一のエンティティがコントロールするのは非常に困難です。ブロックチェーンの概念は、サトシ・ナコモトの有名なビットコイン白書(2008年)で初めて文字にされました。これは、ビットコインでの暗号的に保護されたピアツーピアの支払いを可能にする基本的なインフラストラクチャです。トランザクションはブロックチェーンにとって、ソーシャルメディアやインターネット企業にとってのログと同じであり、その特定のネットワークの活動記録として機能します。主な違いは、ブロックチェーン上のトランザクションは変更不可能であり、しばしば公開できるということです。

しかし、取引とは具体的に何でしょうか?

ブロックチェーン上の取引は、分散台帳上の1つのアドレスから別のアドレスにデジタル資産を転送することを含み、公開鍵暗号技術によって保護されます。取引は、分散型ピア・ツー・ピアの転送やさまざまな認証および検証プロセスに使用することができます。

ブロックチェーンエクスプローラーのように誰でも観察できるトランザクションの例SeiTrace

1.1 ブロックチェーン取引の仕組み

トランザクションが開始されると、つまりBobがいくつかのトークンをAliceに送ると、Bobのトランザクションは基礎となるブロックチェーンネットワークにブロードキャストされます。その後、ネットワーク上の専門ノードのクラスタが、トランザクションが正当であることを検証し、検証します。これらのノードの十分な数がトランザクションの内容を検証すると、トランザクションは他のユーザートランザクションとともにブロックに追加されます。ブロックがいっぱいになると、それがチェーンに追加され、そのために「ブロックチェーン」という名前が付けられます。Bobのトランザクションは今や安全で透明な元帳の一部であり、彼とAliceの両方が内容を検証できます。

一般的に言って、すべてのブロックチェーン取引には、ネットワークを運営および保護するノードが特定の一連の命令とパラメータを識別し実行するのに役立つメタデータが含まれています。各取引には、送信元の送信者によって入力された高レベルのデータがあり、これには送金額、送信先アドレス、取引を確認するデジタル署名などが含まれます。また、ネットワークや設計によって異なるが、自動的に作成および添付されるさまざまな低レベルのデータも存在します。

最終的には、ただし、トランザクションの実行前のネットワーキングレイヤーでの裏方に関与するプロセスは、ブロックチェーンの設計によって異なります。

1.1.1 メンプール

メモリープール、またはメンプールは、BitcoinやEthereumなどの従来のブロックチェーンネットワークによって実装された、ブロックチェーン設計の一般的な特徴です。メンプールは、単にブロックに追加されて実行される前の保留中のトランザクションのためのバッファーゾーンまたは「待合室」です。

より良く理解するために、メンプールを使用するブロックチェーン上のトランザクションのライフサイクルを示すことができます;

  1. ユーザーはトランザクションを開始し、署名します。
  2. ブロックチェーンネットワークに参加する専門ノードは、取引内容が適切なパラメータを含み、正当であることを検証します。
  3. 一度検証されると、取引は他の保留中の取引と共に公開メモリプールにルーティングされます。
  4. 最終的には、マイナーがブロックチェーン上で次のブロックを形成するために保留中の取引を選択する際に、マイナーフィーが他の取引と比較して支払われるガス料金に応じて、私たちのユーザーの保留中の取引が他の保留中の取引とクラスターを形成します。この段階で、取引のステータスは「成功」と表示されます。
  5. ある一定の時間またはブロックベースのしきい値が過ぎると、ブロック自体が最終化され、取引はブロックチェーン上に記録された変更不可能なログとなります。それ以外の場合には実行が非常に困難な51%攻撃の場合にのみ、妥協される可能性があります。

1.1.2. メンプールなし(Solana)

重要なのは、Solanaなどの一部のブロックチェーンは、mempoolを使用せず、代わりにトランザクションを直接ブロックプロデューサーに転送し、連続したブロックの生成を通じて高速かつスループットを実現していることです。

非メンプールブロックチェーン上のトランザクションのライフサイクルをたどりましょう:

  1. ユーザーは、使用しているアプリケーションのためにトランザクションを開始し署名します。
  2. アプリケーションはトランザクション情報をリモートプロシージャコール(RPC)サーバーにルーティングします。
  3. RPCプロバイダーは、現在の指定されたブロック生産者および次の3人の生産者にトランザクションを送信します。これは、現在のリーダーがトランザクションを時間内に実行できない場合の予防措置です。Solanaは、RPCがトランザクションをより簡単にルーティングするのに役立つスロットリーダースケジュールを採用しています。
  4. ブロック生産者は、署名された取引をコンセンサスノードに送信して検証します。
  5. コンセンサスノードは、トランザクションの内容を検証するために投票し、完了するとトランザクションの状態がRPC>アプリケーション>ユーザーに '成功' または '失敗' としてルーティングされます。
  6. mempoolベースのブロックチェーンと同様に、ブロック自体は、ある一定の時間またはブロックベースの閾値が経過した後に最終化されます。

1.2 順次実行

古いブロックチェーン、つまりBitcoinとEthereumは、取引のために連続した実行メカニズムを利用しています。ブロックチェーンに追加されるすべての取引は、ネットワークの状態の変更を呼び起こし、セキュリティの目的でVMは1回の状態変更のみを処理するように構造化されています。

これにより、基礎となるネットワークのスループットにおける大幅なボトルネックが生じており、ブロックに追加できる取引の数が制限されることで、待ち時間が長くなり、取引コストが異例の高騰を見せることがあり、ネットワークが使用不能になることがあります。さらに、連続実行モデルはハードウェアコンポーネントを非効率的に利用しており、コンピューティングの技術革新、つまり複数のプロセッサコアから恩恵を受けていません。

並列実行

2.0 パラレル実行とは何ですか?

並列計算は、コンピューターアーキテクチャの重要な構成要素であり、その起源は遡ることができます1950年代後半, しかし、その構想や理論はさらにさかのぼって追跡されています1837. 定義上、並列コンピューティングとは、複数の処理要素を同時に利用して操作を解決する行為を指し、より大きく複雑なタスクがシリアルな方法よりも効率的に完了するために、より小さなタスクに分割される。

元々は高性能コンピューティングシステムにのみ実装されていた並列コンピューティングは、コンピュータアーキテクチャにおいて主要なパラダイムとして進化し、インターネット時代における計算要求の指数関数的な増加と、過去数十年間の周波数スケーリングの制約によって悪化しています。

この建築基準は、主要なコンピューターが解決する主なタスクが取引の処理と実行、またはスマートコントラクトAからスマートコントラクトBへの価値の転送であるため、ブロックチェーンに同様に適用されます。したがって、並行実行という用語があります。

並列実行とは、トランザクションを直列で処理するのではなく、ブロックチェーンが複数の競合しないトランザクションを同時に処理できることを意味します。これにより、ブロックチェーンネットワークのスループットが大幅に向上し、よりスケーラブルで効率的になり、活動量やブロックスペースの需要が高い場合でも対応できるようになります。

より簡単な比喩として、複数のレーンを持つ食料品店の効率性を考えてみてください。全員が1つのレーンを使う場合との比較です。

なぜ並行実行が重要なのですか?

ブロックチェーンでの並行実行は、特にネットワークがより多くのトラフィックやリソース需要を見る際に、ネットワークの速度とパフォーマンスの効率を解放するように設計されています。暗号エコシステムの文脈では、並行実行とは、たとえばボブが最新の人気のあるNFTコレクションを作成したい場合や、アリスが彼女のお気に入りのメームコインを購入したい場合、ネットワークは両方のユーザーに対応し、パフォーマンスやユーザーエクスペリエンスの品質を損なうことなくサービスを提供します。

これは単なる直感的な生活の質の特徴として表れるかもしれませんが、並行実行によって可能になるネットワークパフォーマンスのアンロックは、低レイテンシーと高いボリュームを活用できる新しい革新的なユースケースやアプリケーションの開発に道を開いており、それ自体が次の大量のユーザーを暗号エコシステムにオンボーディングするための基盤を築いています。

並列実行はどのように機能しますか?

並列実行の前提は比較的簡単ですが、基礎となるブロックチェーンの設計に微妙な違いがあるため、並列実行プロセス自体がどのように進行するかが影響を受けます。並列実行を備えたブロックチェーンを設計する際に最も関連性のある特徴は、トランザクションがその基礎ネットワークの状態にアクセスできる能力です。これには口座残高、ストレージ、スマートコントラクトなどが含まれます。

ブロックチェーン上での並列実行は、決定論的または楽観的のいずれかに分類されます。Solanaのようなブロックチェーンで採用されている決定論的な並列実行は、トランザクションが事前にすべてのメモリ依存関係を宣言することを必要とし、つまり、グローバルステートのどの部分にアクセスするかを事前に宣言する必要があります。このステップにより、開発者に追加のオーバーヘッドが発生しますが、より広く、ネットワークは実行前に競合しないトランザクションを分類および特定することができるため、予測可能で効率的な最適化されたシステムが作成されます。一方、楽観的な並列実行は、すべてのトランザクションを並列で処理するように構造化されており、競合がないという前提の下で動作します。これにより、基礎となるブロックチェーンはトランザクションの実行をより速く提供できますが、競合が発生した場合は再実行の可能性があります。競合する2つのトランザクションが送信された場合、システムはそれらを再処理して再実行するか、並列または順次に実行することができます。

これらの設計の細部の意味をよりよく理解するためには、今日の並列実行の最前線を推進するチームのレンズを通じて並列実行の並行実行を分析することが役立つ場合があります。

現在の並列実行状態

これらの設計の緻密さの含意をよりよく理解するためには、現在並列実行の最前線を推進しているチームの視点を通して並列実行の並行実行を分析することが役立つかもしれません。

3.1 ソラナ仮想マシン(SVM)

Solanaは、テレコミュニケーション業界での創業者Anatoly Yakovenkoの以前の経験に触発され、並列実行を中心に設計された最初のブロックチェーンネットワークでした。Solanaは、物理学が許す限り高速に動作する開発者プラットフォームを提供することを目指しており、そのため並列計算によって解放される速度と効率は、シンプルで直感的な設計の選択肢でした。

Solanaの高速なスピードと高いスループットを実現するための重要な要素は、ネットワークの並列スマートコントラクトランタイム環境であるSealevelです。EVMやWASMベースの環境とは異なり、Sealevelはマルチスレッドアーキテクチャを採用しており、バリデータコアの容量に応じて複数のトランザクションを同時に処理することができます。

Solanaの並列実行を可能にする鍵は、取引が有効になると、ネットワークがその取引のために実行する指示のリストを割り当てることです。具体的には、どのアカウントや状態にアクセスし、どのような変更を行うかを決定することが重要です。これは、どの取引が非衝突であり同時に実行できるかを決定する鍵であり、同じ状態にアクセスしようとする取引が同時に行えるようにすることも可能にします。

空港の受託手荷物システムにラベルが提供する効率性を考慮してください。

Solanaは、同時読み書きを可能にするために状態データを格納および管理するために独自のカスタムaccountsDBであるCloudbreakを利用しています。 Cloudbreakは並列実行に最適化され、状態データを複数のノードに分散および管理するために水平方向にスケーリングします。

その並列アーキテクチャのおかげで、Solanaは大量の取引を処理し、それでも迅速に実行して、取引をほぼ即時に確定させることができます。Solanaは現在、平均で秒間2,000から10,000件の取引(TPS)を処理しています。さらに、EclipseなどのチームがSVMを実行環境として活用することを目指すLayer 2インフラストラクチャを展開するなど、SVMのユースケースがゆっくりと拡大しています。

3.2 パラレルEVM

Parallel EVMは、SolanaとEthereumの設計から「両方の世界の良いところ」をもたらすことを目指して、ブロックチェーン向けの新しい実行環境を記述しています。Solanaのスピードとパフォーマンス、Ethereumのセキュリティと流動性を組み合わせています。従来のEVM設計とは異なり、トランザクションを直列ではなく並列で処理することにより、並列EVMは開発者が高性能なネットワーク上にアプリケーションを構築し、EVMの流動性や開発ツールを活用できるようにします。

3.2.1 Sei Network

Sei Networkは、高性能を中心に構築されたさまざまな分散型アプリケーションをホストするEVM互換のオープンソースLayer 1ブロックチェーンです。Seiは、ユーザーと開発者に低コストで高速な処理速度を提供することを目的として構築されており、並行実行はこのパフォーマンスとUXを実現するための重要な要素です。現在、Seiは390msのブロック確認時間を提供し、太平洋メインネット上で19億以上の取引を処理しています。

元々、Seiは確定的並列実行モデルを採用していました。ここでは、スマートコントラクトがシステムが衝突しないトランザクションを同時に実行するために事前に必要な状態アクセスを宣言します。彼らのV2アップグレードが始まると、Seiは代わりに楽観的な並列モデルに移行しています。つまり、すべてのトランザクションはネットワークに提出されると同時に並列で処理され(実行段階)、その後、前のトランザクションとの競合する情報を検討されます(検証段階)。2つ以上の競合するトランザクション、すなわち同じネットワーク状態にアクセスしようとするトランザクションが発生した場合、Seiはこの競合点を特定し、競合の性質に応じてトランザクションを再実行します(並列または順次)。

取引データを格納し、維持するために、SeiはSeiDBも導入します。これは、v1の不足点を改善し、並行実行を最適化するカスタムデータベースです。SeiDBは、冗長データの保管負荷を軽減し、効率的なディスク使用を維持してネットワークパフォーマンスを向上させることを目指しています。V2では、追跡や保管のために必要なメタデータ量を削減し、クラッシュ時のデータ復旧を支援するライトアヘッドログを有効にしています。

最後に、Seiは最近、Parallel Stackのローンチも発表しました。これは、Layer 2のスケーリングソリューション、つまりロールアップが並列実行を活用して恩恵を受けるためのオープンソースフレームワークです。

3.2.2 モナド

Monadは、Ethereumアプリケーションとインフラストラクチャのための完全なバイトコードとRPC互換性を持つ、進行中の並列EVMレイヤー1ブロックチェーンです。革新的な技術実装を通じて、Monadは、既存のブロックチェーンよりもよりインタラクティブな体験を提供することを目指しており、パフォーマンスと携帯性を最適化することで、取引コストを低減します。1秒のブロック時間と、最大10,000 TPSの確定性を実現します。

Monadは、並列実行とスーパースカラーパイプライン処理を実装して、取引の速度とスループットを最適化します。Sei v2と同様に、Monadは楽観的実行モデルを採用します。つまり、ネットワークはすべての着信トランザクションを同時に実行を開始し、その後、トランザクションを分析して検証し、競合を探し、必要に応じて再実行します。最終目標は、トランザクションが順次実行された場合と同一の結果となることです。

イーサリアムとの同期を維持するために、Monadはトランザクションをブロック内で線形順に並べ、各トランザクションを順次更新します。

現在のEthereumクライアントが提供する状態よりもブロックチェーンデータを効率的に維持およびアクセスするために、Monadは独自のカスタムMonadDBを作成しました。MonadDBはブロックチェーン向けにネイティブに構築されており、効率的な非同期ディスク操作のために高度なLinuxカーネル機能を活用しています。同期的な入出力アクセスの制約をなくし、非同期入出力(async I/O)アクセスを提供しています。これは並列実行を可能にするキー機能であり、システムは前のトランザクションのステートを読み取るために待機している間に、次のトランザクションの処理を開始できます。

単純なたとえを挙げると、多面的な食事(ミートボール入りスパゲッティ)を作ることを考えてみてください。関連する手順は、1)ソースの準備、2)ミートボールの調理、そして3)パスタの調理です。効率的なシェフは、まずパスタ用のお湯を沸かし、次にソースの材料の準備をし、その後、パスタを今や沸騰しているお湯に投入し、次にソースを調理し、最後にミートボールを作るというように、一度に一つのステップを行うのではなく、次に進む前に各タスクを完了させる方が効率的です。

3.3 ムーブ

Moveは、元々2019年にFacebookチームによって開発されたプログラミング言語で、現在は廃止されたDiemプロジェクト向けに作成されました。Moveは、スマートコントラクトとトランザクションデータを安全に処理し、他の言語に固有の攻撃ベクトル、例えば再入攻撃を排除するよう設計されています。

MoveVMは、並列化を活用して、より高速なトランザクション実行速度とより高い総合効率を実現するために、Moveベースのブロックチェーンのネイティブ実行環境として機能します。

3.3.1 Aptos

Aptosは、かつてのDiemプロジェクトのメンバーによって開発されたMoveベースのLayer 1ブロックチェーンであり、並列実行を実装してアプリケーション開発者に高性能な環境を提供します。Aptosは、ソフトウェアトランザクションメモリ(STM)並列制御メカニズムの改良実装であるBlock-STMを利用しています。

Block-STMは、楽観的並列実行を可能にするマルチスレッド並列実行エンジンで、トランザクションはブロック内で事前に順序付けされ、戦略的にシーケンス化されます。これは、衝突を効率的に解決し、これらのトランザクションを再実行するために重要です。 Aptosによる研究では、Block-STMの並列化を使用して理論上最大160K TPSをサポートできることがわかりました。

3.3.2 Sui

Aptosに似ているSuiは、Diemプロジェクトの元メンバーによって開発されたレイヤー1のブロックチェーンで、Move言語を利用しています。ただし、Suiは元のDiem設計からストレージモデルとアセット権限を変更したMoveのカスタム実装を利用しています。特に、これによりSuiは独立したトランザクションをオブジェクトとして表現するために状態ストレージモデルを利用できます。各オブジェクトはSuiの実行環境内で一意のIDを持ち、これによりシステムは容易に競合しないトランザクションを特定し並行して処理することができます。

Solanaと似て、Suiは決定論的並列実行を実装しており、取引が事前にアクセスする必要があるアカウントを指定することを必要とします。

3.3.3 ムーブメントラボ

Movementとは何ですか?

Movementは、Move上に構築する開発者向けツールセットやブロックチェーンインフラサービスを提供し、Move上での開発者が利益に簡単にアクセスできるように支援しています。Move開発者向けのAWSのような実行サービスプロバイダーとして運営されるMovementは、並列処理をコアデザイン機能として実装し、より高いスループットと全体的なネットワーク効率を実現しています。MoveVMはモジュラー実行環境であり、ブロックチェーンネットワークが必要に応じてトランザクション処理能力を拡張および調整できるようにし、トランザクションの処理と実行を並行して行う能力を高めることで、トランザクションの増加量をサポートします。

MoveVMアーキテクチャ

Movementは、EVMおよびMoveクライアントとの相互運用が可能なZK-rollupであるM2も展開します。 M2は、ブロック-STM並列化エンジンを継承し、その結果、数万のTPSを提供することが期待されています。

クロージング・ソウツ

4.1 今日の並列システムの課題

並行ブロックチェーンの開発に関する重要な質問や考慮事項について考える必要があります;

  • ネットワークは、並列実行を通じてより良いパフォーマンスを実現するためにどのようなトレードオフをしていますか?
    • ネットワークを保護するバリデーターの数が少ないほど、検証と実行速度が速くなりますが、これはバリデーターがネットワークに対して共謀しやすくなるため、ブロックチェーンのセキュリティが危険にさらされる可能性がありますか?
    • バリデーターが多数共有されていますか?これは暗号通貨システムと非暗号通貨システムの両方で遅延を最小限に抑えるための一般的な戦略ですが、特定のデータセンターが危険にさらされた場合、ネットワークにはどのような影響があるのでしょうか?
  • 楽観的並列システムでは、ネットワークがスケールするにつれて、無効な取引を再実行するプロセスはボトルネックを作成しますか? この効率はどのようにテストおよび評価されていますか?

高いレベルでは、並列ブロックチェーンは台帳の不整合リスク、つまり二重支出や取引の順序の変更(実際、これが連続実行の主な利点です)に直面します。確定的並列化は、基礎となるブロックチェーン上の取引の内部ラベリングシステムを作成することでこれに対処します。楽観的処理を実装するブロックチェーンは、使用するメカニズムが取引を検証して再実行するために安全で機能していること、およびパフォーマンスのために行われたトレードオフが合理的に実装されていることを確認する必要があります。

4.2 未来の展望 / 機会

コンピュータの歴史は、並列システムが直列システムよりも時間と共に効率的かつスケーラブルであることを教えてくれました。ポストSolana並列ブロックチェーンの台頭は、この考えが暗号インフラにも当てはまることを強調しています。さらにVitalikもそれに言及しています。並列化最近、EVMロールアップのスケーラビリティを向上させるための潜在的な主要な解決策の1つとして。一般的に言って、暗号通貨/ブロックチェーンの採用拡大は、今日よりもさらに最適なシステムを求めており、並列ブロックチェーンを含むものです。Solanaの最近のネットワークの問題は、並列ブロックチェーンの開発に改善の余地がたくさんあることを示しています。より多くのチームがオンチェーンのフロンティアの限界を押し広げ、次の大規模ユーザーコホートをブロックチェーンネイティブのアプリケーションやエコシステムに取り込もうとする中で、並列実行モデルは、Web2企業と同じくらい簡単にネットワークアクティビティの大きさに対応できるシステムを構築する直感的なフレームワークを提供します。

Works Cited

免責事項:

  1. この記事は[から転載されています群れ], Forward the Original Title‘Parallel Execution: The Next Generation of Blockchains’, All copyrights belong to the original author [ポール・ティモフェーエフ, MIKE JIN, そして GABE TRAMBLE]. If there are objections to this reprint, please contact the Gate Learnチームが迅速に対応します。

  2. 免責事項: この記事に表現されている意見は著者個人のものであり、投資アドバイスを構成するものではありません。

  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!