詳細ストレージアーキテクチャ
ファイルシャーディング
概要
一般的に、シャーディングとは分散ネットワーク内の複数のストレージプロバイダーにわたってデータを水平に分割して配布する方法です。Iagon のネットワークでは、配布されるのは暗号文です - あなたのファイルはまずクライアントで暗号化されます(Secure Lakeをご覧ください)。プロバイダーはプレーンテキストではなく、不透明なフラグメントを保存します。
シャーディングは以下を提供します:
- 保存時のより強い機密性:単一のプロバイダーが必ずしも再構築可能なプレーンテキストファイルを保持するわけではありません。ストレージノードオペレーターはあなたの鍵なしではコンテンツを明らかにしないピースで作業します。
- データ損失リスクの軽減:より多くのプロバイダーが参加するにつれて、プロトコルはフラグメントの冗長コピーを保持できるため、一部のノードが利用できない場合でもファイルを取得できます。
- より速いダウンロード:コンテンツが多くのプロバイダーに分散している場合、ネットワークは1つのボトルネックに当たるのではなく、フラグメントを並行して取得できます。
以前の設計では汎用コンテンツアドレッシング(例えば IPFS スタイルのピアルックアップ)を検討していました。Iagon の更新されたシャーディングと配置ロジックは、独自のストレージとマーケットプレイススタックの一部です。フラグメントがどこに存在するか、耐障害性のためにどのように複製またはエンコードされるか、どのように回復またはリバランスされるかは、サブスクリプションルール、ノードパフォーマンス、および Secure Lake とともに設定する地域または管轄の設定と調整されます。
ファイルのアップロード
デバイス上でプレーンテキストから暗号文へ
シャーディングが行われる前に、クライアントはファイルを暗号化します。ファイル本体に「暗号化をスキップ」するパスはありません。ストレージノードオペレーターはそれらの本体の暗号文のみを扱います。これはプライバシーの基盤です。非常に大きなファイルはクライアントで暗号化されたセグメントに分割される場合があります。これによりアップロードを適切に再開でき、メモリ使用量が制限されます。ネットワークはポリシーに従ってそれらのセグメントまたは結果として生じるブロブを配布します。
ネットワーク上の冗長性
システムはビット腐食や損失後にピースのサブセットでブロブを再構築できるよう、暗号文フラグメントに誤り訂正または複製戦略を適用する場合があります - サーバーがファイルのコンテンツを解釈することなく。ペイロードはストレージノードオペレーターに対して不透明なままです。
フラグメントの配布
フラグメントは消費者の要件(容量、ティア、地理的位置、その他のマーケットプレイス制約)を満たすストレージプロバイダーに、高レベルアーキテクチャでまとめられたより広いプロトコルスタックからのパフォーマンスと可用性シグナルを使用して配置されます。
ファイルのダウンロード
取得と再構築
ダウンロード時、クライアントは必要な暗号文フラグメントを取得し、アップロードが完了していることを確認し(半分アップロードされたオブジェクトから「完了した」ファイルを取得することはありません)、フォーマットが期待するレイアウトに再構築します。
クライアント上でデコードと復号
冗長性のデコードは暗号文で行われます。復号と整合性の検証は、ファイルが完全になった後にあなたのデバイスで実行されます。ストレージノードはあなたの代わりにユーザーのファイル本体を復号しません。