ユーザーが取引を開始し、署名する。
ブロックチェーンネットワークに参加する専門ノードが、取引内容の正当性を検証し、適切なパラメータが含まれていることを確認します。
検証されると、トランザクションはパブリックメンプールに送られ、他の保留中のトランザクションと一緒にパッケージされるのを待つ。
最終的に、ユーザーの保留中のトランザクションは、ミムプール内の他のトランザクションのガス代と比較して、トランザクションのために支払ったガス代に基づいて選択され、他の保留中のトランザクションに加わり、ブロックチェーン上の次のブロックを形成する。この時点で、トランザクションのステータスは「成功」となる。
一定の時間またはブロック生成のしきい値が経過すると、ブロック自体が確定され、トランザクションはブロックチェーン上の不変のログとなります。
メモリプールなし(Solana)
Solanaのようないくつかのブロックチェーンが、mempoolを使用せず、代わりにトランザクションを転送することは注目に値する。代わりに、連続的なブロック生成によって高速かつ高スループットを達成する方法として、トランザクションをブロック生成者に直接転送します。
非メンプールのブロックチェーンを通して、トランザクションのライフサイクルを理解しましょう。
ユーザーは使用しているアプリのトランザクションを開始し、署名する。
アプリケーションはトランザクション情報をリモートプロシージャーコール(RPC)サーバーにルーティングします。
RPCプロバイダーは、トランザクションを現在指定されているブロック生産者と、次の3つの生産者に送信します。これは、現在のリーダーがトランザクションをタイムリーに実行できない場合の予防措置です。.
その後、ブロックプロデューサーは署名されたトランザクションをコンセンサスノードに送り、検証を受けます。
コンセンサスノードはトランザクションを検証するために投票し、それが完了すると、トランザクションのステータスは「成功」または「失敗」のいずれかとしてRPC >アプリケーション>ユーザーに送り返されます。「失敗 "のどちらかである。
mempoolベースのブロックチェーンと同様に、ブロック自体は、一定の時間またはブロックベースのしきい値が経過した後に確定されます。
逐次実行
ビットコインやイーサに代表される古いブロックチェーンは、トランザクションの逐次実行メカニズムを使用しています。ブロックチェーンに追加された各トランザクションは、ネットワークの状態の変更をトリガーし、仮想マシン(VM)は、セキュリティの目的でのみ、一度に1つの状態変更を処理するように設計されています。
このため、基礎となるネットワークのスループットに大きなボトルネックが生じます。ブロックに追加できるトランザクション数が制限されているため、待ち時間が長くなり、トランザクションコストがかつてないほど急上昇し、時にはネットワークが使用不能になることさえあるからだ。さらに、逐次実行モデルでは、非常に非効率的なハードウェアコンポーネントを使用するため、マルチプロセッサコアのようなコンピューティングのブレークスルーの恩恵を受けることができません。strong>
並列コンピューティングは、コンピュータ・アーキテクチャの重要な構成要素であり、その起源は1950年代後半にさかのぼりますが、そのアイデアと理論は1837年までさかのぼります。定義上、並列コンピューティングは、より大きく、より複雑なタスクが、直列方式よりも効率的に完了するために、より小さなタスクに分割される操作を解決するために、複数の処理要素を同時に使用することを指します。
もともとはハイパフォーマンス・コンピューティング・システムにのみ実装されていた並列コンピューティングは、インターネット時代に計算の需要が指数関数的に増加し、過去数十年にわたって周波数スケーリングの制約が強化されたため、今日のコンピュータ・アーキテクチャにおける支配的なパラダイムへと進化しました。
このアーキテクチャ標準はブロックチェーンにも当てはまりますが、コンピュータが対処する主なタスクがトランザクションの処理と実行、つまりスマートコントラクトAからスマートコントラクトBへの価値の移転であることを除けば、それゆえ並列実行という用語が使われています。
並列実行とは、トランザクションを逐次処理する代わりに、ブロックチェーンが複数の、競合しないトランザクションを同時に処理できることを意味します。これにより、ブロックチェーンネットワークのスループットを大幅に向上させることができ、よりスケーラブルで、より高いアクティビティの負荷とブロックスペースの要件をより効率的に処理できるようになります。
理解を簡単にするために、食料品店でのチェックアウトの効率を想像してみてください。
なぜ並列実行が重要なのか
ブロックチェーンにおける並列実行は、ネットワークの速度とパフォーマンスを向上させるように設計されています。.暗号エコシステムの文脈では、ボブが最新の人気NFTシリーズを鋳造し、アリスがお気に入りのモデューロコインを購入したい場合、ネットワークはパフォーマンスとユーザーエクスペリエンスを損なうことなく、両方のユーザーに同時にサービスを提供します。
これは直感的なQOL機能のように見えるかもしれませんが、並列実行によって開放されるネットワーク性能の向上は、低遅延と大容量を活用する革新的なユースケースやアプリの開発に道を開きます。
並列実行の仕組み
並列実行の概念は比較的単純ですが、基盤となるブロックチェーンの設計の詳細は、並列実行プロセス自体のパフォーマンスに影響します。並列実行が可能なブロックチェーンを設計する上で最も重要な特徴は、トランザクションが口座残高、ストレージ、スマートコントラクトなど、基盤となるネットワークの状態にアクセスできることです。
ブロックチェーン上の並列実行は、決定論的なものと楽観的なものに分類できます。Solanaで採用されている決定論的並列実行では、基本的にトランザクションが事前にすべてのメモリ依存関係、つまりグローバル状態のどの部分にアクセスしたいかを宣言する必要があります。このステップは開発者にさらなるオーバーヘッドをもたらすが、ネットワークが実行前に競合しないトランザクションをソートして識別することを可能にし、予測可能で効率的な最適化システムを構築する。対照的に、楽観的並列実行構造は、競合がないことを前提に、すべてのトランザクションを並列に処理するように設計されている。これにより、基礎となるブロックチェーンはより高速なトランザクションの実行が可能になるが、コンフリクトが発生した場合、後で再実行が必要になる可能性がある。競合する2つのトランザクションが見つかった場合、つまり同じネットワーク状態にアクセスしようとするトランザクションが見つかった場合、システムはそれらを並列または逐次的に再処理し、再実行することができる。
これらの設計の詳細の影響をよりよく理解するためには、今日並列実行のフロンティアを牽引しているチームのレンズを通して並列実行を分析することが役に立つかもしれません。
並列実行の現在の市場環境
Solana仮想マシン(SVM)
Solanaは並列実行を中心に設計された最初のブロックチェーンネットワークです。solanaは、並列実行を中心に設計された初のブロックチェーンネットワークであり、創設者であるAnatoly Yakovenkoの電気通信業界での過去の経験に触発されています。solanaは、可能な限り高速に動作する開発プラットフォームを提供することを目指しているため、並列コンピューティングの速度と効率性は、シンプルで直感的な設計の選択です。
Sealevelは、ソラナネットワークの並列スマートコントラクト実行環境です。Sealevelは、ソラナネットワークの並列スマートコントラクト実行環境であり、その高速性と高スループットを可能にする重要なコンポーネントです。EVMやWASMベースの環境とは異なり、Sealevelはマルチスレッドアーキテクチャを採用しており、バリデータコアの容量内で複数のトランザクションを同時に処理できる。
ソラーナの並列実行の鍵は、トランザクションが有効になると、ネットワークがそのトランザクションの実行命令セットを割り当てることです。これは、どのトランザクションが競合せず、同時に実行できるかを決定する鍵であり、同時に同じ状態にアクセスしようとするトランザクションが同時に実行されることも可能にします。
空港の受託手荷物システムでタグ付けによって提供される効率性を考えてみましょう。
Solanaはまた、トランザクションの同時読み取りと書き込みをサポートするために、状態データの保存と管理にカスタムアカウントDBであるCloudbreakを活用しています。クラウドブレイクは並列実行に最適化されており、複数のノードにステータスデータを分散して管理するために水平方向に拡張することができます。
Solanaは並列アーキテクチャの利点を生かし、大量のトランザクションを処理しながらも高速に実行することができ、トランザクションにほぼ瞬時に終端処理を行うことができます。Solanaは現在、平均2,000~10,000トランザクション/秒(TPS)を処理しています。さらに、Eclipseのようなチームが実行環境としてSVMを活用するように設計されたレイヤー2インフラを展開するにつれて、SVMのユースケースは徐々に、しかし着実に拡大しています。
パラレルEVM
パラレルEVMは、ソラナとイーサリアムの設計の長所を組み合わせるように設計された新しいブロックチェーン実行環境について説明しています。すなわち、ソラナのスピードとパフォーマンス、イーサリアムのセキュリティと流動性です。従来のEVM設計とは異なり、トランザクションを逐次ではなく並列に処理することで、パラレルEVMは、開発者がEVM流動性や開発ツールへの接続性を活用しながら、高性能ネットワーク上でアプリケーションを構築することを可能にします。
Seiネットワーク
Seiネットワークは、オープンソースでEVM互換のレイヤー1ブロックチェーンであり、高性能EVMを中心に構築された幅広い分散型アプリケーションをサポートします。Seiは、ユーザーや開発者にとって高速でコスト効率に優れたものとなるよう設計されており、並列実行はこのパフォーマンスとユーザー体験を実現するための重要な要素となっている。現在、Seiは390ミリ秒のブロック確認時間を提供し、その太平洋メインネット上で19億以上のトランザクションを処理しています。
元々、Seiは決定論的並列実行モデルを使用しており、スマートコントラクトは、システムが競合しないトランザクションを同時に実行できるように、事前に必要な状態アクセスを宣言していました。つまり、すべてのトランザクションはネットワークに送信されると並行して処理され(実行フェーズ)、検証フェーズでは以前のトランザクションとの競合に関する情報がチェックされる。2つ以上の競合するトランザクションが見つかった場合、つまり同じネットワーク状態にアクセスしようとするトランザクションが見つかった場合、Seiはこの競合のポイントを認識し、競合の性質に応じて、トランザクションを並列または順次に再実行する。
トランザクションデータを保存・管理するために、SeiDBを導入します。SeiDBの目標は、冗長なデータを保存するオーバーヘッドを削減し、効率的なディスク使用を維持してネットワークパフォーマンスを向上させることです。V2では、追跡と保存に必要なメタデータの量を削減し、クラッシュ時のデータ復旧を支援するために事前に書き込まれたロギングを可能にします。
最後に、Seiは最近、オープンソースの並列スタック(Parallel Stack)のリリースも発表しました。
Monad
Monadは、イーサリアムのアプリケーションとインフラに完全なバイトコードとRPCの互換性を提供する、今後のパラレルEVMレイヤー1ブロックチェーンです。多くの革新的な技術的実装を通じて、Monadは、取引コストを低く抑えながら、1秒のブロックタイムと最大10,000TPSの究極の決定性でパフォーマンスと移植性を最適化することにより、既存のブロックチェーンよりもインタラクティブな体験を提供することを目指しています。
Monadは並列実行とスーパースカラー・パイプライン技術を実装し、トランザクションの速度とスループットを最適化します。Sei v2と同様に、Monadは楽観的実行モデルを使用します。これは、ネットワークがすべての受信トランザクションの実行を同時に開始し、トランザクションを分析および検証して競合を探し、それに応じて再実行することを意味します。
イーサネットと同期を取りながら、モナドがブロック内のトランザクションをソートすることは重要です。Monadはブロック内のトランザクションを線形順序でソートし、各トランザクションを順次更新します。
現在のEtherクライアントが提供する状態よりも効率的にブロックチェーンのデータを維持しアクセスするために、Monadはブロックチェーン用にネイティブに構築された独自のカスタムMonadDBを作成しました。同期入出力アクセスの制限をなくすことで、MonadDBは非同期入出力(async I/O)アクセスを提供します。これは並列実行のための重要な機能であり、システムが前のトランザクションの状態を読み込むのを待っている間に次のトランザクションの処理を開始できるようにします。
簡単な例えとして、多段階の料理(例えばミートボール入りスパゲティ)を考えてみましょう。1)ソースを準備し、2)ミートボールを調理し、3)パスタを調理する。一度に1つのステップを完了し、それぞれの作業の後に次のステップに移るのではなく、効率的な料理人はスパゲッティのお湯を沸かし、次にソースの材料を準備し、沸騰したお湯でスパゲッティを茹で、次にソースを茹で、最後にミートボールを茹でる。
ムーヴ
ムーヴは元々、フェイスブックのチームが2019年に今は放棄されたDiemプロジェクトのために開発したプログラミング言語だ。Moveはスマートコントラクトとトランザクションデータを安全な方法で扱うように設計されており、リエントランシー攻撃など他の言語に特有の攻撃ベクトルを排除している。
MoveVMはMoveベースのブロックチェーンのローカル実行環境として機能し、並列化を活用してより高速なトランザクション実行と全体的な効率の向上を実現します。
Aptos
Aptosは、Diemプロジェクトの元メンバーによって開発されたMoveベースのレイヤー1ブロックチェーンで、並列実行によってアプリケーション開発者に高性能な環境を提供します。Aptosは、ソフトウェア・トランザクション・メモリ(STM)の並行性制御メカニズムを改良した実装であるBlock-STMを活用しています。
Block-STMはマルチスレッド並列実行エンジンです。並列実行エンジンである。Aptosの研究によると、Block-STMを使用した並列実行は、理論的には最大160,000 TPSをサポートすることができます。
水
Block-STMはマルチスレッド並列実行エンジンであり、楽観的な並列実行を可能にします。strong>
Aptosと同様、Suiは元Diemプロジェクトのメンバーによって開発されたレイヤー1のブロックチェーンで、Move言語を使用しています。しかし、SuiはカスタムMove実装を使用しており、ストレージモデルとアセットパーミッションをオリジナルのDiem設計から変更している。特に、これによりSuiはステートフル・ストレージ・モデルを使って個々のトランザクションをオブジェクトとして表現することができる。各オブジェクトはSuiの実行環境において一意のIDを持ち、システムは競合しないトランザクションを容易に識別し、それらを並列処理することができる。
Solanaと同様に、Suiは決定論的並列実行を実装している。Solanaと同様に、Suiは決定論的並列実行を実装しており、トランザクションはどの口座にアクセスする必要があるかを事前に宣言する必要がある。
ムーブメント・ラボ
ムーブメントは、開発者がムーブ上で構築する利点を簡単に利用できるように、開発者ツールとブロックチェーン基盤サービスのスイートを構築しています。開発者がMove上で構築するメリットを簡単に利用できるようにするためです。Move開発者向けのAWSのような実行アズ・ア・サービス・プラットフォームとして、Movementは並列化を設計の中核機能として組み込み、より高いスループットとネットワーク全体の効率化を可能にします。MoveVMはモジュール式の実行環境であり、ブロックチェーン・ネットワークが必要に応じてトランザクション処理能力を拡張・適応させ、トランザクションの処理と実行を並列化する能力を強化することで、増大するトランザクション量をサポートします。トランザクションの処理と実行を並列化する能力を強化します。
ムーブメントはまた、M2を発表します。M2はBlock-STM並列化エンジンを継承し、結果として数万TPSを達成する見込みです。
並列システムの課題
並列ブロックチェーンの開発について熟考すべき重要な質問と考慮事項がいくつかあります:
並列実行によってより良いパフォーマンスを達成するためにネットワークが行ってきたトレードオフとは何でしょうか?並列実行によってより良いパフォーマンスを達成するためにネットワークが行ったトレードオフとは何でしょうか?
検証者が少ないことで、より高速な検証と実行からネットワークを守ることができますが、これによってブロックチェーンのセキュリティが損なわれ、ブロックチェーンの実行が困難になることはないでしょうか?ブロックチェーンの安全性は損なわれ、検証者の共犯行為に対してより脆弱になるのでしょうか?
多数の検証者が同居しているのでしょうか?これは暗号化システムでも非暗号化システムでも待ち時間を最小化するための一般的な戦略ですが、特定のデータセンターが侵害された場合、ネットワークはどうなるのでしょうか?
楽観的並列システムの場合、無効なトランザクションを再実行するプロセスは、ネットワークがスケールするにつれてボトルネックになるのでしょうか?この効率性はどのようにテストされ、評価されるのでしょうか?
高いレベルでは、並列ブロックチェーンは台帳の不整合、つまり二重支払いや取引の順序のばらつき(これは本当に逐次実行の主な利点です)のリスクに直面します。決定論的並列処理では、基礎となるブロックチェーン上のトランザクションに内部タグ付けシステムを構築することでこれに対処する。楽観的処理を実装するブロックチェーンは、トランザクションの検証と再実行に使用するメカニズムが安全かつ実用的であること、そしてパフォーマンスのトレードオフを合理的に実装できることを保証しなければならない。
今後の展望
コンピュータの歴史は、並列システムは逐次システムよりも長期的に効率的でスケーラブルになる傾向があることを教えています。並列ブロックチェーンの台頭は、暗号インフラにもこのコンセプトが適用できることを強調している。Vitalik氏でさえ、EVMロールアップのスケーラビリティを向上させる潜在的な主要ソリューションの1つとして並列化に言及している。大雑把に言えば、暗号/ブロックチェーンの普及拡大には、並列ブロックチェーンを含め、現在利用可能なものよりも優れたシステムが必要になります。solanaの最近のネットワーク・チャレンジは、並列ブロックチェーン開発にどれだけの改善の余地があるかを浮き彫りにしています。より多くのチームがオンチェーン・フロンティアの境界を押し広げ、ブロックチェーンネイティブなアプリケーションやエコシステムに次の大規模なユーザーグループや採用を導入しようとする中、並列実行モデルは、ネットワーク活動の規模を効率的に処理し、Web2企業の規模に容易に対応できるシステムを構築するための直感的なフレームワークを提供します。