Lassen Sie uns über ein weiteres Speicherprojekt sprechen, das vom @SuiNetwork-Team entwickelt wurde, @WalrusProtocol 🧐🧐 Mysten Labs, ein Sui-Entwicklungsunternehmen, hat @WalrusProtocol auch ein Data-Layer-Projekt entwickelt. Walrus ist ein Projekt, das sich mit der Speicherung und Verfügbarkeit von Daten beschäftigt. Nachdem ich mit der Recherche fertig war, hatte ich ein Gefühl - "geil". Dies ist das beste Speicherprojekt, das ich je gesehen habe. Im Folgenden finden Sie den Text: Es gibt zwei Hauptkategorien von dezentralen Speicherprojekten. Der erste Typ verwendet die vollständige Replikation, bei der ineffiziente Redundanz gegen Sicherheit eingetauscht wird, wobei jeder Knoten eine vollständige Kopie der Daten speichert, die das Projekt @Filecoin Arweave darstellen. Der zweite Typ verwendet die Reed-Solomon-Löschcode-Methode, um die ursprünglichen Daten, die Projekte @Storj, Sia usw. darstellen, aufzuteilen und zu speichern. ———————————————————————————————— Erklären Sie Erasure Codes in menschlicher Sprache Die Speichermethode von Erasure Codes muss erklärt werden, streng genommen besteht sie darin, die Originaldatei in f+1 Original-Slices aufzuteilen, 2f zusätzliche Reparatur-Splitter zu generieren, für jeden Speicherknoten einen anderen Slice zu speichern, und jeder f+1-Slice kann die Originaldatei rekonstruieren. Nun, Sie können diesen nicht-menschlichen Ausdruck überspringen und sich den folgenden Absatz ansehen. Nehmen wir an, wir möchten 4 wichtige Zahlen speichern: [3, 7, 2, 5], und diese 4 Zahlen sind unsere "ursprünglichen Scheiben". Als nächstes müssen wir zusätzliche Slices generieren, Scheiben fixieren 1 = 3 + 7 + 2 + 5 = 17 Reparatur-Schicht 2 = 3×1 + 7×2 + 2×3 + 5×4 = 47 Schicht 3 reparieren = 3×1² + 7×2² + 2×3² + 5×4² = 131 Jetzt haben wir 7 Scheiben: [3, 7, 2, 5, 17, 47, 131], rechts. Nehmen wir an, das System hat 7 Knoten, und wir verteilen sie, Zhang San: 3 Li Si: 7 Könige 5:2 Zhao Liu: 5 Geld 7:17 Sohn 8:47 Johannes 9:131 Unter der Annahme, dass Li Si, Zhao Liu und Zhou Jiu Daten verlieren, haben wir nur: [3, _, 2, _, 17, 47, _]. Wie kann man also die Originaldaten wiederherstellen? Erinnern Sie sich an die Formel für zusätzliche Scheiben? Das ist richtig, lösen Sie eine binäre lineare Gleichung. 3 + X + 2 + Y = 17 3×1 + X×2 + 2×3 + Y×4 = 47 Das Ergebnis ist X=7, Y=5. Natürlich ist dies nur ein einfaches Beispiel. Sie müssen sich nur an den Effekt erinnern, den der Löschcode erzielt hat. Der Effekt ist, dass, solange mehr als 1/3 der Knoten fehlerfrei sind. Mit anderen Worten, im Erasure Coding-System speichern Knoten nur Datenscheiben, solange mehr als 1/3 der Knoten arbeiten können, können die Daten wiederhergestellt werden, aber die Stabilität der Knoten ist aufgrund der hohen Kosten für den Ersatz erforderlich. In einem vollständig replizierten System muss jedoch ein vollständiger Knoten vorhanden sein, um alle Kopien der Daten herunterzuladen. Ersteres opfert einen Teil der Sicherheit im Austausch für niedrige Kosten, während letzteres Redundanz gegen Systemsicherheit und -stabilität eintauscht. ———————————————————————————————— Die zweidimensionale (2D) Erasure-Code-Innovation von Walrus Der Ansatz von Walrus besteht eigentlich darin, in die Mitte zu gehen und ein gewisses Gleichgewicht zwischen den beiden zu erreichen. Der Kern verwendet auch Erasure Coding, aber er schafft eine verbesserte Technologie Red Stuff auf dieser Technologie. Red Stuff verwendet eine cleverere Codierungsmethode, um die Daten zu härten. Erinnern Sie sich an das vorherige Beispiel zum Löschen von Codes? Um 4 wichtige Zahlen zu speichern: [3, 7, 2, 5], generieren Sie zusätzliche Schichten und lösen Sie schließlich die binäre lineare Gleichung. Auch dies ist ein Beispiel, um Red Stuff zu erklären. Die Red Stuff-Codierung ist ein zweidimensionaler (2D) Codierungsalgorithmus, den Sie sich als "Sudoku" vorstellen können. 3 7 25 im Red Stuf Code wird zu [3 7] [2 5] Angenommen, die Codierungsregel lautet: Spalte 3 = Spalte 1 + Spalte 2 Spalte 4 = Spalte 1×2 + Spalte 2×2 Zeile 3 = Zeile 1 + Zeile 2 Zeile 4 = Reihe 1×2 + Reihe 2×2 Das ist die zusätzliche Scheibe wird [3 7 10 20] [2 5 7 14] [5 12 18 34] [10 24 34 68] Als nächstes verteilen wir sie in Zeilen und Spalten auf Knoten, Zhang 3: 3 7 10 20, d.h. die erste Zeile Lee IV: 2 5 7 14, Zeile 2 Könige 5:5 12 18 34,... Zhao Liu: 10 24 35 68,... Geld 7:3 2 5 10, Spalte 1 8 So: 7 5 12 24,... JN 9:10 7 18 34,... Zheng Shi: 20 14 34 68,... Nehmen wir an, Wang Wu verliert Daten, d.h. die Daten in Zeile 3 gehen verloren. Tatsächlich braucht er nur Zhang San in der ersten Reihe und Li Si in der zweiten Reihe zu fragen und sie nach den Zahlen 10 bzw. 7 zu fragen. Die gleiche binäre lineare Gleichung wird gelöst, um das Ergebnis zu erhalten. Aus den oben genannten beliebten, aber nicht so strengen Beispielen können wir die Eigenschaften von Red Stuff zusammenfassen, Bei der Wiederherstellung von Daten benötigen Sie keine ganzen Zeilen oder Spalten, sondern nur standortspezifische Daten. Diese Eigenschaft kann als "Lokalität" bezeichnet werden. Darüber hinaus kann eine Zahl aus zwei Dimensionen wiederhergestellt werden: Zeilen und Spalten, d. h. "Wiederverwendung von Informationen". Zweitens können Sie bei komplexen Daten zunächst die Dimension wiederherstellen, die "einfacher" und bequemer zu berechnen ist, und dann die Schwierigkeitsdimension bei der Berechnung der wiederhergestellten Daten verwenden, d. h. die "Progressivität". Nehmen wir in der Praxis an, dass eine Datei als 301-Slices unter der Erasure-Code-Architektur codiert ist. In einem typischen Erasure Coding-System sind 101 Slices erforderlich, um 1 Slice wiederherzustellen, aber in Red Stuff sind nur etwa 200 einzelne Symbole erforderlich, um 1 Paar Slices wiederherzustellen. Unter der Annahme, dass eine 1-GB-Datei gespeichert ist, verfügt das System über 301 Knoten, das übliche Löschcode-System muss nach einem Knotenausfall 1 GB herunterladen, um Slices wiederherzustellen, und Red Stuff speichert jeder Knoten: primären Slice (3,3 MB) + sekundären Slice (3,3 MB) = 6,6 MB. Bei der Wiederherstellung werden nur etwa 10 MB symbolische Daten heruntergeladen, wodurch 99 % der Bandbreite eingespart werden. Dieses Design ermöglicht es Walrus, ein groß angelegtes dezentrales Speichernetzwerk mit sehr niedrigen Bandbreitenkosten zu unterhalten und die Wiederherstellungskosten von O(|blob|) auf O(|blob|/n) zu reduzieren. Deshalb wird Red Stuff auch "Selbstheilung" genannt. Darüber hinaus fügt Walrus eine Reihe von Sicherheitsfunktionen hinzu, z. B. ist es das erste Protokoll, das Speicherherausforderungen in asynchronen Netzwerken unterstützt. Die sogenannte "Herausforderung" ähnelt hier der Stichprobenprüfung des Optimistic-Mechanismus bei der Datenspeicherung der Knoten. Red Stuff fügt jedem Slice überprüfbare kryptografische Verpflichtungen hinzu, jedes Symbol kann unabhängig verifiziert werden und so weiter. Um die Merkmale zusammenzufassen, 1) Die erste asynchrone Sicherheit: löst das Vertrauensproblem des verteilten Speichers auf Knoten; 2) Selbstverifizierung: eingebauter Fälschungsschutzmechanismus; 3) Progressiv: Verarbeiten Sie dynamische Änderungen in Knoten; 4) Skalierbar: Unterstützt Hunderte bis Tausende von Knoten; um die beste Balance zwischen Sicherheit und Effizienz zu finden. (Das Obige ist der erste Teil dieses Artikels)
38,37K