ダイナミックP2Pがメインネットで利用可能に
ノードv.1.35.6のリリースはダイナミックピアツーピア(P2P)ネットワーキング搭載。ネットワーク参加者は、静的な設定を必要としない自動ノード通信をテストできます
2023年 3月 16日 9 分で読めます
ダイナミックP2PネットワークはCardanoにとって重要な進化であり、ネットワークのパフォーマンス、復元力、分散化をさらに推進します。ピア選択プロセスを自動化することで、ダイナミックP2Pは分散しているノード間で強化された通信を可能にし、リレーノードまたはブロック生成ノードの実行プロセスを簡素化します。これにより、静的な設定や手動によるステークプールオペレーター(SPO)の入力が不要になります。
ダイナミックP2Pは、ノードv.1.35.6の組み込み機能として本日リリース。SPOコミュニティでは、リレーの1つをP2Pトポロジモードを使用するよう更新して、P2P機能をテストすることが推奨されています。今後数週間にわたって、IOGおよびCFチームはSPOコミュニティとともにネットワーク接続を評価し、ダイナミックP2P機能のスムーズなロールアウトを保証します。
ここでは、Cardanoネットワークの進化とダイナミックP2Pがもたらす機能について詳しく説明します。
接続性
Cardanoのネットワークプロトコルは、標準的な通信インフラを使用して、ノードとそのインタラクションを統合システムに結合します。ネットワークは、すべてのアクティブノードにトランザクションおよびブロックの情報を拡散します。
Cardanoノードを設定するには、次の2つの方法があります。
- ブロック生成ノードとして、Cardanoブロックチェーン上のブロックを生成します 。SPOはブロック生成ノードを実行します。これは、ブロック情報を受信するための着信接続と、生成されたブロックを伝播するための発信接続を必要とします。P2Pは各接続の双方向の使用を可能にするため、接続の順序は重要ではありません。
- リレーノードとして、ネットワーク内の他のリレーノードと通信し、ブロック生成ノードからブロックをブロードキャストする役割を果たします。リレーノードは、ブロック生成者がインターネット全体に直接さらされないようにするための「防御層」としても機能します。
通信遅延を最小限に抑え、最大限の復元力を確保
このネットワークは、通信遅延を最小限に抑え、障害、容量の制約、または悪意のある行為に対するネットワークの復元力を最大化することを目的として設計されています。
IOGは、システムが効果的にブロックを追加し、トランザクションを検証するために、SPOが各ブロック生成ノードに少なくとも2つのリレーノードを配置することを常に推奨してきました。これにより、セキュリティが強化され、サービス拒否(DoS)攻撃が阻止されます。
以前の記事で述べたように、Cardanoのネットワークは、最初の連合型構造からハイブリッドおよび現在のP2Pモデルに進化しました。ネットワークは、Ouroboros Genesisやピア共有など、今後追加される機能によって進化し続けます。
- 連合型:2017年のByron開発フェーズで導入。IOGコアノードとリレーノードがネットワークを維持し、ユーザー、ウォレット、取引所を接続。
- ハイブリッド:2020年のShelley開発フェーズ以降、ブロック生成ノードは信頼できるリレーノードや、コミュニティが手動で開発し管理するトポロジーアップデーターと呼ばれるツールを介して送受信を実行。
- ダイナミックP2P:現在リリースされているダイナミックP2Pは、ネットワークパフォーマンスを最適化するための自動化と復元力を提供。SPOのリレーノードは、自己検出と最適化によって相互に自動的に接続可能。
- Ouroboros Genesis:開発中。自分のノードまたはDaedalusウォレットを実行している人は誰でも、完全に分散化された自己管理型ネットワークに接続。
- ピア共有:開発中。ピア共有は、Cardanoノードネットワーク全体のチェーンに登録されていない潜在的なピアの検出を簡易化。このフェーズでは、SPOのリソースを使用するだけでなく、誰でもネットワークの実行に貢献可能に。
現在のネットワークの状態:ハイブリッドモード
現在、ブロック生成ノードは、ブロックを受信して伝播するために着信接続と発信接続の両方を必要とします。ただし、これらの接続の(設定での)選択は、トポロジーアップデーターツールを使用して手動で行います。このツールは、SPOがネットワーク内の他のノードに接続するようにノードを設定し、ネットワークの変更(ステーク、パフォーマンス、可用性など)に関する更新情報を受信するのに役立ちます。
ツールを手動で実行するために、SPOの時間と労力が費やされます。リレーを更新する際、SPOはブロック生成ノードがネットワークに接続されていることを確認する必要があります。そうしないと、ブロック生成スロットと報酬を逃す可能性があります。
ダイナミックP2Pは接続を自動化
ダイナミックP2Pにより、自己検出と最適化によってSPOリレー間の自動接続が可能になるため、ハイブリッド設定で必要となる静的設定や手動によるSPOメンテナンスが不要になります。P2Pにより、ノードやルーティングの障害などの変更に対してネットワークのパフォーマンスと復元力が向上し、分散された数千ものノード間の情報フローも合理化されます。
ダイナミックP2Pの仕組み
P2Pは、静的設定の選択を自動化するだけではなく、より動的なものです。現在、SPOは、例えば他の50のSPOノードに接続するようにノードを設定する場合があります。多くのノードがオフラインだったり、アドレスを変更している場合があるため、これはかなり大きな数です。効率的な通信には20接続で十分ですが、静的設定のためにSPOはオーバープロビジョニングが必要になる場合があります。
ダイナミックP2P設定では、SPOは20接続の設定をターゲットにすることができます。これは、50どころか、数千個のSPOリレーから選択されます。オフラインであったりオフラインになったりした場合は、設定されたターゲットを満たすために、セットアップが自動的に新しいリレーを選択します。これは、設定が50ピアの静的プールに制限されなくなったことを意味します。
P2Pでは、SPO間で直接ピア接続を行うためのより高度な設定も可能です。例えば、2つのSPOがリレー間の接続を維持する必要があり、それぞれに2つのリレーがある場合、他のSPOの2つのリレーをリストし、少なくとも1つの接続をターゲットにしたピアグループを設定できます。これは、オーバープロビジョニングの必要性がなく、1つのリレーがダウンした場合でもSPOは自動でフェールオーバーとなることを意味します。静的設定では、1つだけをリストして復元力を得ないか、または両方をリストしてオーバープロビジョニング(より多くのリソースを使用)するか選択する必要がありました。
最後に、P2Pはピアの選択を最適化して、ネットワーク全体への総拡散時間を最小限に抑えます。これは継続的かつ自動的に行われます。IOGの内部調査では、純粋にローカル情報に基づいた政策は、最適に近いグローバルな成果を達成できることが示されています。これは、最初にブロックヘッダーを提供し、後でチェーンに到達するピアの頻度を測定します。このメトリックでもっとも有用でないピアは、定期的に「チャーンアウト」され、ランダムに選択された他のピアに置き換えられます。シミュレーションの結果、この単純な最適化手法により、24時間オーダーの比較的少ない反復回数でほぼ最適な結果に到達することが示されました。
詳細は、技術仕様を参照してください。
今後もSPOコミュニティと最新情報を共有します。SPO TelegramグループおよびDiscordチャネルでディスカッションにご参加ください。
最新の記事
Quality Engineering at IO: bridging research and reality in software development 筆者: Ivan Irakoze
20 November 2024
ブラックホーク空へ:ハリケーン「へリーン」を受けて英雄達を輸送 筆者: Fernando Sanchez
29 October 2024
ワイオミングのBlockchain StampedeでCardano Day 筆者: Alejandro Garcia
21 October 2024