[フェデレーテッド ラーニング + ブロックチェーン] TORR: 分散型フェデレーテッド ラーニングのための軽量ブロックチェーン


论文地址https://ieeexplore.ieee.org/abstract/document/10159020


I.貢献

  1. 分散型連合学習のための軽量ブロックチェーン TORR の提案
  2. 新しいコンセンサス プロトコル Proof of Reliability が提案されており、信頼性の低いデバイスを除外し、システムの遅延を削減します。高速集約アルゴリズムは、高速かつ正確な集約を実行し、システムの待ち時間をさらに短縮するために提案されています。
  3. イレイジャーコーディングはモデルを効率的かつ確実に保存するために使用されますが、ブロックチェーン台帳にはモデルのハッシュ値のみが記録されます。ストレージのオーバーヘッドをさらに削減するために、定期的なストレージ リフレッシュ戦略が提案されています。
  4. システムは 5 台のサーバーに展開され、100 ノードがシミュレートされ、3 つの異なるモデルでテストされました。実験によると、TORR はシステム レイテンシ、全体的なストレージ オーバーヘッド、およびピーク ストレージ オーバーヘッドをそれぞれ最大 62%、75.44%、51.77% 削減できることが示されています。

II.仮定と脅威モデル

A. 仮定

フェデレーテッド ラーニング。 一般的なフェデレーテッド ラーニングの一般的な前提に従って、TORR は、多くの分散デバイスが機械学習を共同で実行して、グローバル モデルをトレーニングします。各トレーニング ラウンドでは、ローカル モデルをトレーニングするためにデバイスのサブセットが選択されます。ただし、中央のパラメータ サーバーはありません。軽量デバイスは、限られたストレージ容量と異種接続を備えたノードとしてブロックチェーン ネットワークに参加します。一部のノードには、ネットワーク状態が悪いために応答が遅い、または悪意を持ってトレーニング プロセスが遅くなるという問題があり、これらのノードは信頼性が低いノードとみなされます。

信頼性の証明。 TORR では、ノードは PoR を使用してブロックチェーン台帳のステータスに関する合意に達します。PoR は PoS に基づいています。のデザイン。 PoS は、ノードのステークに基づいてノードのグループを委員会として選出し、委員会のメンバーが次のブロックの内容を決定します。 TORR は、ノードのステークを寄付された資金ではなく信頼性の尺度として定義し、オンラインを維持し、正確かつ迅速に応答するノードに特定のステークを割り当てます。ネットワークの遅さや切断などの信頼性の低い動作が発生すると、ノードのステークが減少します。 PoS と同様に、PoR は正直な参加者が少なくとも 70% の株式を所有していることを前提としています。ステークの分布は各ブロックに記録され、ノードはブロックチェーン台帳を通じてステークの分布を取得できます。

B. 脅威モデル

悪意のあるノードは、偽のノードを生成してその割合を増やすことにより、魔女攻撃を実行する可能性があります PoS のようなプロトコルでは、悪意のあるノードはノード数を増やすだけではステークを増やすことができません。 TORR は、悪意のあるノードによって制御されているステークが 30% 未満である限り、正常に動作します。

ストレージ プロセス中に、悪意のあるノードはチャンクを保存すると主張する可能性がありますが、他のノードから要求された場合は常に間違ったチャンクを返します。 。 TORR はこの問題を解決するために、ブロック内の各チャンクのハッシュ値を記録します。他のノードからチャンクをリクエストする場合、各ノードはブロックチェーンに保存されているハッシュ値をチェックすることでチャンクを検証できます。

悪意のあるノードは、応答が遅い、またはリクエストに意図的に応答しないことによって、トレーニング プロセス全体の速度を低下させようとする可能性があります。 PoR プロトコルでは、そのような動作はすべて、ノードのステークを削減した証拠として記録されます。トレーニングが進むにつれて、ステークの低いノードは委員として選出されるのが難しくなります。

