以下はIOGブログに掲載された記事「Introducing pipelining: Cardano’s consensus layer scaling solution」を翻訳したものです。
パイプラインの導入:カルダノのコンセンサスレイヤースケーリングソリューション
by John Woods 2022年2月1日 4 mins read
パイプラインは、2022年に導入される重要なスケーリング改善策の1つです。その仕組みと、なぜそれが重要なのかを説明します。
パイプラインは、配管工が行うリフォームのようなものだと思われても仕方がないでしょう。ある意味、これは真実からそれほど離れていません。パイプラインは、事実上、カルダノの「パイプライン」を進化させたものです。これは、今年の私たちのスケーリング計画における重要な要素であり、エコシステムの成長に合わせてカルダノの容量を柔軟にするための、私たちの方法論を示す一連の公開ステップのうちの1つです。
ブロックチェーンの成長と競争力を維持するためには、スケーリングとスループットが極めて重要な考慮事項となります。カルダノが開発のBASHO(芭蕉)期に入った今、私たちはカルダノがエコシステムのニーズの高まりに対応できるようなスケーラビリティを確保することに焦点を合わせています。つまり、基礎となるプロトコルであるOuroboros Praosが、現在カルダノ上で展開されている、あるいは起動を予定している多数の分散型アプリケーションに対して十分に速く動作することを保証する必要があるのです。
カルダノは、一連の慎重なステップで着実に最適化され、需要の増加に応じて将来の成長に向けて慎重かつ整然とカルダノをスケーリングしていく予定です。1月上旬にリリースされたノード1.33.0によって導入された変更は、ブロックサイズやメモリユニットなど、いくつかのネットワークパラメータを変更するための追加の余地を私たちに与えてくれました。ここでの調整は、カルダノが大量のネットワークトラフィックをどのように処理するかに直接関係するため、私たちは引き続きネットワークパフォーマンスを注意深く監視しています。
現実世界のネットワークパフォーマンスと、重要なことですが、パラメータ変更の累積的な影響を注意深く観察し続けることが、このプロセスを通じて鍵となります。各アップデート後、さらなる調整を行う前に、少なくとも1つのエポック(5日間)にわたって慎重に監視・評価します。システムの設計と導入に広範な研究とエンジニアリング作業が行われたのと同様に、分散型ネットワークアーキテクチャは、実際のユーザーの行動と使用に基づいて拡張される必要があります。
パイプラインの導入
パイプライン化、より正確には拡散パイプライン化とは、コンセンサス層を改良し、ブロックの伝搬を高速化するものです。これにより、ヘッドルームがさらに向上し、カルダノの性能と競争力をさらに高めることが可能になる。
この技術がどのように意図した目標を達成するのかを理解するために、現在のブロック伝搬の仕組みをおさらいしておこう。
現在、ブロックはチェーン上を移動する際に6つのステップを経ている。
- ブロックヘッダの送信
- ブロックヘッダ検証
- ブロック本体の要求と送信
- ブロックボディの検証およびローカルチェーンの拡張
- ブロックヘッダの下流ノードへの送信
- ブロックボディの下流ノードへの送信
ブロックの旅は非常にシリアライズされたものでです。すべてのステップは、すべてのノードで、毎回同じ順序で行われます。ノードの量とブロックの数が増え続けることを考えると、ブロックの伝送には相当な時間がかかる。
拡散パイプラインは、これらのステップのいくつかを重ね合わせ、同時進行で行われるようにします。これにより、時間を節約し、スループットを向上させることができます。
この技術による時間の節約は、カルダノをさらにスケールアップさせるための、以下のような変更を含む、さらなる余裕につながるでしょう。
- ブロックサイズ – ブロックが大きければ大きいほど、より多くのトランザクションとスクリプトを運ぶことができます。
- プルータスのメモリ制限 – プルータスのスクリプトが実行可能なメモリ量
- Plutus CPU limit – スクリプトをより効率的に実行するために、より多くの計算機資源を割り当てることができます。
パイプラインの実装
拡散パイプラインの設計原則の1つは、チェーンへの「破壊的」な変更を避けながら、より高速なブロック伝搬を実現することでした。ノードがこれらの確立されたメカニズムに依存しているため、私たちはカルダノですでに行われているプロトコル、プリミティブ、インタラクションを削除したくありませんでした。私たちは完全な後方互換性を求めたので、現在の仕組みを変える代わりに、新しい望ましいブロックを見たときに、完全な検証の前に、購読しているエンティティに事前に通知する役割を持つ新しいミニプロトコルを追加しています。
パイプライン化によってもたらされる重要な変化は、ピアに事前通知し、検証される前にブロックを与えることができることです。これにより、下流のピアは新しいブロック本体を事前にフェッチすることができます。これにより、複数のホップをまたぐブロックの検証にかかる時間を劇的に短縮できるため、多くの時間を節約することができます。
結論として
パイプラインは、今年のカルダノのスケーリングを支える柱のひとつに過ぎません。これらの変更を組み合わせることで、カルダノは今年、競合他社よりも高速で、分散型金融(DeFi)のプラットフォームとして高い競争力を持つ位置へと導かれるでしょう。
主なポイント
- ノードの数やブロックの数が増え続けると、ブロックの転送にかなりの時間がかかるようになります。
- Diffusion pipeliningは、ノードが下流のピアに受信ブロックを事前に通知し、ピアが新しいブロック本体を事前にフェッチできるようにすることで、ブロック伝搬を高速化します。
- これにより、より大きなブロックの伝送や、サイズなどにより多くの計算資源を必要とするPlutusスクリプトの実行に使用できる時間が節約されます。
- パイプラインは通常のノードリリースで展開でき、ハードフォークも必要ありません。
Fernando Sanchezが寄稿しました。