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

上級5/20/2024, 4:55:29 AM
この記事では、ブロックチェーン領域における並列実行技術の応用、特にトランザクション効率の向上、コストの削減、ユーザーエクスペリエンスの向上について説明します。Solanaは、並列実行のパイオニアとして、処理速度とスループットの優位性を発揮しています。この記事では、トランザクションのライフサイクル、mempoolの役割、mempoolのないブロックチェーンの運用など、ブロックチェーントランザクションがどのように機能するかについて詳しく説明します。並列実行により、ブロックチェーンは競合しない複数のトランザクションを同時に処理できるため、ネットワークのスループットとスケーラビリティが向上します。また、決定論的モデルや楽観的モデルなど、並列実行のさまざまなモデルについても説明し、Solana、Parallel EVM、Sei Network、Monad、Move language、Aptos、Sui、Movement Labsなど、市場で並列実行を推進しているチームやプロジェクトを分析します。

序曲

1.0 ブロックチェーン取引

ブロックチェーンは、誰でも参加できるが、単一のエンティティを制御するのは非常に難しい、分散型の物理コンピュータネットワーク上で実行されるソフトウェアベースのコンピューティングモデルであり、仮想マシンです。ブロックチェーンの概念は、最初にSatoshi Nakomotoの悪名高いBitcoinの白書(2008年)に書かれ、Bitcoinでの暗号化されたピアツーピアの支払いを可能にする中核的なインフラとして導入されました。トランザクションは、ソーシャルメディアやインターネット企業にとってのログのようなものであり、特定のネットワークの活動の記録として機能します。その違いは、ブロックチェーン上のトランザクションが変更不可能であり、しばしば公開で観察可能であることです。

Shoal Researchをお読みいただきありがとうございます!無料で購読して、新しい投稿を受け取り、私の仕事をサポートしてください。

購読する

しかし、トランザクションとはいったい何なのでしょうか?

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


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

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

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

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

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

1.1.1 メンプール

メモリプール、またはメンプール、は、ビットコインやイーサリアムなどの従来のブロックチェーンネットワークに実装されている、ブロックチェーン設計の一般的な機能です。メンプールは、単に、ブロックに追加されて実行されるまでの保留中のトランザクションのためのバッファゾーン、または'待合室'です。

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

  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 連続実行

古いブロックチェーン、すなわちビットコインとイーサリアムは、取引のために連続した実行メカニズムを利用しています。ブロックチェーンに追加されるすべての取引は、ネットワークの状態に変更をもたらし、セキュリティの目的でVMは1度に1つの状態変更のみを処理するように構造化されています。

これにより、基礎となるネットワークのスループットにおいて著しいボトルネックが生じ、ブロックに追加できる取引の数が制限されることで、より長い待ち時間や前例のない取引コストの急増が発生し、ネットワークが時折使用不能になる可能性があります。さらに、連続実行モデルはハードウェアコンポーネントを非効率的に利用し、したがって、コンピューティングの突破口である複数のプロセッサコアを活用することができません。

並列実行

2.0 並列実行とは何ですか?

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

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

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

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

より簡単な例えを挙げると、複数のレーンがある食料品店での効率性と、全員が1つのレーンを共有する場合とを比較できます。

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

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

これは単に直感的な生活の質の機能として捉えられるかもしれませんが、並列実行によって可能になるネットワークパフォーマンスのアンロックは、低レイテンシと高いボリュームを活用できる新しい革新的なユースケースやアプリケーションの開発へとつながり、それ自体が次世代のユーザーを暗号エコシステムに取り込むための基盤を築いています。

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

並列実行の前提は比較的単純ですが、基盤となるブロックチェーンの設計の微妙な違いは、並列実行のプロセス自体がどのように展開されるかに影響を与えます。並列実行でブロックチェーンを設計する上で最も重要な機能は、口座残高、ストレージ、スマートコントラクトなど、基盤となるネットワークの状態にトランザクションがアクセスできることです。

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

これらの設計の微妙なニュアンスの意味をよりよく理解するためには、今日の並列実行の最前線を推進するチームのレンズを通じて並列実行を分析することが役立ちます。

並列実行の現状

これらの設計の微妙な側面の含意をよりよく理解するためには、現在の並列実行の最前線を推進するチームのレンズを通して並列実行を分析することが役立つことがあります。

3.1 Solana Virtual Machine (SVM)

Solanaは、創設者Anatoly Yakovenkoが通信業界での以前の経験からインスピレーションを受けて設計された最初のブロックチェーンネットワークでした。 Solanaは、物理学が許す限り速く動作する開発者プラットフォームを提供することを目指しており、そのため、並列コンピューティングによって解除される速度と効率は、単純で直感的な設計選択でした。