集約プロセス中に、集約タスクを実行するためのアグリゲーターとして複数のノードが選択されます。悪意のあるノードがアグリゲータのステークの半分以上を所有している場合、不正なグローバル モデルを取得するためにアグリゲーションを支配する可能性があります。この記事では、スコアリング メカニズムを使用して各ノードの信頼性を評価し、賭け金の増減を決定します。各ラウンドで、選択されたクライアントとアグリゲーターは、チャンクを保存しているノードをスコアリングできます。悪意のあるクライアントまたはアグリゲータは、極端に高いスコアまたは極端に低いスコアを提供することで、このプロセスを操作しようとする可能性があります。この問題を解決するには、スキームは、十分な正直なノードを含むのに十分な大きさの委員会を作成する必要があります。集計アルゴリズムと適切なスコアリング ルールも、悪意のある動作を防止するように設計されています。

Ⅲ.システムデザイン

TORR の設計目標は次のとおりです: (1) システムの遅延は集中型フェデレーテッド ラーニングと同等であり、他のブロックチェーン ベースのフェデレーテッド ラーニング フレームワークよりも低くなければなりません。 (2) 単一ノードのストレージ要件は、他のブロックチェーンベースのフェデレーテッド ラーニング フレームワークよりもはるかに少なくなければなりません。 (3) 悪意のあるノードは、十分なステークを取得しないとシステムを制御できません。

A. 設計の概要

TORR には、クライアント、アグリゲーター、キーパーの 3 つの役割があります。 K K は各ラウンドで選択されますK クライアントと M M トレーニングと集計にそれぞれ M 個のアガーゲーター。パラメータ K K K は、連合学習を開始するモデル所有者によって指定されます。パラメータ M M M は TORR によって事前に定義されています。キーパーはモデルを保管するために使用されます。イレイジャー コーディングを使用すると、ローカル モデルとグローバル モデルの両方を n n n 個のチャンク、これらのチャンクは $n $ 選択されたキーパーに保存されます。ブロックはアグリゲーターまたはモデル所有者によって生成され、グローバル モデルのハッシュ値が含まれ、特定のラウンドの開始を示します。最初のブロックは、連合学習を開始するためにモデル所有者によって生成されます。 TORR フレームワークを図 1 に示します。
ここに画像の説明を挿入します

(ステップ 1) モデル所有者は、グローバル モデルを n n としてエンコードします。n チャンクに分割し、 n n n 人のキーパーの中で。キーパーは VRF とコンシステント ハッシュによって選択され、グローバル モデルのハッシュ値が VRF の入力として使用されます。同時に、クライアントとアグリゲータは、前のブロックのハッシュ値も選択に使用します。つまり、ジェネシス ブロックのハッシュ値が VRF の入力として使用されます。

(ステップ 2) グローバル モデルが保存された後、モデルの所有者はモデルのハッシュ値を含むブロックを作成し、そのブロックをブロードキャストします。

(ステップ 3) ブロックを受信した後、各ノードは自身の役割を確認します。このラウンドでノードがクライアントである場合、グローバル モデルを復元するために、最初にキーパーにチャンクを要求します。クライアントは各キーパーの応答遅延を記録し、それを採点基準として使用します。

(ステップ 4) クライアントはモデルのトレーニングに独自のローカル データを使用します。

(ステップ 5) トレーニング後、クライアントはローカル モデルのハッシュ値を VRF の入力として使用し、 n n を選択します。n 人のキーパー。ローカル モデルは n n n チャンクに分割され、対応するキーパーに保存されます。

(ステップ 6) ストレージ操作を完了したクライアントは、ローカル モデルのハッシュと記録された遅延をアグリゲータに送信します。アグリゲータが K K を受信したとき集計操作は、K 個のローカル モデル ハッシュがあるときに開始されます。

(ステップ 7) aggergator はまず、K 個のローカル モデルを復元するためにキーパーにチャンクを要求します。同時に、アグリゲーターは各キーパーの応答遅延を記録します。次に、アグリゲーターはローカル モデルを新しいグローバル モデルに集約します。

