W systemach przechowywania rozproszonego największym zagrożeniem rzadko jest coś dramatycznego. Nie jest to sensacyjny atak czy nagły kolaps protokołu. Jest to coś znacznie cichszego i znacznie bardziej powszechnego: po prostu zniknięcie maszyny.
Dysk twardy ulega awarii.
Centrum danych zostaje wyłączone.
Dostawca chmury zamyka region.
Operator traci zainteresowanie i wyłącza węzeł.
Te zdarzenia zachodzą każdego dnia, a w większości systemów przechowywania rozproszonego wywołują łańcuchową reakcję kosztów, nieefektywności i ryzyka. Gdy pojedynczy fragment przechowywanych danych zniknie, sieć często musi odtworzyć cały plik od początku. Z czasem to ciągłe odtwarzanie staje się ukrytym podatkiem, który powoli wyczerpuje wydajność i skalowalność.
Walrus został zbudowany, aby uciec od tego losu.
Zamiast traktować utratę danych jako katastrofę wymagającą globalnego odzyskiwania, Walrus traktuje ją jako lokalny problem z lokalnym rozwiązaniem. Gdy coś się psuje, Walrus nie wpada w panikę. Naprawia tylko to, co jest brakujące, używając tylko tego, co już istnieje.
Ta różnica może brzmieć subtelnie, ale całkowicie zmienia sposób, w jaki zdecentralizowane przechowywanie działa w skali.
Cichy koszt tradycyjnego przechowywania zdecentralizowanego
Większość systemów przechowywania zdecentralizowanego polega na jakiejś formie kodowania usuwającego. Pliki są dzielone na kawałki, te kawałki są rozdzielane po węzłach, a nadmiar zapewnia, że dane mogą być nadal odzyskiwane, jeśli niektóre części zostaną utracone.
Teoretycznie to działa. W praktyce jest to niezwykle kosztowne.
Gdy fragment znika w tradycyjnym systemie, sieć musi:
Zbierz wiele innych fragmentów z całej sieci
Zrekonstruuj cały oryginalny plik
Ponownie go zakoduj
Wygeneruj zastępczy fragment
Prześlij go ponownie do nowego węzła
Ten proces zużywa pasmo, czas i zasoby obliczeniowe. Co gorsza, koszt odzyskiwania rośnie wraz z rozmiarem pliku. Utrata pojedynczego fragmentu z ogromnego zbioru danych może wymagać przetworzenia całego zbioru danych.
Gdy węzły ciągle się przyłączają i odłączają, to odbudowa staje się stała. Sieć zawsze naprawia się poprzez pobieranie i ponowne przesyłanie ogromnych ilości danych. Z biegiem czasu, przechowywanie zamienia się w silnik odzyskiwania, a nie system przechowywania.
Walrus został zaprojektowany z innym założeniem: awaria węzła jest normalna, a nie wyjątkowa.
Kluczowa intuicja za Walrus
Walrus zaczyna od prostego pytania:
Dlaczego utrata małego kawałka danych wymaga odbudowy wszystkiego?
Odpowiedź, w tradycyjnych systemach, jest strukturalna. Dane są przechowywane w jednym wymiarze. Gdy fragment znika, nie ma zlokalizowanego sposobu, aby go odtworzyć. System musi zrekonstruować całość.
Walrus łamie ten wzór, zmieniając sposób organizacji danych.
Zamiast dzielić pliki na pojedynczą linię fragmentów, Walrus organizuje dane w dwuwymiarowej siatce. Ten projekt jest napędzany przez jego system kodowania, znany jako RedStuff.
Ta struktura siatki nie jest tylko wyborem układu. To matematyczna rama, która daje Walrusowi zdolność samoleczenia.
Jak działa siatka danych Walrus
Gdy plik jest przechowywany na Walrus, jest kodowany zarówno w wierszach, jak i kolumnach siatki. Każdy węzeł przechowujący zawiera:
Jeden zakodowany segment wiersza (główny fragment)
Jeden zakodowany segment kolumny (wtórny fragment)
Każdy wiersz jest reprezentacją danych z kodowaniem usuwającym.
Każda kolumna jest również reprezentacją tych samych danych z kodowaniem usuwającym.
Oznacza to, że plik istnieje jednocześnie w dwóch niezależnych wymiarach.
Żaden pojedynczy fragment nie stoi sam. Każdy kawałek jest matematycznie powiązany z wieloma innymi.
Co się dzieje, gdy węzeł znika
Teraz wyobraź sobie, że węzeł przechodzi w tryb offline.
W tradycyjnym systemie fragment, który trzymał, po prostu znika. Odzyskiwanie wymaga odbudowy pełnego pliku.
W Walrus, to, co znika, jest znacznie bardziej ograniczone:
Jeden fragment wiersza
Jeden fragment kolumny
Reszta tego wiersza nadal istnieje w innych kolumnach.
Reszta tej kolumny nadal istnieje w innych wierszach.
Odzyskanie nie wymaga całego pliku. Wymaga tylko pobliskich fragmentów w tym samym wierszu i kolumnie.
Używając nadmiaru już wbudowanego w RedStuff, sieć rekonstruuje brakujące fragmenty przez przecinanie tych dwóch wymiarów. Naprawa jest lokalna, precyzyjna i wydajna.
Nie jest potrzebna pełna rekonstrukcja pliku.
Nie występuje masowy ruch danych.
Nie jest wymagana interakcja użytkownika.
System leczy się cicho w tle.
Dlaczego lokalna naprawa zmienia wszystko
Ta lokalna właściwość naprawy to to, co czyni Walrus zasadniczo różnym.
W większości systemów koszt odzyskiwania rośnie wraz z rozmiarem pliku. Większy plik jest droższy w naprawie, nawet jeśli tylko mała część jest utracona.
W Walrus, koszt odzyskiwania zależy tylko od tego, co zostało utracone. Utrata jednego fragmentu kosztuje mniej więcej tyle samo, niezależnie od tego, czy plik ma jeden megabajt, czy jeden terabajt.
To sprawia, że Walrus jest praktyczny dla:
Ogromne zbiory danych
Długoterminowe archiwa
Dane do uczenia AI
Duże biblioteki mediów
Obciążenia przechowywania instytucjonalnego
Sprawia to również, że Walrus jest odporny na fluktuacje. Węzły mogą przychodzić i odchodzić bez wywoływania katastrofalnych burz odzyskiwania. Naprawy są małe, częste i zrównoleglone.
Sieć nie zwalnia, gdy staje się starsza. Nie gromadzi zadłużenia technicznego w postaci niekończących się odbudów. Pozostaje stabilna, ponieważ została zaprojektowana z myślą o niestabilności.
Zaprojektowane z myślą o fluktuacjach, nie bojące się ich
Większość systemów zdecentralizowanych toleruje zamieszanie. Walrus się tego spodziewa.
W sieciach bez zezwoleń operatorzy odchodzą. Zachęty się zmieniają. Sprzęt się starzeje. Sieci fluktuują. To nie są przypadki skrajne; to jest stan rzeczywisty.
Walrus radzi sobie z fluktuacjami, przekształcając je w zadanie konserwacyjne, a nie kryzys. Wiele małych napraw odbywa się ciągle, każda tania i lokalna. System dostosowuje się bez dramatów.
Dlatego dokumentacja Walrus opisuje protokół jako zoptymalizowany pod kątem fluktuacji. Nie jest tylko odporny. Jest komfortowy w środowisku, gdzie nic nie pozostaje stałe.
Bezpieczeństwo przez strukturę, a nie zaufanie
Projekt siatki dostarcza również potężną korzyść bezpieczeństwa.
Ponieważ fragmenty każdego węzła są matematycznie powiązane z resztą siatki, niezwykle trudno jest złośliwemu węzłowi udawać, że przechowuje dane, których nie ma. Jeśli węzeł usunie swoje fragmenty lub spróbuje oszukiwać, nie zda wyzwań weryfikacyjnych.
Inne węzły mogą wykryć niespójność, udowodnić, że dane są brakujące i wywołać odzyskiwanie.
Walrus nie opiera się na reputacji ani założeniach dotyczących zaufania. Polega na geometrii i kryptografii. Struktura sama w sobie wymusza uczciwość.
Bezproblemowa migracja w czasie
Walrus działa w epokach, gdzie zestaw węzłów przechowujących ewoluuje w czasie. Gdy sieć przechodzi z jednej epoki do drugiej, odpowiedzialność za przechowywanie danych przesuwa się.
W wielu systemach, wymagałoby to kopiowania ogromnych ilości danych między komisjami. W Walrus większość siatki pozostaje nienaruszona. Tylko brakujące lub przypisane fragmenty muszą zostać zrekonstruowane.
Nowe węzły po prostu wypełniają luki.
To sprawia, że długoterminowa operacja jest zrównoważona. Sieć nie staje się cięższa ani bardziej krucha z upływem lat. Pozostaje płynna, naprawiając tylko to, co jest konieczne.
Łagodna degradacja zamiast nagłego niepowodzenia
Być może najważniejszym wynikiem tego projektu jest łagodna degradacja.
W wielu systemach, gdy wystarczająco dużo węzłów zawiedzie, dane nagle stają się nieodzyskiwalne. Spadek jest ostry i bezwzględny.
W Walrus, utrata zachodzi stopniowo. Nawet jeśli znaczna część węzłów zawiedzie, dane nie znikają natychmiast. Stają się wolniejsze lub trudniejsze do uzyskania, ale nadal możliwe do odzyskania. System zyskuje czas na naprawę.
To ma znaczenie, ponieważ rzeczywiste systemy rzadko zawodzą wszystko na raz. Erozyjne. Walrus został zbudowany do erozji, a nie doskonałości.
Zbudowany dla świata, w którym naprawdę żyjemy
Maszyny się psują.
Sieci kłamią.
Ludzie znikają.
Walrus nie zakłada czystego środowiska laboratoryjnego, gdzie wszystko zachowuje się poprawnie na zawsze. Zakłada chaos, zamieszanie i entropię.
Dlatego nie odbudowuje plików, gdy coś idzie nie tak. Po prostu zszywa tkankę swojej siatki danych z powrotem razem, jeden fragment na raz, aż całość zostanie przywrócona.
To nie jest tylko optymalizacja. To filozofia infrastruktury.
Walrus nie stara się uczynić porażki niemożliwą.
Czyni porażkę przystępną.
A w systemach zdecentralizowanych, ta różnica definiuje, czy coś przetrwa na dłuższą metę.