SMベースの環境では、Sealevelはマルチスレッドアーキテクチャを採用しており、検証者コアの容量に応じて複数のトランザクションを同時に処理できます。

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

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

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

その並列アーキテクチャのおかげで、Solanaは多数のトランザクションを処理し、迅速に実行することができ、トランザクションはほぼ即座に確定されます。Solanaは現在、平均で1秒あたり2,000から10,000件のトランザクション(TPS)を処理しています。さらに、SVMのユースケースは徐々に拡大しており、EclipseなどのチームがSVMを実行環境として活用することを目的としたLayer 2インフラを展開しています。

3.2 パラレルEVM

Parallel EVMは、ソラナとイーサリアムの設計から「ベストオブ両方」をもたらすことを目指して、ブロックチェーンのための新しい実行環境を記述しています。ソラナのスピードとパフォーマンス、イーサリアムのセキュリティと流動性を兼ね備えています。従来の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は最近、レイヤー2スケーリングソリューション(ロールアップ)が並列実行を利用してメリットを享受できるようにするためのオープンソースフレームワークであるParallel Stackの立ち上げも発表しました。

3.2.2 モナド

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

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

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

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

簡単な類推として、多面的な食事(ミートボールの入ったスパゲッティ)を作ることを考えてみてください。関連する手順は以下の通りです:1)ソースの準備、2)ミートボールの調理、3)パスタの調理。効率的なシェフは、まずパスタ用の水を沸騰させ、次にソースの材料を準備し、その後、沸騰した水でパスタを投入し、その後、ソースを調理し、最後にミートボールを調理するといった具合に、各段階を一度に行うのではなく、一つの作業を完了させて次に進む方が効率的です。

3.3 移動

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

MoveVMは、並列処理を活用して、より高速なトランザクション実行速度と全体的な効率の向上を実現するMoveベースのブロックチェーンのネイティブ実行環境として機能します。

3.3.1 Aptos

Aptosは、元Diemプロジェクトのメンバーによって開発されたMoveベースのレイヤー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開発者向けのAWSのような実行サービスプロバイダーとして運用されるMovementは、並列処理をコアデザイン機能として実装し、より高いスループットとより高い全体的なネットワーク効率を実現しています。MoveVMは、ブロックチェーンネットワークがトランザクション処理能力を必要に応じて拡張および調整できるようにするモジュラーな実行環境であり、トランザクションの増加ボリュームをサポートし、並行してトランザクションを処理および実行する能力を強化しています。

MoveVMアーキテクチャ

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

クロージング思考

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

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

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

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

4.2 未来の展望 / 機会

コンピューターの歴史からわかるように、並列システムは逐次システムよりも時間とともに効率的かつスケーラブルであることが多いことを教えてくれました。ポストSolanaの並列ブロックチェーンの台頭は、この考え方が暗号インフラにも当てはまることを強調しています。さらに、Vitalikもそれに言及しています。並列化は、最近のEVMロールアップのスケーラビリティを向上させるための重要なソリューションの1つとして考えられています。大まかに言えば、暗号/ブロックチェーンの採用拡大には、並列ブロックチェーンを含む、現在利用可能なものよりも最適なシステムが必要です。Solanaの最近のネットワーク闘争は、並列ブロックチェーンの開発に改善の余地がたくさんあることを浮き彫りにしました。より多くのチームがオンチェーンのフロンティアの限界を押し広げ、次の大量のユーザーコホートをオンボードし、ブロックチェーンネイティブのアプリケーションやエコシステムに採用しようとする中、並列実行モデルは、Web2企業に匹敵する規模で大規模なネットワークアクティビティを効率的に処理できるシステムを構築するための直感的なフレームワークを提供します。

財務や税務に関するアドバイスはありません。このニュースレターの目的は純粋に教育的なものであり、投資アドバイス、法的アドバイス、資産の売買の要求、または財務上の決定を下すための提案と見なされるべきではありません。税務アドバイスに代わるものではありません。会計士に相談し、ご自身で調査を行ってください。

開示事項。 すべての投稿は著者個人の意見であり、雇用主の意見ではありません。 この投稿は、Aster Foundationからのスポンサードを受けています。 Shoal Researchはこのイニシアチブのために資金提供を受けていますが、スポンサーは分析内容に影響を与えません。 Shoal Researchでは、すべてのコンテンツが客観的で独立していることを確認することを目指しています。 当社の内部レビュープロセスは最高水準の誠実さを維持し、利益相反が開示され、厳格に管理されて信頼性と公平性が保たれています。

免責事項:

  1. この記事は[ から転載されましたショールリサーチ]. すべての著作権は元の著者に帰属します [ポール・ティモフェーエフ、マイク・ジン、そしてゲイブ・トランブル]. If there are objections to this reprint, please contact the Gate レーンチームが promptly に対処します。
  2. 責任の免責事項:この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗作は禁止されています。

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