(ステップ 8) 悪意のあるアグリゲーターが誤ったグローバル モデルを集約する可能性があることに注意してください。正しい集計を保証するために、この記事では、Bully 選挙アルゴリズムを変更したモストステーク集計アルゴリズムを設計しています。 Bully アルゴリズムは、複数のノードからリーダーを効率的に選択するのに役立つよく知られた選挙アルゴリズムですが、悪意のあるノードを許容することはできません。悪意のあるノードが選挙に勝った場合、不正な集計が実行されたり、実行が停止されてプロセスが停止したりする可能性があります。この記事では、集計の正確性を保証するための検証手順を追加し、アルゴリズムの効率を保証するためのタイミング メカニズムを追加します。 Bully 選出アルゴリズムは、最大の ID を持つノードをリーダーとして選択します。この記事では、誠実で高速なノードによってブロックが作成される可能性が高くなるように、最も多くのステークを持つノードをリーダーとして選択します。

(ステップ 9) アガーゲーター (通常、最も多くのステークを持つノード) が選挙に勝ってリーダーになると、新しいグローバル モデルのキーパーを選択し、新しいグローバル モデルをこれらのキーパーに保存します。

(ステップ 10) 新しいグローバル モデル ハッシュを含む次のブロックが作成され、他のノードに伝播されて、フェデレーテッド ラーニングの次のラウンドが開始されます。

B. ブロック設計

TORR のノードはゴシップ プロトコルを通じてブロックを伝播し、ネットワーク内のすべてのノードが新しいブロックを確実に受信できるようにします。受信者は、受信したブロックをローカル台帳に追加します。ブロックの構造を図2に示します。

ここに画像の説明を挿入します

各ブロックには前のブロックのハッシュ値が含まれており、チェーンを形成します。パラメータround は各ブロックに記録されます。round がジェネシス ブロックでモデル所有者によって指定された値に達すると、連合学習プロセスが停止します。このブロックにはモデル オブジェクトも含まれており、これにはグローバル モデルのハッシュ値、チャンクのハッシュ値、対応するキーパーの署名が含まれます。どのノードも、モデル オブジェクトに記録された情報を通じて、グローバル モデルをどこで取得するかを知ることができます。キーパーの署名によりモデルが正しく保存されたことが保証され、モデルのハッシュによりグローバル モデルの正確さが保証されます。 ステーク配分 各ノードが保持するステークの数を示します。

VRF プルーフ π はブロックを通じて共有されます。証明、ブロック マイナーの公開キー、証明の生成に使用される公開シード (前のブロック ハッシュまたはモデル ハッシュ) を使用すると、誰でも同じ VRF ハッシュ出力を決定的に取得し、出力が有効であることを検証できます。 VRF ハッシュ出力は、クライアントとアグリゲータの選択に一貫したハッシュとともに使用されます。さらに、ブロックには、クライアントとアグリゲーターによって提供される K + M K+M までを含める必要があります。K+アグリゲータからの M スコアと j j j 署名。$ j ≥ ⌊M/2⌋ + 1$。これらのスコアは、各ノードのステークを更新するために使用されます。署名は、少なくとも ⌊M / 2 ⌋ + 1 ⌊M/2⌋ + 1 M/2+1 署名の場合、ブロックは有効とみなされます。

C. 初期化

フェデレーテッド ラーニング モデルの所有者は、ジェネシス ブロックを作成して、フェデレーテッド ラーニング プロセス全体を初期化します。この記事では、このステップにおいてのみモデル所有者が信頼されていると想定しているため、最初のブロックにはアグリゲーターからの署名が含まれていません。さらに、最初のブロックには、各ノードがトレーニング プロセスをいつ停止するかを認識できるように、予想されるエポック数も含まれています。

D. 役割の選択

