CTSC
オンチェーン協調のセキュリティは通常スマートコントラクト上でメンバーリストに応じた関数呼び出し権限管理で担保される
Liwei Ouyang, et al. 2023ではActiveListFE や TrustListFE を公開・保存しない
CTSC は各ステージの協力時間を厳格に設定してプロセスを管理し、単一障害点の発生を防ぐ必要がある
この設計に伴い、以下のような悪意ある振る舞いへの対策が求められる
1) フェデレーション外の誤呼び出し
{ pkFE, skFE, addISC, addCTSC, N } といった識別情報は非公開だが、CTSC が公共かつ透明な存在であるがゆえに、アウトサイダーによる誤った呼び出しが起こり得る。これを排除するため、登録時に正しい len(ActiveListFE) を報告できた者だけが RejectListFi を報告可能とし、不正な侵入者は ModelFE に影響を与えられず、最終的にはデポジットを全額返還される。
2) kActive 非知悉者による妨害
(一)図1(a) の F2 や F4 のように len(ActiveListFE) は把握できても kActive を知らないケース。この場合は RejectListFi を報告できてもデータやモデルを復号できない(図1(b) の F3 相当)。
(二)小規模協調下で悪意あるメンバーが総当たりで TrustListFE や kActive を解読し、共有データ・モデルを取得するケース。だが ActiveListFE に認識されなければ学習には寄与できず、ModelFE は最適モデルとはならない。
3) 悪意メンバーへの罰則
後者二種類の行動を抑止するため、CTSC では各イテレーションにつき各 Fi の RejectListFi 提出を1回に制限し、ActiveListFE の全 Fi に「正しい len(ActiveListFE) を報告したが認識されていないメンバー」を積極的に監視して RejectListFi に追加する義務を課す。
RejectListFi や PuniList に含まれるのが本当に悪意メンバーか、偽モデルを提出した正直メンバーかは区別困難だが、ActiveListFE のプライバシーと真の正直メンバーは保護される。
最終的に PuniList に登録されたメンバーはデポジットを全額没収され、その没収金 DPuni は ActiveListFE の正直メンバー全員に均等に報酬として分配される。
4) CTSC の設計
CTSC は①登録、②VSetFi 交換、③ModelFi 交換、④RejectListFi 報告、⑤協調終了後のデポジット引き出し、の5つの主要関数で構成される。
いずれも所定の呼び出し可能時間内にのみ実行可能とし、RejectListFi 報告と引き出しは1アカウントにつき1回に制限して ModelFE と資金の安全を確保する。
VSetFi 交換と ModelFi 交換では ISC と同様に「Event」の発火とモニタリングを利用してメッセージを伝達する。
プライベート FL の終了時点で ActiveListFE のメンバーは理想的な ModelFE を獲得し、仮想通貨を通じて公平に報酬・罰則を受けることができる。