上級5/20/2024, 4:55:29 AM
この記事では、ブロックチェーン領域における並列実行技術の応用、特にトランザクション効率の向上、コストの削減、ユーザーエクスペリエンスの向上について説明します。Solanaは、並列実行のパイオニアとして、処理速度とスループットの優位性を発揮しています。この記事では、トランザクションのライフサイクル、mempoolの役割、mempoolのないブロックチェーンの運用など、ブロックチェーントランザクションがどのように機能するかについて詳しく説明します。並列実行により、ブロックチェーンは競合しない複数のトランザクションを同時に処理できるため、ネットワークのスループットとスケーラビリティが向上します。また、決定論的モデルや楽観的モデルなど、並列実行のさまざまなモデルについても説明し、Solana、Parallel EVM、Sei Network、Monad、Move language、Aptos、Sui、Movement Labsなど、市場で並列実行を推進しているチームやプロジェクトを分析します。

序曲

1.0 ブロックチェーン取引

ブロックチェーンは、誰でも参加できるが、単一のエンティティを制御するのは非常に難しい、分散型の物理コンピュータネットワーク上で実行されるソフトウェアベースのコンピューティングモデルであり、仮想マシンです。ブロックチェーンの概念は、最初にSatoshi Nakomotoの悪名高いBitcoinの白書(2008年)に書かれ、Bitcoinでの暗号化されたピアツーピアの支払いを可能にする中核的なインフラとして導入されました。トランザクションは、ソーシャルメディアやインターネット企業にとってのログのようなものであり、特定のネットワークの活動の記録として機能します。その違いは、ブロックチェーン上のトランザクションが変更不可能であり、しばしば公開で観察可能であることです。

Shoal Researchをお読みいただきありがとうございます!無料で購読して、新しい投稿を受け取り、私の仕事をサポートしてください。

購読する

しかし、トランザクションとはいったい何なのでしょうか?

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


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

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

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

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

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

1.1.1 メンプール

メモリプール、またはメンプール、は、ビットコインやイーサリアムなどの従来のブロックチェーンネットワークに実装されている、ブロックチェーン設計の一般的な機能です。メンプールは、単に、ブロックに追加されて実行されるまでの保留中のトランザクションのためのバッファゾーン、または'待合室'です。

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

  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 連続実行

古いブロックチェーン、すなわちビットコインとイーサリアムは、取引のために連続した実行メカニズムを利用しています。ブロックチェーンに追加されるすべての取引は、ネットワークの状態に変更をもたらし、セキュリティの目的でVMは1度に1つの状態変更のみを処理するように構造化されています。

これにより、基礎となるネットワークのスループットにおいて著しいボトルネックが生じ、ブロックに追加できる取引の数が制限されることで、より長い待ち時間や前例のない取引コストの急増が発生し、ネットワークが時折使用不能になる可能性があります。さらに、連続実行モデルはハードウェアコンポーネントを非効率的に利用し、したがって、コンピューティングの突破口である複数のプロセッサコアを活用することができません。

並列実行

2.0 並列実行とは何ですか?

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

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

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

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

より簡単な例えを挙げると、複数のレーンがある食料品店での効率性と、全員が1つのレーンを共有する場合とを比較できます。

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

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

これは単に直感的な生活の質の機能として捉えられるかもしれませんが、並列実行によって可能になるネットワークパフォーマンスのアンロックは、低レイテンシと高いボリュームを活用できる新しい革新的なユースケースやアプリケーションの開発へとつながり、それ自体が次世代のユーザーを暗号エコシステムに取り込むための基盤を築いています。

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

並列実行の前提は比較的単純ですが、基盤となるブロックチェーンの設計の微妙な違いは、並列実行のプロセス自体がどのように展開されるかに影響を与えます。並列実行でブロックチェーンを設計する上で最も重要な機能は、口座残高、ストレージ、スマートコントラクトなど、基盤となるネットワークの状態にトランザクションがアクセスできることです。

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

これらの設計の微妙なニュアンスの意味をよりよく理解するためには、今日の並列実行の最前線を推進するチームのレンズを通じて並列実行を分析することが役立ちます。

並列実行の現状

これらの設計の微妙な側面の含意をよりよく理解するためには、現在の並列実行の最前線を推進するチームのレンズを通して並列実行を分析することが役立つことがあります。

3.1 Solana Virtual Machine (SVM)

Solanaは、創設者Anatoly Yakovenkoが通信業界での以前の経験からインスピレーションを受けて設計された最初のブロックチェーンネットワークでした。 Solanaは、物理学が許す限り速く動作する開発者プラットフォームを提供することを目指しており、そのため、並列コンピューティングによって解除される速度と効率は、単純で直感的な設計選択でした。