攻撃の可能性を防ぐために、TORR のキャラクターはラウンドごとに変わります。アグリゲーターは新しいブロックを作成するとき、その秘密キー、前のブロックのハッシュ、およびモデル ハッシュを使用して、新しいクライアント、アグリゲーター、およびキーパーを選択します。役割選択プロセスを図 3 に示します。

一貫したハッシュによれば、0 から 2 32 2^{32} までのすべての可能なハッシュがハッシュ リングを形成します。232。各ブロック ノードのステークはリング上にある仮想ノードにハッシュされます。仮想ノードの数は、ノードが所有するステーク数に応じて異なります。ノードのステークが多いほど、より多くの仮想ノードを持つことになり、選択される可能性が高くなります。フェデレーテッド ラーニングのコンテキストでは、通常、多数のデバイスが存在し、その結果多数の仮想ノードがリング上にほぼ均等に分散されます。 TORR は PoS の特性に従います。つまり、ノードが選択される確率は、そのノードが所有するステークの割合に等しいということです。

まず、前のブロックのハッシュまたはモデル ハッシュを VRF に入力して、VRF ハッシュを生成します。ハッシュはリング上の点にあるため、時計回りに最初のノードが選択されます。次に、このハッシュのハッシュが計算されて 2 番目のノードが選択されます。このプロセスは、必要な数のノードが選択されるまで続きます。 VRF 関数は式 (1) に示されます。


ランダム シードを含む VRF α \alpha α和私钥 s k sk sk作为输入,输出确定性哈希 β \beta β 和証明 π \pi π。入力が同じ秘密キーとシードであれば、出力も同じになります。秘密キーがわからない人のために説明すると、ハッシュ出力 β \beta β は、確率変数と何ら変わりません。したがって、このハッシュは、ノードを公平に選択するための一貫したハッシュの開始点として使用できます。

他のノードは、公開キーを使用してハッシュ出力が生成されたかどうかを検証できます p k p_k pk ノード によって生成されるため、攻撃者は出力を偽造できません。 TORR は、前のブロック ハッシュまたはモデル ハッシュを入力としてランダム シードとして使用します α α α,使用节点 s k i sk_i ski の秘密キーは入力秘密キーとして使用されます s k sk sk。由于输出由 s k i sk_i ski が決まるので、ハッシュ出力 β β β はノードごとに一意です。ブロック ハッシュとモデル ハッシュは、ブロックまたはモデルが作成される前には知ることができず、悪意のあるノードは VRF の出力を予測して、クライアントやアグリゲータに対して標的型攻撃を実行することができません。
ここに画像の説明を挿入します

E. ストレージプロトコル

ストレージ要件の削減。 多くのデバイスはフェデレーテッド ラーニングではアイドル状態になります。これは、各ラウンドで少数のデバイスのみがトレーニングのために選択されるためです。ローカル モデル なので、TORR は多くのアイドル状態のデバイスの限られたストレージ スペースを利用してモデルを保存します。悪意のあるノードの影響と単一デバイスの限られたストレージ容量を考慮して、イレイジャーコーディングを使用してモデルを複数のチャンクに分割します。一方で、イレイジャーコーディングはモデルの可用性を保証します。このソリューションでは、RS コードを使用してモデルをエンコードします。 ( n , k ) (n, k) (n,k) RS コードは、モデルを合計で n n n 个chunks,并且 n n n 个chunks中的任何 k k k を使用すると、モデル全体を復元できます。正しい設定 k k k n n n は、一部のノードに悪意がある場合や障害が発生した場合でも、どのノードでもモデルを回復できることを保証できます。一方、大規模モデルのストレージと比較して、小さなサイズのチャンクのストレージでは、すべてのノードにかかる大きなストレージ負荷が平均化されます。

