カルダノの開発会社であるIOGは、同社のテクニカルアーキテクトであるダンカン・カウツ(Duncan Coutts)氏による、最新のカルダノ・ネットワーク・エンハンスメントであるDynamic P2P(ダイナミック・ピア・ツー・ピア)について解説した動画『Cardano Technical Briefing: Dynamic Peer-to-Peer by Duncan Coutts』を公開しました。
Dynamic P2Pのリリースには、SPOリレー同士の接続方法を自動化し、より効率的な情報交換、およびより良いネットワークパフォーマンスなどの多くの利点があります。
また、Dynamic P2Pは、ネットワークのパフォーマンス、セキュリティ、耐久性の継続的な改善をもたらすアップグレードでもあります。
広範な調査、テスト、シミュレーションに先立って展開された詳細に加えて、ダンカン氏によるカルダノの最新のネットワーク進化について学ぶことができます。
また、ダンカン氏は、カルダノ・テクニカルコミュニティから事前に提出された多数の質問にも回答します。
Dynamic P2Pのブログ投稿をチェックしてください。
https://iohk.io/jp/blog/posts/2023/03/16/dynamic-p2p-is-coming-to-cardano//
以下はIOが公開した動画「Cardano Technical Briefing: Dynamic Peer-to-Peer by Duncan Coutts」を翻訳したものです。
カルダノ・テクニカル・ブリーフィング:Dynamic P2P by Duncan Coutts
こんにちは、私はダンカン・クーツと申します。IOGでの私の仕事は、カルダノノードのアーキテクトです。私は長い間カルダノノードに取り組んできました。バイロンの初期段階からオリジナルのGenesis(ジェネシス)デプロイメントに関わっていましたが、責任者ではありませんでした。私の最大の功績は、チェビーリリースのためにカルダノを書き直したチームを率いたことです。それ以来、私はより将来を見据えたことに取り組んでおり、日々の仕事よりも少し離れています。そのため、カルダノShelleyが熱心に取り組んでいた頃よりも最近はあまり私の話を聞かなくなったかもしれません。
カルダノのネットワーク層とDynamic P2Pリリース
今日は、カルダノのネットワーク層とDynamic P2Pリリースについて話しましょう。ネットワーク層は、コンセンサスアルゴリズムのすべての情報伝達ニーズをサポートするノードのソフトウェア層です。これはコンセンサス層の下に位置しており、ノード間プロトコルと呼ばれ、ノード間の情報交換の異なる側面を扱う3つのミニプロトコルで構成されています。
特に、SPOはノードを設定する際に、ブロック・プロデューサーとリレーの2つの異なる役割を設定する必要があります。これらの異なる設定は、ネットワークの全体的なトポロジを考慮する上で重要であり、現在の設定からDynamic P2Pの展開に移行する際に変更されます。
Dynamic P2Pのリリースがもたらすネットワークの自動接続
Dynamic P2Pのリリースは、SPO、ブロックプロデューサー、リレーの間のトポロジーがどのように構築されるかを自動化します。ただし、このリリースは、SPOリレーをエンドユーザーノードに直接接続することに関するものではありません。代わりに、SPOリレー同士の接続方法を自動化することに関するものです。Ouroboros Genesis(ウロボロス・ジェネシス)をリリースした後は、これらのP2P機能に頼って、SPOリレーを直接エンドユーザーに接続することができます。
全体的に、Dynamic P2Pのリリースには、トポロジの自動化、より効率的な情報交換、およびより良いネットワークパフォーマンスなどの多くの利点があります。
このリリースでは、SPOリレー同士が接続する方法が変更されています。変更点は、このプロセスが自動化されることです。現在、SPOは、各リレーが接続するピア(Peer)のセットを静的に指定するために、やや手動の構成システムを使用する必要があります。しかし、これはいくつかの異なる方法で自動化されるようになります。
現在、SPOは、他のSPOのリレーのIPアドレスまたはDNS名を指定して、多数のリレーをリストする必要があります。常にある程度の数のリレーを接続する必要があるため、多数のリレーを使用する必要があります。しかし、静的なリストを持っていると、特定の時間にどのリレーがオンラインまたはオフラインであるかはわからないため、リストにあまりにも多くのリレーを記載する必要があります。これにより、少なくとも最小限の数がリストされることを保証できます。
このDynamic P2Pリリースを構成する自動化システムが大幅に改善されると、すべてのSPOリレーのセットが使用可能になります。50の静的なリストは必要なくなり、すべてのリレーが利用できます。そして、例えば20のターゲットが構成されます。20は合理的な数であり、他のピアが来たり去ったりしても、システムが常に他のSPOリレーへの接続のターゲット数を維持するようにします。これにより、上流接続のすべてにコストがかかるため、リソースの利用が向上します。
Dynamic P2Pがもたらす利点
Dynamic P2Pリリースには、全体的なセキュリティが向上するなど、いくつかの利点があります。
このリリースでは、全体のネットワーク・サービス妨害(DoS)攻撃または分散型サービス妨害(DDoS)攻撃に対する抵抗力をもたらします。これは、SPOがブロック・プロデューサーとリレーを完全に保護し、インターネットの残りの部分からファイアウォールで遮断することが容易になったためです。これは、ファイアウォールを設定して、すべての受信接続をブロックし、ブロック・プロデューサーからSPO自身のリレーへの出力接続を許可することで可能になります。このセキュリティ向上により、SPOのプロセスが簡素化されます。
公開リレーに加えて、ブロック・プロデューサーは公開されていない他のSPOとのプライベート・ピアリング契約を確立することもできます。これにより、ネットワーク全体へのDDoS攻撃に対する追加的な耐性が提供されます。これらの変更により、ネットワークのパフォーマンスと拡張性が向上するはずです。これは、P2PネットワークがDynamic P2Pリレーで構築され、最適解に近い最適化手順に従うためです。私たちは、この主張を裏付けるシミュレーションデータを持っています。
純粋にローカルな情報に基づくこの最適化手順は、理論上の最適解にかなり近づく結果をもたらします。完全自動化された手順は、ネットワーク上のブロックのブロードキャストにかかる時間を非常に短縮する優れた結果をもたらします。これは、手動で行う場合よりも遅延が増加する可能性がある他の方法と比較して、より良い結果です。
まず、この作業を手動で実行する必要がなくなりました。次に、このDynamic P2Pリリースは、ブロック拡散時間というブロックをネットワーク全体に配信するのにかかる時間に関して包括的な結果を提供するはずです。
カルダノ・ネットワーキング層の歴史と現在の状況、将来の展望
ネットワーキング層の歴史と現在の状況、将来の展望、そしてこのDynamic P2Pリリースが全体的な文脈にどのようにフィットするかを振り返りましょう。
最初に、Byronリリースの時点では、Federated Networkトポロジーがありました。つまり、IOGが最初にすべてのブロック生成ノードとリレーを実行していたことを意味します。大きなShelleyリリースがあったとき、ブロックの生成は、SPOがSPOブロックプロデューサーノードとSPOリレーとして参加することで行われました。しかし、IOGは、エンドユーザーや商人、取引所、その他のユーザーをサポートするために、いくつかのリレーを提供し続けています。
現在、私たちはP2PとFederated(連合型)トポロジーを組み合わせたハイブリッドモードを持っています。これは、SPOが互いに接続する方法が実際にはP2Pネットワークであるためですが、手動で構成されたピアツーピアネットワークです。Dynamic P2Pリリースは、それを自動化して手動構成から完全に自動化することで、それを変更します。
次のステップは、Oroborosアルゴリズムの後期バリエーションであるOroboros Genesisの展開です。数年前に学術論文として発表されたものの最終的に重要な部分をもたらします。それはGenesisから適切かつ安全にブートする方法です。これは、他の信頼できる中間者を必要とせずに後の段階でチェーンに信頼を確立することを意味します。Dynamic P2PリリースはP2P(ピア・ツー・ピア)ネットワークのメカニズムを提供し、Oroboros Genesisによって、エンドユーザーが他の信頼できる中間者を必要とせずにそのシステムに参加できるようになります。
P2Pおよびネットワーキングレイヤーの最終段階では、ピア(Peer)共有という機能があります。この機能により、SPOsだけでなく誰でも自分のマシンをリレーとして提供できます。つまり、ネットワークがリレーにSPOsに完全に依存しなくなるということです。
この機能の開発には、広範囲な研究開発段階が含まれます。これには、シミュレーションや協力による、グローバルなアウトカムを確立するためのローカルメカニズムの確立、ブロックがネットワーク全体で再ブロードキャストされる時間の短縮化などが含まれます。開発段階には、I/Oネットワークシミュレーションでのプロパティベースのテストや、シミュレートされた環境での広範な内部テストも含まれます。
この機能の導入は、注意深く段階的に行われます。アップグレードするとすぐに自動的にオンになるわけではありません。代わりに、設定で有効になり、各ノードをP2Pモードまたは旧モードで実行できます。誰でも適切なタイミングでオプトインできます。
最初に、SPOsには、リレーの少なくとも1つをP2Pモードで設定するように求められます。展開が進むにつれて、SPOsにはブロックプロデューサをP2Pモードで設定することが推奨されます。最終的に、SPOsは自分自身のブロックプロデューサとリレーをすべてP2Pモードで実行できるようになります。
ネットワークレイヤーとP2Pリリースについて、情報提供ができたことを願っています。
Q&A
次にこれから特にSPOsからのコミュニティからの質問を収集し、簡単にお答えします。
Q:Cold Peer、Hot Peer、Warm Peerとは?どのように機能するのか?
Cold Peer(コールド・ピア)、そしてHot Peerピア(ホット・ピア)は、アウトバウンド・ガバナーとも呼ばれる新しいP2Pインターナルの一部であり、これらの状態のいずれかのPeerを追跡します。コールドピアは、システムが接続していないノードです。Warm Peer(ウォーム・ピア)は、確立された接続を持つノードですが、コンセンサスプロトコル自体ではなく、監視およびパフォーマンス評価の目的で使用されます。Hot Peerは、コンセンサスプロトコルに使用されるノードです。Peerはこれらの異なる温度間で昇格または降格することができ、これらのアクションに対して非常にシンプルなポリシーを持つことができることがわかっています。ColdからWarmへの昇格はランダムに行うことができ、WarmからHotへの昇格もランダムに行うことができます。HotからWarmへの降格には非常に賢いポリシーが必要な唯一の場合は、最近の期間内に最も役に立たないヘッダを提供したPeerを継続的に測定することによって行われます。これらのPeerは降格され、他のいくつかのPeerがランダムに昇格します。この最適化手順は、システム全体を動作させるのに十分です。
Q:非公開ノードの実行が可能になるのか?
非公開ノードとは、SPOリレーとして登録されていないノードのことです。ブロックチェーン上でSPOリレーとして登録しなくてもリレーを実行することができますが、リストに掲載されていない非公開ノードは、P2Pモードを使用している他のSPOからの着信接続を受け取ることはできません。ただし、非公開ノードからの送信接続は可能であり、他のSPOとのプライベート・ピアリング・アレンジメントにより着信接続を許可することができます。
Q:ledger peer(レジャー:台帳ピア)とは?
ledger peer(レジャー:台帳ピア)とは、SPOが他のSPOに接続するためにリレーを構成するために使用するpeerのセットであるレジャーから選択されるpeerです。
Q:Ouroboros Genesisは、P2Pメインネット展開の必須条件なのか?
OroborosとP2Pは技術的にはほとんど独立していますが、エンドユーザーがP2Pネットワークに参加できるようにするために必要です。P2Pは、ノードがデータを交換し接続を確立するためのトポロジを整理するメカニズムまたはネットワークレイヤを提供し、Oroborosはエンドユーザーのセキュリティを可能にします。
Q:指定したIPからの着信しか受け付けないように設定することは可能か?
リレーからブロック・プロデューサーノードへの着信接続を許可するためにブロック・プロデューサーノードを構成する必要はありません。Dynamic P2Pリリースでは、すべての接続は潜在的に双方向です。代わりに、推奨されるセットアップは、ブロック・プロデューサーがファイアウォールを介して自分自身のSPOリレーに出口接続を確立し、すべての着信接続をブロックすることです。これは、コンテンツプロトコルが同じTCP接続で両方向に実行できるため、どちらが最初に接続したかに関係なく、コンセンサスプロトコルが任意の方向で実行されるためです。
詳細については、Twitterまたは技術的なディスカッションのためのDiscordに続いてください。
SPO Telegramグループ:https://t.me/SPOannouncements
Discord:https://discord.com/invite/inputoutput