ホワイトペーパー:v01:2_ネットワーク基盤:2:start

文書の過去の版を表示しています。


2.2 コンセンサス・フレームワーク (Consensus Framework)

Qubicのコンセンサス・フレームワークは、革新的なコンセンサスメカニズムを通じてネットワークの完全性を保証する、安全で分散化されたシステムを確立します。クォーラム・コンセンサス・アルゴリズムとビザンチン障害耐性(BFT)の両方を統合することで、Qubicは分散型の障害が発生しやすい環境においても信頼性の高い運用を維持します。

2.2.1 クォーラム・コンセンサス・アルゴリズム (Quorum Consensus Algorithm)

Qubic におけるクォーラム・コンセンサス・アルゴリズムは、Computor(コンピューター)と呼ばれる分散した参加者が、共同で計算タスクを検証することを可能にします。このアプローチはネットワークの有用なプルーフ・オブ・ワーク(uPoW)モデルにとって極めて重要であり、計算効率を確保しながら、誤ったノードや悪意のあるノードに対する回復力を提供します。

クォーラム・コンセンサスの数学的基盤

1. クォーラムの選定 (Quorum Selection):

クォーラムは、計算の検証を実行するのに十分な、ネットワーク全体の Computor のサブセットを表します。Qubicにおいて、Computorは一つ以上の物理ノード上でホストできる論理エンティティです。しかし、ネットワーク内では常に1台の Computor につき1つのアクティブなノードのみが許可されます。一方で、その Computor をホストする追加のノードはスタンバイ状態でネットワークに参加でき、必要に応じてプライマリノードに代わって即座に交替する準備ができています。このアプローチはネットワークの障害耐性を強化し、ネットワークの安定性を維持するとともに、クォーラム参加の高い可用性を保証するのに役立ちます。

さらに、個々のノードは複数の Computor をホストすることが可能です。Computor の数と物理サーバーの数を切り離すことで、Qubic はスケーラビリティと柔軟性を実現しています。

数学的には、N がネットワーク内の Computor の総数を表す場合、f台の故障した Computor を許容するためには、以下の条件を満たす必要があります:

f ≦ (N - 1) / 3

このとき、クォーラムサイズ Q は以下の条件を満たさなければなりません:

Q ≧ 2f + 1

N = 676台の Computor で構成されるQubicのネットワークでは、システムは最大で以下の故障を許容するように設計されています:

f = (676 - 1) / 3 = 225台の故障したComputor

したがって、クォーラムサイズは少なくとも以下である必要があります:

Q ≧ 2 × 225 + 1 = 451

この基準により、ビザンチン障害が存在する場合でも、クォーラムにコンセンサスに達するのに十分な誠実な Computor が含まれることが保証され、ネットワークの混乱や悪意のある活動に関わらず信頼性の高い合意が可能になります。

2. 投票メカニズム (Voting Mechanism):

N台の Computor(Qubicネットワークでは676台)のそれぞれが、割り当てられた計算を独立して実行し、その結果に投票します。少なくとも Q台の Computor が結果に同意すれば、コンセンサスが達成されます。

ここで:

  • N はネットワーク内の Computor の総数。
  • Q はコンセンサス達成に必要な同意 Computor 数。

コンセンサスは以下の時に達成されます:

Σ (i=0 から N-1) vi ≧ Q

ここで、vi はComputor i による個別の投票であり、結果を支持する場合(vi = 1)または反対する場合(vi = 0)のいずれかです。

Q ≧ 2f + 1(fはネットワークが許容できる故障または悪意のある Computor の最大数)であることを踏まえると、この多数決メカニズムはネットワークの安定性と効率的な意思決定を維持するために不可欠です。これにより、合意された結果がクォーラムメンバーの3分の2以上によって承認されることが保証され、ビザンチン障害耐性(BFT)の要件と一致します。

3. コンセンサスの確定 (Finalisation of Consensus):

クォーラムがコンセンサスに達すると、その結果は承認され、ネットワーク上に記録されます。Qubic のコンセンサス・アルゴリズムは、単純なクォーラムベースのアプローチに依存しており、膨大な数の Computor を活用して計算を検証・確認することで、コンセンサスの質を確保しています。このアプローチは、コンセンサスプロセスにおける広範な参加と冗長性を強調することで、ネットワークの堅牢性を強化します。

Qubic のアプローチは、単一の相互に信頼された当事者に依存する従来の中央集権型信頼モデルを回避します。

中央集権型ではその当事者が単一障害点(SPOF)となり、悪意のある行動や失敗に対して脆弱になりますが、Qubicはクォーラムメカニズムを通じて複数のノードに信頼を分散させることで、セキュリティと障害耐性を高めています。これは、各ノードが独立して検証を行う分散型仮想信頼モデルにより密接に整合しており、中央の監視なしで全ネットワーク規模の合意を達成することを可能にします。

2.2.2 ビザンチン障害耐性 (Byzantine Fault Tolerance - BFT)

Qubicのような分散型ネットワークでは、ノードが故障したり悪意を持って行動したりする可能性があるため、ビザンチン障害耐性(BFT)の達成は不可欠です。BFTの原則とクォーラムベースのコンセンサスを組み合わせることで、Qubicは困難な条件下でもネットワークの回復力を保証します。

QubicのモデルにおけるBFTメカニズム:

  • 1. 障害耐性閾値 (Fault Tolerance Threshold):
    • BFTを維持するため、Qubicのモデルでは、N台のComputorで構成されるネットワークにおいて最大
      f ≦ (N - 1) / 3

      台の故障したComputorを許容します(Lamport et al., 1982)。N = 676 であるため、これはネットワークが最大225台の故障したComputorを許容できることを意味します。

  • 2. 冗長計算 (Redundant Computations):
    • Qubicは、複数のComputorに同じ計算タスクを独立して実行させることで、冗長計算を採用しています。これらの結果を集約することで、ネットワークは異常なデータや悪意のあるデータを特定して無視し、多数派の合意に依拠して正しい結果を決定することができます。
  • 3. クォーラム投票と合意 (Quorum Voting and Agreement):
    • クォーラム内の少なくとも
      Q ≧ 2f + 1

      台のComputorが結果に同意したときに、コンセンサスが達成されます。この閾値により、最大f台の故障したComputorが存在する場合でも、コンセンサスの結果が信頼できることが保証されます。Qubicで使用されるビザンチン合意プロトコルでは、同意するComputorの数が451以上であることを要求しており、次のように表されます:

      同意するComputorの数 ≧ 2N / 3

このメカニズムは、確立されたBFTの原則(Castro & Liskov, 1999)に沿って、部分的なネットワーク障害が発生してもコンセンサスを保証します。

  • 4. 障害検知メカニズム (Fault Detection Mechanisms):
    • Qubicのシステムアーキテクチャには、故障したと見なされるComputorを交換できるArbitrator(アービトレーター)が含まれており、クォーラム運用の信頼性と継続性を確保しています。
    • このプロセスにより、エラーや不整合が検出された際にComputorをシームレスに入れ替えることでネットワークの完全性を維持でき、将来の選定において個々のノードの優先順位を下げることもありません。
    • このプロセスは、故障した、あるいは悪意のあるComputorの影響を軽減することで、クォーラムシステムを強化します(Narayanan et al., 2016)。
ホワイトペーパー/v01/2_ネットワーク基盤/2/start.1766562278.txt.gz · 最終更新: by d.azuma