さらに、ストレージ全体の継続的な拡張を避けるために、定期的なストレージ更新戦略が設計されています。フェデレーション ラーニングでは、グローバル モデルはラウンドごとに更新されます。したがって、シナリオによっては、モデルを一定期間保存した後、削除することができます。具体的には、ノードが TORR にチャンクを保存することを要求すると、チャンクは block-tolive (BTL) パラメーターとともにキーパーに送信されます。 BTL は、チャンクが存続できるラウンドまたはブロックの数を表す整数です。新しいチャンクが到着すると、ノードは格納されているすべてのチャンクの BTL を 1 つ減らします。 BTL がゼロになったチャンクは削除が許可され、BTL の定義により柔軟なストレージ更新が実現されます。

信頼性の低いデバイスの影響の軽減。 フェデレーション ラーニングでは、軽量デバイスは Wifi やセルラー ネットワークなどのさまざまな通信メディアを介して通信します。パブリックネットワークにアクセスするため。ネットワーク内にネットワーク状態が悪く、信頼性の低いデバイスが存在する可能性が高くなります。より深刻なケースでは、攻撃者は意図的に応答が遅くなるか、まったく応答しない可能性があり、これによりモデルの可用性が脅かされます。イレイジャーコーディングにより、クライアントとアグリゲーター間の接続不良を回避できます。特に複数のクライアントがローカル モデルをアグリゲーターに転送する必要がある場合、クライアントの 1 つがアグリゲーターとの接続に問題がある可能性があります。現在、アグリゲーターは単一のクライアントからモデル全体を受信するのではなく、異なるキーパーから複数のチャンクを同時に要求します。イレイジャーコーディングを使用すると、アグリゲーターは特定のストラグラーからのチャンクを待たずに、部分的なチャンクのみを使用してモデル全体を復元できます。

k k の選択k および n n RS コードの n TORR は、最大 30% のステークが悪意のあるノードによって保持される可能性がある、より不利な環境を想定しています。したがって、 n n n k k k では、ノードの 30% で障害が発生することを許容します。

TORR はノード ステークに基づいて一貫したハッシュを使用するため、ノードが選択される確率はそのステークの割合に等しくなります。悪意のあるノードが保持するステークの割合が p p であると仮定します。p、少なくとも n n モデル チャンクを保存するための n キーパー。最大 n − k n-k nk 個のノードが失敗しました。 k k k ブロックを使用してモデルを復元できます。これから、キーパーが悪意のあるノードによって支配される確率を計算できます。
ここに画像の説明を挿入します
悪意のあるノードがステークの最大 30% を保持していることを考慮すると、次のように計算できます。 p p p は 30% に設定され、確率 P u p p e r P_{upper} Pえー の上限。この実験では各ラウンドで 10 人のクライアントを選択する必要があり、フェデレーテッド ラーニング全体が 100 ラウンド続きます。 100 ラウンドで、キーパーが 1100 回選択され、100 個のグローバル モデルと 1000 個のローカル モデルが保存されます。したがって、上限確率 P u pp e r P_{upper} Pえーシステムの安全な動作を保証するには、 は 0.0009 未満である必要があります。 n n を選択します。n k k k の場合はバランスを考慮する必要があります。修正された場合 k k k,选择较大的 n n n 有助于降低 P u p p e r P_{upper} Pえー 確率は高くなりますが、冗長性が高くなります ( n / k n/k n/k 衡量)。

F. 集約プロトコル

