ブログ > 2021 > May > Cardano分散化は続く:P2Pデプロイの洞察

Cardano分散化は続く:P2Pデプロイの洞察

ステークプールはまもなくP2P自動接続のテストが可能に

2021年 5月 11日 Marcin Szamotulski 7 分で読めます

Cardanoネットワークの分散化は、長期的なサステナビリティ、回復性、中央集権的統治機関からの独立性を確保するうえでのカギとなります。ブロック生成が完全に分散化された今、次の焦点は分散型ステークプールオペレーター(SPO)エコシステムを開発し、分散されたノード間に信頼性の高い効果的な接続を構築することに置かれています。

ブロックとトランザクションを検証する力をステークプールオペレーターに付与するためには、ネットワークソフトウェアの強化が必要です。接続マネージャーのデプロイを伴うP2Pガバナーの有効化により、4月後半、P2Pプライベートテストネットのリリースが可能となりました。現在私たちはこのエンジニアリングテストネットを査定しており、その後招待制によるSPOグループの協力でテストおよび調整を行うP2P準パブリックテストネットを展開します。

P2Pガバナーに関する記事では、ネットワークアーキテクチャー、およびノード間で直接自動通信を可能にするミニプロトコルとコンポーネントの関係について説明しました。ここでは、接続モデルがピアの自動接続をどのように可能にするに至ったのかを査定し、プライベートテストネットの結果を省察します。

ネットワーク接続性の進化

Cardanoが発表されたとき、Byronネットワークの接続モデルは連合型で稼働されていました。この設定においてIOHKは、コアノードおよびリレーノードを維持していました。このリレーノードは他の200程のリレーノードと接続されていました(図1)。

図1:Byron連合型ネットワーク構造

昨年のShelley公開により、Cardanoはハイブリッド設定で機能し始めました。ステークプールはコアノードとリレーノードを手動で接続することによりP2Pネットワークを構築することが可能となり、また、7つの連合型リレーノードがこの移行期のネットワーク維持に協力しました(図2)。

図2:Shelley初期ハイブリッドネットワーク構造

3月以来、ステークプールがP2P接続の手動トポロジーに従うことにより、ブロック生成は完全に分散化されています。これは、SPOが世界中で登録されたリレーノードのリストを使って、他のピアと接続するために設定を構築していることを意味します。この効率を上げるためには、IOが実行するリレーノードに頼ることなくノードの自動通信を可能にすることが不可欠です。したがって、ネットワークチームは現在自動化したP2Pコードを配信し、プールオペレーターがより分散化されたネットワークを構築および実行できるようにしています。 この方法で、P2Pメインネットが配信されると、Cardanoは完全にコミュニティが実行するノードで維持されるようになります(図3)。

図3:ノードの自動通信を備えた最終的なネットワーク構造

P2Pテストネットとノードの通信

P2Pロールアウトの第一段階は、先月のP2Pプライベートテストネット開始でした。これは以下のコンポーネントの基本機能のテストに使用されています。

  • P2Pガバナー:ホット、ウォーム、コールドの各ピアグループを管理し、ノードが各タイプのピアの目標数を得ることを確保する。
  • 接続マネージャー:アウトバウンド接続の作成、インバウンド接続の登録、ステータスの追跡を行い、完全双方向のTCP接続の再使用を可能にする。
  • サーバー:接続を受け入れ、動的なレート制限を実行する。
  • インバウンドプロトコルガバナー:インバウンド接続側の実行およびステータス追跡を担う。これには各リモートピアのステータス(コールド、ウォーム、ホット)および、各インバウンドミニプロトコルのステータスの追跡が含まれる。

P2Pシステムはプライベート環境で展開され、8ノード間でメインネットへの接続をテストし、アクティブなSPOリレーノードとの通信を確立しました。これらはさらに、他のリレーノードおよびブロック生成ノードと接続されます。このシステムにより、ノードはオンチェーンのステークプールレジストリーを使用してステークプールリレーを発見することが可能になります。レジストリーには各リレーのDNS名またはIPアドレスが含まれています。

テストの結果、ノードはピアを任意に選択して(メインネットのピアも含む)通信できることが示されました。「アップストリーム」メトリクスの使用は、パフォーマンスが最低なピアを破棄し、接続する新たなピアをランダムに選定することを可能にしました。このポリシーは大規模なシミュレーション(10,000ノード)で実施され、最適に近い結果が得られています。ライブテストでは、最適化手順の複数のイテレーションが見られました。また、さまざまなロケーションで近くおよび遠くのピアとの幅広いピア接続が発生したことも観測されました。これは世界各地で実行されている8つのノードすべてに見られました。

ネットワークチームとDevOpsチームは現在協力してテストネット環境の改善に努めています。準パブリックテストネットに招かれているすべてのSPOは、ピアとの直接接続を確立することができます。ここには最も効率的な結果を配信するための、機能強化とテストプロセスに関する作業も含まれています。したがって、ローカルルートピアの新たなターゲットを導入するために、チームは既知の確立されたアクティブなピアのターゲットなどの関連機能のテストを仕上げています。

まもなくP2P準パブリックテストネットが開始されます。ここではSPOパートナーの小グループの協力により初期テストを実施し、その後より幅広くSPOコミュニティに公開していく予定です。ここでも、コミュニティからの早期のフィードバックや意見がテスト、イテレーション、改良プロセスとの要となり、完全に自動化され、分散化されたCardanoメインネットのP2Pアーキテクチャーへと進んでいきます。

本稿の執筆にあたっては、Karl Knutsson、Duncan Doutts、Neil Davies、Prashanti Naik、Olga Hryniukの諸氏からご協力いただきました。

Marcin Szamotulski

Marcin Szamotulski

Software Engineering Lead

Engineering