前 回の記事では、マスターノードレベルで実装されている、Xankの分散型オラクルのオラクルシステムを紹介しました。このシステムは、中断または損失が発生した場合に、ステーカーノードが稼働させます。また、単一障害点を防ぐために、1つだけではなく複数のフィードがあるともお伝えしました。Xankのステーブルペイキャリブレーションは、Xankコインの価格決定の際に、SDRレートと為替価格に関する実社会のデータを必要とします。単一の情報源にのみ依拠すると、ネットワーク全体が単一情報源に依存する、という脆弱な仕組みになってしまいます。ある情報源が適切に機能しないか停止すると、Xankネットワークはひどい問題を経験するでしょう。これは避けなければなりません。
そこで、冗長性を担保するためにいくつもの層を設計し、ネットワークが以下のような攻撃・問題から保護されるようにシステムを構築しました。
- DoS(サービス拒否)攻撃
- 地域ごとのIP検閲
- ジオブロッキング
- データフィードの恒久的なシャットダウン
- その他の、一時的または恒久的なフィード中断
Xankのオラクルシステムは、いくつかの潜在的な障害はマスターノードとステーカーノードにより克服する準備ができています。いくつかの潜在的な障害とは、フィードの中断やデータ損失のような事態により引き起こされる障害です。4つの冗長層が、誤ったデータを排除し、適切なデータ入力を保証するために配置されました。彼らは派手な名前を誇っていますが、それらの概念はかなり単純です。なるべく簡単に説明できるよう、お伝えしていきます。
1. マスターノードフィード集約
最初の冗長性対策は、マスターノードフィード集約と呼ばれます。これはマスターノードレベルで完結する機能のため、こう呼ばれます。マスターノードネットワークの49%がフィードの中断またはデータ損失の影響を受けている場合(たとえば、特定のフィードが特定の地域でブロックされている場合)、影響を受けたマスターノードはXankネットワークの影響を受けないマスターノードからフィードを取得します。その後、影響を受けたマスターノードは情報を集約し、それをネットワークに送信します。<br>この冗長層は、マスターノードネットワークの49%以下が影響を受ける場合に関係します。<br>
2. マスターノードとステーカーフィード集約
2番目の層は、マスターノードとステーカーフィード集約と呼ばれます。今、私たちは、マスターノードと同時に、ステーカーノードも稼働させます。マスターノードとステーカーフィード集約は、マスターノードネットワークの50%以上およびステーカーノードの49%未満が、中断またはデータ破損してしまったオラクルフィードの影響を受ける場合に機能します。この場合、影響を受けていないマスターノードは、影響を受けていないマスターノード、および、まだ影響を被らずに済んでいるが故にフィードを取得できるステーカーノードの両者からフィードデータを取得します。その後、影響を受けたマスターノードがデータを集約し、それをネットワークに送信します。この冗長層は、マスターノードネットワークの50%以上およびステーカーノードの49%未満が影響を受ける場合に関連します。
3. マスターノードによるダイレクトマニュアルフィードモード
万が一、マスターノードネットワークの50%以上とステーカーノードの50%以上が中断やデータ損失の影響を受けている場合、フィードを信頼したり、自律的に稼働したりすることはできません。こうした事態に陥った場合は、信頼できるフィードが再確立されるまで、マスターノードネットワークはダイレクトマニュアルフィードモードを有効にします。ダイレクトマニュアルフィードはマニュアルマスターノードフィードを確立します。そして、Xankマスターノードはマニュアルマスターノードフィードを集約し、それらのデータをネットワークに送信します。
ダイレクトマニュアルフィードに加え、マスターノードネットワークは、デイリーマスターノード投票プロシージャーを開始します。このプロシージャーは、信頼できないフィードを新しいフィードと入れ替えるかどうか、そして入れ替えるならどのフィードと入れ替えるのかを、マスターノードは投票で決めます。この冗長層は、マスターノードネットワークの50%以上とステーカーノードの50%以上が影響を受ける場合に関係します。
4. ステーカーオラクルフィードデータ品質保証
オラクルシステムはマスターノードで構成されていますが、ステーカーノードはXankネットワークの運用と整合性において重要な役割を果たします。問題が解決するまでの間、ステーカーノードはマスターノードの監視、および、不正行為に加担したり、破損したりしているフィードを検出し、ネットワークをさらなる脅威から保護します。ステーカーノードはフィードを監視し、ネットワークに警告を発します。この警告により、腐敗したり、危険にさらされているマスターノードを一時停止する是非を問う投票に参加するよう、呼びかけることができます。そうすることで、ステーカーノードは2つの手段でその存在価値を表明します。
まず1つめは、ネットワークに誤った情報を提供する可能性を含む、腐敗したフィードがネットワークに存在しないことをステーカーノードが確かめます。もう1つは、分権化と整合性を保証するため、腐敗したマスターノードを指摘し、マスターノード同士の共謀を防ぎます。したがって、ステーカーオラクルフィードデータ品質保証メカニズムは、追加のセキュリティ層として機能します。
このようにして、オラクルシステムが悪影響を受けたり中断されたりした場合でも、上記の冗長層が適切なタイミングで起動し、大きな問題に至る前に対処、ネットワークを稼働させ続けます。