集約プロセス中のセキュリティを確保し、単一障害点を防ぐために、TORR では複数のアグリゲーターが一緒に集約を実行する必要があります。アグリゲータは、すべてのクライアントからローカル モデル オブジェクトとスコアを受け取ると、まず署名をチェックします。有効なローカル モデル オブジェクトには、ローカル モデルのハッシュ値と n n が含まれます。n ブロックのハッシュ値 ( n n n 人のキーパーの署名は、モデルが正しく保存されていることを証明します。次に、アグリゲーターは、すべてのローカル モデルを復元する準備として、対応するキーパーにチャンクを要求します。

スキームは、集約に FedAvg スキームのみを使用します。クライアント i i と仮定します。i 上传的本地模型用 w i w_i i は、クライアントのデータ ポイントの数が n i n_i であることを意味します。ni 。合計 K 個のクライアントが含まれており、集約されたグローバル モデルは式 (4) で表されます。

ここに画像の説明を挿入します

式 (4) は複数の加算操作で構成されているため、アグリゲーターは集約を実行するためにすべてのローカル モデルを復元するのを待つ必要はありません。新しいローカル モデルが復元されると、アグリゲーターはすぐに中間モデルを計算します。複数のアグリゲーター間で合意に達するために、計画では、アルゴリズム 1 に示すように、Bully 選挙アルゴリズムに基づいて修正されたモスト ステーク アグリゲーション プロトコルを設計します。

時限選挙。 アグリゲーターがグローバル モデルを生成すると、より多くのステークを含む選挙メッセージがアグリゲーターに送信されます。選出メッセージは、ネットワーク内の別のアグリゲータの存在を検出するために使用されるメッセージです。選挙メッセージに対する応答が受信された場合、誰かがより多くのステークを持っていてオンラインのままであるため、アグリゲーターはリーダーになることはできません。ただし、最も多くのステークを持つ攻撃者がリーダーになると、その攻撃者はすぐに実行を停止する可能性があり、その後、他のアグリゲーターは新しいブロックを永遠に待つことになります。したがって、各アグリゲーターは、選挙メッセージに対する他のアグリゲーターからの応答を受信した後、タイマー T T を設定します。T。如果 T T T は、それ以上のブロックを受信することなく期限切れになります。つまり、リーダーは攻撃者であるか遅れている可能性があります。アグリゲーターは新しい選挙を開始し、前回選出されたリーダーを除く、より多くのステークを持つアグリゲーターに選挙メッセージを送信します。

検証。 タイミング選択により、悪意のあるノードが意図的にシステムを停止できないようにすることができますが、グローバル モデルの正確性を保証することはできません。最も多くの賭け金を持った悪意のあるノードが選挙に勝ち、ブロックに誤ったグローバル モデルが含まれる可能性があります。したがって、このソリューションでは、正確性を保証するための検証ステップが導入されています。アグリゲーターがリーダーになった後、そのグローバル モデル ハッシュを含むブロックを検証のために他のすべてのアグリゲーターに送信する必要があります。他のアグリゲータは、ハッシュがグローバル モデルのハッシュと同じであることが判明した場合、ブロックに署名します。ブロックにアグリゲーターの半数以上の署名が含まれている場合、そのブロックは有効であるとみなされます。アグリゲータの半分以下が悪意のあるものでない限り、グローバル モデルは正しいです。

アグリゲーター委員会の最小サイズ。 委員会のサイズは適切に選択する必要があります。 M M < /span>M は、委員会が悪意のあるノードによって制御されるのを防ぎます。前述したように、悪意のあるノードが選択される確率は p p p は 30% を超えてはなりません。アグリゲーターが悪意のあるノードによって制御されている確率 P a g r P_{agr} Pagr 次の式 (5) に示すように:

federated learning を 100 ラウンド実行すると考えると、アグリゲーター委員会は 100 回選択されます。したがって、安全閾値は 0.01 です。委員会の最小人数は 26 人です。

G. 信頼性の証明

この記事では、異種ネットワーク条件や信頼性の低いデバイスに適応するための信頼性証明コンセンサス プロトコルを設計します。中心となるのは、各ノードの信頼性を評価するための信頼できる尺度を見つけることです。このソリューションは、クライアントまたはアグリゲーターを使用して、評価の基礎として取得されたチャンクのレイテンシーを報告します。

ラウンドの開始時に、グローバル モデルが n n に保存されていると仮定します。n 人のキーパーの中で。新しいブロックを受信した後、 K K K クライアントは、最初にこれらのキーパーにチャンクをリクエストします。このプロセスでは、各クライアントは n n n 人のキーパーが得点しました。このスコアはリクエストの開始から応答の受信までの遅延に等しいため、各キーパーには K K K 个分数。使用 S i C j S^{C_j}_i SCj 来表示client j j j 向キーパー i i i はスコアを提供します。クライアントは、ローカル モデルのハッシュとともにスコアをアグリゲーターに送信します。

集約を実行するには、各アグリゲーターはこれらのローカル モデルのキーパーにチャンクをリクエストする必要があります。このプロセスでは、各アグリゲーターは最大 n K nK になります。nK 人のキーパーがスコアリングに使用します。$ S^{A_j}_i $ を使用してアグリゲーターを表します。 j j j はキーパー i i i によって評価されたスコア。各アグリゲータは、そのスコアを他のすべてのアグリゲータに送信します。その後、すべてのアグリゲータは、クライアントからのスコアを含む、このラウンドで生成されたすべてのスコアを取得します n K nK アグリゲータからの nK スコアと n K M nKM nKM 个分数。

特定のラウンドのすべてのモデルを保存するためにキーパーが選択された場合、キーパーは K + K M {K+KM} を取得します。K+KM スコア。グローバル モデルを保存するためにキーパーが 1 回だけ選択された場合、 K K K スコア。最後に、式(6)に示すように、あるキーパーの全得点の中央値を信頼性を評価する指標として使用する。


前述したように、悪意のあるノードが保有するステークが 30% を超えないと仮定すると、誠実な当事者の過半数を確保する委員会の最小サイズは 26 です。したがって、TORR は 26 を超えるノードのスコアを受け取った場合にのみノードのステークを調整します。ステーク更新式を(7)に示します。

したがって、迅速に応答できる信頼性の高いノードは、より多くのステークを持ちます。更新されたステークは新しいブロックに含まれ、最多ステーク集約検証ステップで検証されます。リーダーがスコアを捏造すると、他のアグリゲーターによってすぐに検出され、ブロックを検証できなくなります。

H. ブロックチェーンのコンセンサス

TORR にはフォークがありません。クライアントとアグリゲータは VRF と、以前のブロック ハッシュを入力として使用する一貫性のあるハッシュを介して選択されるため、すべてのノードはラウンドで同じクライアントとアグリゲータを監視する必要があります。次のブロックを作成するリーダーとしてアグリゲーター 1 人だけが選出され、そのブロックはアグリゲーターの過半数によって検証される必要があります。したがって、ブロックには争いがありません。

IV.セキュリティ分析

悪意のあるクライアントは、グローバル モデルを毒するために偽のローカル モデルを送信し、キーパーに意図的に高いスコアまたは低いスコアを与える可能性があります。この記事では最初の質問については説明しません。 2 番目の問題は、同じキーパーのスコアが 26 未満のノードの場合、この場合は悪意のあるノードが多数を占めている可能性があるため、クライアントからのスコアは信頼されず、使用されません。ノード数が多い場合は、悪意のあるノードの影響を防ぐためにスコアの中央値が使用されます。

悪意のあるキーパーは、チャンクを保存していると主張しながら、そのチャンクを削除したり、ブロックを変更したりする可能性があります。最初の動作はモデルの使いやすさを破壊します。ただし、RS コードを正しく選択すると、モデルを復元するために正直なキーパーから n 個のブロックのうち k 個を取得できることが保証されます。すべての悪意のあるモデルがチャンクを保存していない場合でも、モデルを復元できます。 2 番目の行動脅威モデルの妥当性。ブロック内の各チャンクのハッシュ値を記録し、どのノードでもハッシュ値を比較することでチャンクを検証できるようにします。悪意のあるキーパーが間違ったハッシュ値を返した場合、すぐに検出されます。

悪意のあるアグリゲーターは、誤ったグローバル モデルを偽造し、キーパーに意図的に高いスコアまたは低いスコアを与える可能性があります。最初の問題は、最多ステーク集合における検証操作によって解決されます。 2 番目の問題は、キーパーを評価するために平均スコアの代わりに中央スコアを使用することで解決されます。

おすすめ

転載: blog.csdn.net/WuwuwuH_/article/details/134415491