@SuiNetworkチームによって開発された別のストレージプロジェクトについて話しましょう@WalrusProtocol 🧐🧐 Sui の開発会社である Mysten Labs も、@WalrusProtocolデータ層プロジェクトを開発しました。 Walrus は、データの保存とデータの可用性を行うプロジェクトです。 調べを終えた後、「すごい」という気持ちが湧きました。 これは私が今まで見た中で最高のストレージプロジェクトです。 以下は本文です。 分散型ストレージ プロジェクトには、主に 2 つのカテゴリがあります。 最初のタイプはフルレプリケーションを使用し、非効率的な冗長性とセキュリティを交換し、各ノードがArweave@Filecoinプロジェクトを表すデータの完全なコピーを保存します。 2番目のタイプは、リード・ソロモン消去コード方式を使用して元のデータをスライスして保存し、プロジェクト@Storj、Siaなどを表します。 ———————————————————————————————— イレイジャーコードを人間が話す方法で説明する イレイジャーコードの保存方法を説明する必要があり、厳密に言えば、元のファイルをf + 1の元のスライスに分割し、2fの追加修復スライバーを生成し、ストレージノードごとに異なるスライスを保存し、任意のf + 1スライスが元のファイルを再構築できます。 さて、この人間以外の表現はスキップして、次の段落を見てください。 [3, 7, 2, 5] の 4 つの重要な数字を保存したいとしますが、これらの 4 つの数字が「元のスライス」であるとします。 次に、追加のスライスを生成する必要があります。 スライス1 = 3 + 7 + 2 + 5 = 17を修正します 修復スライス 2 = 3×1 + 7×2 + 2×3 + 5×4 = 47 修復スライス 3 = 3×1² + 7×2² + 2×3² + 5×4² = 131 これで、[3、7、2、5、17、47、131]の7つのスライスがあります。 システムに7つのノードがあり、それらを分散するとします。 チャン・サン:3 李思:7 列王記 5:2 趙劉:5 お金 7:17 息子8:47 ヨハネによる福音書 9:131 Li Si、Zhao Liu、Zhou Jiu がデータを失ったと仮定すると、次の値しかありません。 では、元のデータを復元するにはどうすればよいでしょうか? 追加のスライスの公式を覚えていますか? そうです、二項線形方程式を解きます。 3 + X + 2 + Y = 17 3×1 + X×2 + 2×3 + Y×4 = 47 結果は X=7、Y=5 です。 もちろん、これはあくまでも簡単な例です。 イレイジャーコードによって達成される効果を覚えておく必要があります。 その効果は、ノードの1/3以上が正常である限りです。 言い換えれば、イレイジャーコーディングシステムでは、ノードはデータスライスのみを保存し、ノードの1/3以上が動作できる限り、データを回復できますが、交換コストが高いため、ノードの安定性が必要です。 ただし、完全に複製されたシステムでは、データのすべてのコピーをダウンロードするためのフルノードが必要です。 前者は低コストと引き換えにセキュリティの一部を犠牲にし、後者はシステムのセキュリティと安定性と引き換えに冗長性を犠牲にします。 ———————————————————————————————— Walrusの2次元(2D)イレイジャーコードの革新 セイウチのアプローチは、実際には中間点に行き、両者の間で一定のバランスを達成することです。 コアもイレイジャーコーディングを使用していますが、このテクノロジーに基づいて改良されたテクノロジーRed Stuffを作成します。 Red Stuff は、より巧妙なエンコード方法を使用してデータをシャーディングします。 前のコードを消去する例を覚えていますか? 4つの重要な数値を保存するには:[3、7、2、5]、追加のスライスを生成し、最後に2進線形方程式を解きます。 繰り返しになりますが、これは Red Stuff を説明するための例です。 Red Stuff エンコーディングは、「数独」と考えることができる 2 次元 (2D) エンコーディング アルゴリズムです。 3 7 25 in Red Stuf コードは、 [3 7] [2 5] エンコードルールが次のようになるとします。 3列目 = 1列目+2列目 4番目の列 = 1×2番目の列 + 2×2番目の列 行 3 = 行 1 + 行 2 4 行目 = 1×2 行目 + 2×2 行目 これは余分なスライスになります [3 7 10 20] [2 5 7 14] [5 12 18 34] [10 24 34 68] 次に、それらを行と列のノードに分散します。 張 3: 3 7 10 20、つまり最初の行 リーIV:2 5 7 14、2行目 列王記 5:5 12 18 34,... 趙劉: 10 24 35 68,... お金 7:3 2 5 10、1 番目の列 8日(日):7 5 12 24,... ヨハネ 9:10 7・18・34,... 鄭石:20 14 34 68,... Wang Wu がデータを失った、つまり 3 行目のデータが失われたとします。 実際、彼は最初の列の張三と2列目の李四に尋ね、それぞれ10と7の数字を尋ねるだけで済みます。 同じ二進線形方程式を解いて結果を求めます。 上記の人気があるがそれほど厳密ではない例から、レッドスタッフの特徴を要約できます。 データを回復する場合、完全な行や列は必要なく、場所固有のデータだけが必要です。 この特性は「地域性」と呼ぶことができます。 また、行と列の2次元、つまり「情報の再利用」から数値を復元できます。 次に、複雑なデータの場合、最初に計算がより「簡単で便利」な次元を復元し、次に回復されたデータの計算に難易度の次元、つまり「プログレッシブ」を使用できます。 実際には、ファイルがイレイジャーコードアーキテクチャの下で301スライスとしてエンコードされているとします。 一般的なイレイジャーコーディングシステムでは、1つのスライスを回復するのに101のスライスが必要ですが、Red Stuffでは、1ペアのスライスを回復するのに約200の個別のシンボルしか必要ありません。 1GBのファイルが保存されていると仮定すると、システムには301のノードがあり、通常のイレイジャーコードシステムは、ノード障害後、スライスを復元するために1GBをダウンロードする必要があり、各ノードは、プライマリスライス(3.3MB)+セカンダリスライス(3.3MB)= 6.6MBを格納します。 復元時にダウンロードされるシンボリックデータは約10MBのみで、帯域幅を99%節約できます。 この設計により、Walrus は非常に低い帯域幅コストで大規模な分散型ストレージ ネットワークを維持でき、O(|blob|) から O(|blob|/n) への復旧コストを削減できます。 だからレッドスタッフは「自己修復」と呼ばれています。 さらに、Walrus は、非同期ネットワークでのストレージの課題をサポートする最初のプロトコルであるなど、多くのセキュリティ機能を追加します。 ここでのいわゆる「課題」は、ノード データ ストレージに対するオプティミスティック メカニズムのスポット チェックに似ています。 Red Stuff は、各スライスに検証可能な暗号化コミットメントを追加し、各シンボルを個別に検証できます。 特徴をまとめると、 1) 最初の非同期セキュリティ: ノードへの分散ストレージの信頼問題を解決します。 2)自己検証:組み込みの偽造防止メカニズム。 3) プログレッシブ: ノードの動的な変化を処理します。 4) スケーラブル: 数百から数千のノードをサポートします。 安全性と効率性の最適なバランスを見つけるため。 (以上が本記事の前編です)
37.25K