Porozmawiajmy o innym projekcie przechowywania stworzonym przez zespół @SuiNetwork @WalrusProtocol 🧐🧐
Firma deweloperska Sui, Mysten Labs, stworzyła również projekt warstwy danych @WalrusProtocol.
Walrus to projekt zajmujący się przechowywaniem danych i ich dostępnością. Po moich badaniach mam jedno odczucie — "świetne". To najlepszy projekt przechowywania, jaki kiedykolwiek widziałem.
Oto główny tekst,
Główne projekty przechowywania w zdecentralizowanej sieci można podzielić na dwie kategorie.
Pierwsza kategoria wykorzystuje całkowitą replikację (full replication), aby uzyskać bezpieczeństwo kosztem niskiej efektywności, co oznacza, że każdy węzeł przechowuje pełną kopię danych, reprezentowana przez projekty @Filecoin Arweave.
Druga kategoria wykorzystuje kodowanie Reed-Solomona, które dzieli oryginalne dane na fragmenty, reprezentowane przez projekty @Storj, Sia itd.
————————————————————————————————
Wyjaśnienie kodów usuwania (Erasure Codes) w prostych słowach
Sposób przechowywania kodów usuwania (Erasure Codes) wymaga wyjaśnienia, mówiąc ściśle, polega na podzieleniu oryginalnego pliku na f+1 fragmentów, generując 2f dodatkowych fragmentów naprawczych (repair slivers), z których każdy węzeł przechowuje inny fragment, a dowolne f+1 fragmentów mogą odbudować oryginalny plik.
Dobrze, możesz pominąć tę część, która nie jest w prostych słowach, i przejść do poniższej.
Załóżmy, że chcemy przechować 4 ważne liczby: [3, 7, 2, 5], te 4 liczby to nasze "oryginalne fragmenty".
Następnie musimy wygenerować dodatkowe fragmenty,
Fragment naprawczy 1 = 3 + 7 + 2 + 5 = 17
Fragment naprawczy 2 = 3×1 + 7×2 + 2×3 + 5×4 = 47
Fragment naprawczy 3 = 3×1² + 7×2² + 2×3² + 5×4² = 131
Teraz mamy 7 fragmentów: [3, 7, 2, 5, 17, 47, 131], prawda?
Załóżmy, że system ma 7 węzłów, rozdzielamy je,
Zhang San: 3
Li Si: 7
Wang Wu: 2
Zhao Liu: 5
Qian Qi: 17
Sun Ba: 47
Zhou Jiu: 131
Załóżmy, że Li Si, Zhao Liu i Zhou Jiu stracili dane, mamy tylko: [3, _, 2, _, 17, 47, _].
Jak więc odzyskać oryginalne dane?
Pamiętasz formułę z dodatkowymi fragmentami? Zgadza się, rozwiązujemy równanie liniowe.
3 + X + 2 + Y = 17
3×1 + X×2 + 2×3 + Y×4 = 47
Otrzymujemy X=7, Y=5.
Oczywiście to tylko bardzo prosty przykład.
Musisz tylko pamiętać, że efektem kodów usuwania jest to, że wystarczy, aby ponad 1/3 węzłów działało poprawnie.
Innymi słowy, w systemie kodów usuwania węzły przechowują tylko fragmenty danych, wystarczy, że ponad 1/3 węzłów może działać, a dane można odzyskać, ale węzły muszą być stabilne, ponieważ koszty wymiany są wysokie.
Natomiast w systemie całkowitej replikacji muszą istnieć pełne węzły, które pobierają wszystkie kopie danych.
Pierwszy system poświęca część bezpieczeństwa na rzecz niskich kosztów, podczas gdy drugi poświęca nadmiarowość na rzecz bezpieczeństwa i stabilności systemu.
————————————————————————————————
Innowacja kodów usuwania Walrus w wymiarze dwuwymiarowym (two-dimensional, 2D)
Metoda Walrus w rzeczywistości znajduje się w punkcie pośrednim, osiągając pewną równowagę między oboma. Jego rdzeń również wykorzystuje kody usuwania, ale w tej technologii wprowadzono innowacyjną technologię Red Stuff.
Red Stuff wykorzystuje bardziej sprytny sposób kodowania do fragmentacji danych. Pamiętasz wcześniejszy przykład kodów usuwania?
Aby przechować 4 ważne liczby: [3, 7, 2, 5], musimy wygenerować dodatkowe fragmenty, a następnie rozwiązać równanie liniowe.
Wyjaśnijmy ten przykład za pomocą Red Stuff. Metoda kodowania Red Stuff to dwuwymiarowy (two-dimensional, 2D) algorytm kodowania, możesz to sobie wyobrazić jako „sudoku”.
3 7 25 w kodowaniu Red Stuff staje się,
[3 7]
[2 5]
Załóżmy, że zasady kodowania są takie,
3 kolumna = 1 kolumna + 2 kolumna
4 kolumna = 1 kolumna×2 + 2 kolumna×2
3 wiersz = 1 wiersz + 2 wiersz
4 wiersz = 1 wiersz×2 + 2 wiersz×2
To dodatkowe fragmenty stają się
[3 7 10 20]
[2 5 7 14]
[5 12 18 34]
[10 24 34 68]
Następnie rozdzielamy je według wierszy i kolumn do węzłów,
Zhang San: 3 7 10 20, czyli pierwszy wiersz
Li Si: 2 5 7 14, drugi wiersz
Wang Wu: 5 12 18 34,…
Zhao Liu: 10 24 35 68,…
Qian Qi: 3 2 5 10, pierwsza kolumna
Sun Ba: 7 5 12 24,…
Zhou Jiu: 10 7 18 34,…
Zheng Shi: 20 14 34 68,…
Załóżmy, że Wang Wu stracił dane, co oznacza, że stracił dane z 3 wiersza. W rzeczywistości wystarczy, że zapyta Zhang San z pierwszego wiersza i Li Si z drugiego wiersza, aby uzyskać odpowiednio liczby 10 i 7.
Ponownie rozwiązujemy równanie liniowe, aby uzyskać wynik.
Z powyższego prostego, ale nieco nieprecyzyjnego przykładu możemy podsumować cechy Red Stuff,
Podczas odzyskiwania danych nie potrzebujesz pełnego wiersza ani kolumny, wystarczy, że masz dane z określonej pozycji. Tę cechę można nazwać „lokalnością”.
Ponadto, jedna liczba może być odzyskiwana z dwóch wymiarów, czyli „ponownym wykorzystaniem informacji”.
Dodatkowo, w przypadku złożonych danych można najpierw odzyskać bardziej „łatwe” wymiary do obliczeń, a następnie wykorzystać już odzyskane dane do obliczenia trudniejszych wymiarów, co można nazwać „progresywnością”.
W praktycznym zastosowaniu, załóżmy, że jakiś plik w architekturze kodów usuwania jest kodowany na 301 fragmentów.
W typowym systemie kodów usuwania, aby odzyskać 1 fragment, potrzebujesz 101 fragmentów, podczas gdy w Red Stuff, aby odzyskać 1 parę fragmentów, potrzebujesz tylko około 200 pojedynczych symboli.
Załóżmy, że przechowujesz plik 1GB, system ma 301 węzłów, w typowym systemie kodów usuwania, po awarii węzła musisz pobrać 1GB, aby odzyskać fragment, podczas gdy w Red Stuff każdy węzeł przechowuje: główny fragment (3.3MB) + dodatkowy fragment (3.3MB) = 6.6MB.
Podczas odzyskiwania wystarczy pobrać około 10MB danych symbolicznych, co oszczędza 99% pasma.
Ten projekt pozwala Walrusowi utrzymać dużą zdecentralizowaną sieć przechowywania przy bardzo niskich kosztach pasma, obniżając koszty odzyskiwania z O(|blob|) do O(|blob|/n). Dlatego Red Stuff nazywa się "samo-naprawiającym".
Oprócz tego, Walrus wprowadza wiele funkcji bezpieczeństwa, na przykład jest pierwszym protokołem wspierającym wyzwania przechowywania w sieciach asynchronicznych.
Tutaj „wyzwania” są podobne do mechanizmu optymistycznego, który sprawdza stan przechowywania danych w węzłach.
Red Stuff dodaje do każdego fragmentu weryfikowalne zobowiązania kryptograficzne (commitments), każdy symbol można niezależnie weryfikować itd.
Podsumowując cechy,
1) Pierwsze asynchroniczne bezpieczeństwo: rozwiązuje problem zaufania w przechowywaniu rozproszonym;
2) Samo-weryfikacja: wbudowany mechanizm przeciwdziałania fałszerstwom;
3) Progresywność: obsługuje dynamiczne zmiany w węzłach;
4) Skalowalność: wspiera setki do tysięcy węzłów;
Aby znaleźć najlepszą równowagę między bezpieczeństwem a wydajnością.
(Powyższe to pierwsza część artykułu)
Pokaż oryginał29,03 tys.
13
Treści na tej stronie są dostarczane przez strony trzecie. O ile nie zaznaczono inaczej, OKX nie jest autorem cytowanych artykułów i nie rości sobie żadnych praw autorskich do tych materiałów. Treść jest dostarczana wyłącznie w celach informacyjnych i nie reprezentuje poglądów OKX. Nie mają one na celu jakiejkolwiek rekomendacji i nie powinny być traktowane jako porada inwestycyjna lub zachęta do zakupu lub sprzedaży aktywów cyfrowych. Treści, w zakresie w jakim jest wykorzystywana generatywna sztuczna inteligencja do dostarczania podsumowań lub innych informacji, mogą być niedokładne lub niespójne. Przeczytaj podlinkowany artykuł, aby uzyskać więcej szczegółów i informacji. OKX nie ponosi odpowiedzialności za treści hostowane na stronach osób trzecich. Posiadanie aktywów cyfrowych, w tym stablecoinów i NFT, wiąże się z wysokim stopniem ryzyka i może podlegać znacznym wahaniom. Musisz dokładnie rozważyć, czy handel lub posiadanie aktywów cyfrowych jest dla Ciebie odpowiednie w świetle Twojej sytuacji finansowej.