カルダノは世界規模のネットワーク障害へどう対抗したのか

2020年8月30日日曜日の午前10時UTC(午前12時CEST)に、米国を拠点とするインターネットサービスプロバイダーのCenturyLinkで重大なネットワーク障害が発生しました。

この時ほぼ瞬時に、世界中の多くのネットワークおよびITインフラス監視システムが異常を検知しました。シスコ社のライブ表示サイトであるThousandEyes Outage でも、大規模な異常が示されました。

この問題の原因となったBGPルーティング(注:経路制御プロトコル(Border Gateway Protocol)) の誤作動について説明します。RPKI(アドレス資源の割り振りや割り当てを証明するための公開鍵基盤))が従来使用されていますが、それでもこのような通知の失敗が時々起こり得ます。この信頼性の問題の解決策として「暗号」を用いることができる事を示してみましょう。

これは、カルダノシェリーメインネットに起こりうる影響を確認する最初の良いチャンスになるでしょう。

シェリーメインネットの立ち上げ後の最初の月には、自動でのP2Pシステムにはまだなっていません。代わりに、プールオペレーターは手動での接続先リストを管理できます。 または、TopologyUpdater(接続状態最新化装置)サービスから半自動で生成されたリストを使用します。

この開発段階において、安定性をどう維持するか?

突然の世界的なルーティング(経路)の問題によって、通信が孤立し、クラスタ(かたまり)が形成されたでしょうか?多くのオペレーターが、簡略化のためIOHKブートストラップノード(接続点)のみと接続を試みたでしょうか?

次の図は、ドイツのリレーノード(転送する拠点)を示しています。 ここで、3つの重要な特性曲線に注目したいです。

グローバルBGPルーティング問題がカルダノのメインネット接続に与える影響

上の緑色の線は、リモートピア(遠方の拠点)との接続が約25%と大きく低下していることを示しています。
チェーン(接続)の込み具合(密度)を示す真ん中の赤い線は、理想的には約5%の値であり、大幅に低下しないほうが良いです。この点については特に問題はなく、良いサインと考えられます。
一番下の茶色の線からわかるのは、メモリープール(取引内容が一時的におかれる場所)内の取引が溜まっていないこともわかります。 したがって、それらは常に可能な限り素早く処理され、ブロックに送られています。

他の地域のノードも同様に、多少の違いはありますが、それなりの影響を受けていました。しかし、この程度では、ネットワーク・通信の問題には繋がりません。

停止と復旧作業について

CLIO1はTopologyUpdater(接続状態最新化装置)を開発し、P2Pネットワークが導入されるまでそれをCardanoネットワークのすべてのステークプールに無料で提供しているため、このネットワークの問題が約660のプール拠点の通信にどのように影響したかを示すグラフを描くこともできます。

次の図は、約60個のノード、つまりノードの約10%が接続しなくなったことを示しています。

また、世界的な経路接続の問題が解決された後、接続が比較的迅速に復元されたことがわかります。 (緑=到達可能/赤=到達不能)

まとめますと、この異常事態の結果、世界的なインターネットサービスでは多くの障害が発生しましたが、分散型のカルダノメインネットには問題を起こしませんでした。

但し今後、他のもっと大きな問題もあり得るでしょう。つまり、プール運営において自分が何をしているのかを本当に理解している、熟練したプル運営者の存在が非常に重要なのです。