SMベースの環境では、Sealevelはマルチスレッドアーキテクチャを採用しており、検証者コアの容量に応じて複数のトランザクションを同時に処理できます。

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

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

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

その並列アーキテクチャのおかげで、Solanaは多数のトランザクションを処理し、迅速に実行することができ、トランザクションはほぼ即座に確定されます。Solanaは現在、平均で1秒あたり2,000から10,000件のトランザクション(TPS)を処理しています。さらに、SVMのユースケースは徐々に拡大しており、EclipseなどのチームがSVMを実行環境として活用することを目的としたLayer 2インフラを展開しています。

3.2 パラレルEVM

Parallel EVMは、ソラナとイーサリアムの設計から「ベストオブ両方」をもたらすことを目指して、ブロックチェーンのための新しい実行環境を記述しています。ソラナのスピードとパフォーマンス、イーサリアムのセキュリティと流動性を兼ね備えています。従来の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は最近、レイヤー2スケーリングソリューション(ロールアップ)が並列実行を利用してメリットを享受できるようにするためのオープンソースフレームワークであるParallel Stackの立ち上げも発表しました。

3.2.2 モナド

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

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

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

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

簡単な類推として、多面的な食事(ミートボールの入ったスパゲッティ)を作ることを考えてみてください。関連する手順は以下の通りです:1)ソースの準備、2)ミートボールの調理、3)パスタの調理。効率的なシェフは、まずパスタ用の水を沸騰させ、次にソースの材料を準備し、その後、沸騰した水でパスタを投入し、その後、ソースを調理し、最後にミートボールを調理するといった具合に、各段階を一度に行うのではなく、一つの作業を完了させて次に進む方が効率的です。

3.3 移動

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

MoveVMは、並列処理を活用して、より高速なトランザクション実行速度と全体的な効率の向上を実現するMoveベースのブロックチェーンのネイティブ実行環境として機能します。

3.3.1 Aptos

Aptosは、元Diemプロジェクトのメンバーによって開発されたMoveベースのレイヤー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開発者向けのAWSのような実行サービスプロバイダーとして運用されるMovementは、並列処理をコアデザイン機能として実装し、より高いスループットとより高い全体的なネットワーク効率を実現しています。MoveVMは、ブロックチェーンネットワークがトランザクション処理能力を必要に応じて拡張および調整できるようにするモジュラーな実行環境であり、トランザクションの増加ボリュームをサポートし、並行してトランザクションを処理および実行する能力を強化しています。

MoveVMアーキテクチャ

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

クロージング思考

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

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

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

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

4.2 未来の展望 / 機会

コンピューターの歴史からわかるように、並列システムは逐次システムよりも時間とともに効率的かつスケーラブルであることが多いことを教えてくれました。ポストSolanaの並列ブロックチェーンの台頭は、この考え方が暗号インフラにも当てはまることを強調しています。さらに、Vitalikもそれに言及しています。並列化は、最近のEVMロールアップのスケーラビリティを向上させるための重要なソリューションの1つとして考えられています。大まかに言えば、暗号/ブロックチェーンの採用拡大には、並列ブロックチェーンを含む、現在利用可能なものよりも最適なシステムが必要です。Solanaの最近のネットワーク闘争は、並列ブロックチェーンの開発に改善の余地がたくさんあることを浮き彫りにしました。より多くのチームがオンチェーンのフロンティアの限界を押し広げ、次の大量のユーザーコホートをオンボードし、ブロックチェーンネイティブのアプリケーションやエコシステムに採用しようとする中、並列実行モデルは、Web2企業に匹敵する規模で大規模なネットワークアクティビティを効率的に処理できるシステムを構築するための直感的なフレームワークを提供します。

財務や税務に関するアドバイスはありません。このニュースレターの目的は純粋に教育的なものであり、投資アドバイス、法的アドバイス、資産の売買の要求、または財務上の決定を下すための提案と見なされるべきではありません。税務アドバイスに代わるものではありません。会計士に相談し、ご自身で調査を行ってください。

開示事項。 すべての投稿は著者個人の意見であり、雇用主の意見ではありません。 この投稿は、Aster Foundationからのスポンサードを受けています。 Shoal Researchはこのイニシアチブのために資金提供を受けていますが、スポンサーは分析内容に影響を与えません。 Shoal Researchでは、すべてのコンテンツが客観的で独立していることを確認することを目指しています。 当社の内部レビュープロセスは最高水準の誠実さを維持し、利益相反が開示され、厳格に管理されて信頼性と公平性が保たれています。

免責事項:

  1. この記事は[ から転載されましたショールリサーチ]. すべての著作権は元の著者に帰属します [ポール・ティモフェーエフ、マイク・ジン、そしてゲイブ・トランブル]. If there are objections to this reprint, please contact the Gate レーンチームが promptly に対処します。
  2. 責任の免責事項:この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗作は禁止されています。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!