Data Availability Sampling (DAS, próbkowanie dostępności danych) to metoda pozwalająca węzłom sieci blockchain upewnić się, że dane określonego bloku zostały w pełni udostępnione, bez konieczności pobrania całej ich zawartości. Zamiast ściągać komplet danych, węzeł pobiera jedynie niewielką, losowo wybraną próbkę i na tej podstawie, w połączeniu z odpowiednim kodowaniem danych, może z dużą pewnością wnioskować o dostępności całości.
Definicja i cel DAS
Idea DAS opiera się na spostrzeżeniu, że sprawdzenie dostępności wszystkich danych bloku nie wymaga posiadania każdego bajtu tych danych, o ile są one odpowiednio zakodowane. Ethereum implementuje tę ideę w projekcie znanym jako PeerDAS — protokole sieciowym pozwalającym węzłom upewnić się, że dane tzw. blobów zostały udostępnione, mimo pobrania jedynie niewielkiej części całości. W innych sieciach, takich jak Celestia, DAS pozwala tzw. lekkim węzłom (light nodes) zweryfikować dostępność danych bez pobierania całego bloku.
Jak działa próbkowanie dostępności danych
Podejście stosowane w Ethereum
Dane blobów są rozszerzane za pomocą kodu korygującego błędy (erasure coding), co pozwala odtworzyć całość danych na podstawie jedynie części fragmentów. Każdy węzeł utrzymuje określony, deterministycznie wyznaczony zbiór fragmentów (kolumn) danych i wymienia je z innymi uczestnikami sieci w ramach dedykowanych kanałów komunikacyjnych. Węzły próbkują fragmenty danych od innych uczestników w każdym slocie, a posiadanie odpowiedniej części całości pozwala w razie potrzeby zrekonstruować pełną macierz danych. Bezpieczeństwo tego mechanizmu opiera się na losowym doborze próbkowanych fragmentów — prawdopodobieństwo, że złośliwy producent bloku oszuka wystarczająco dużą liczbę próbkujących węzłów, maleje bardzo szybko wraz z rozmiarem sieci.
Podejście stosowane w Celestii
W Celestii dane bloku są kodowane dwuwymiarowym kodem korygującym błędy. Lekki węzeł losuje unikalne współrzędne w rozszerzonej macierzy danych i odpytuje pełne węzły o odpowiadające im fragmenty wraz z dowodami kryptograficznymi ich przynależności do bloku. Otrzymanie poprawnych odpowiedzi na wszystkie takie zapytania daje wysokie prawdopodobieństwo, że całość danych bloku jest faktycznie dostępna. Przeciwko złośliwemu, nieprawidłowemu zakodowaniu danych stosuje się dodatkowo dowody oszustwa, dzięki czemu bezpieczeństwo systemu nie wymaga, aby większość producentów bloków była uczciwa.
Praktyczne znaczenie DAS
DAS jest warunkiem dla dalszego skalowania Ethereum i rozwoju bardzo lekkich klientów, które mogą zweryfikować dostępność dużej ilości danych bez potrzeby ich pełnego przechowywania. Im więcej lekkich węzłów próbkuje dane, tym większe bloki można bezpiecznie wprowadzić, zachowując wykonalność dla uczestników o ograniczonych zasobach sprzętowych. Pierwszy etap tego kierunku rozwoju weszedł już do sieci głównej Ethereum, natomiast pełna wersja docelowego mechanizmu skalowania danych pozostaje odległym celem badawczym.
Czym DAS nie jest
DAS to metoda weryfikacji dostępności danych, a nie sama dostępność danych ani ich trwałe przechowywanie. Dane, których dostępność potwierdza DAS, mogą być po pewnym czasie usuwane z węzłów konsensusu — celem jest zapewnienie, że dane były dostępne wystarczająco długo, by uczciwi uczestnicy mogli zbudować na ich podstawie stan systemu, a nie zapewnienie wiecznego przechowywania. DAS nie chroni również przed niepoprawnym zakodowaniem danych samo w sobie — do tego potrzebne są dodatkowe mechanizmy, takie jak dowody oszustwa. Warto też pamiętać, że DAS nie weryfikuje poprawności samych transakcji — warstwa dostępności danych jest w tym sensie neutralna wobec treści danych, które udostępnia.
Ograniczenia i ryzyka
Głównym wektorem ataku na systemy DAS jest tzw. zatrzymywanie danych (data withholding) — sytuacja, w której producent bloku próbuje przekonać sieć, że dane są dostępne, mimo że faktycznie ich nie udostępnił. Bezpieczeństwo całego mechanizmu jest probabilistyczne, a nie absolutne — zależy od liczby próbkujących węzłów oraz parametrów samego protokołu próbkowania. Gwarancje oferowane przez systemy takie jak Celestia są opisywane wprost jako gwarancje wysokiego prawdopodobieństwa, a nie matematyczna pewność. Istnieje też ryzyko ekonomiczne dla użytkowników rollupów — po określonym czasie dane mogą zniknąć z węzłów konsensusu i muszą być archiwizowane w innym miejscu, jeśli mają być potrzebne w przyszłości.
Podsumowanie
Data Availability Sampling pozwala węzłom sieci zweryfikować dostępność danych bloku bez ich pełnego pobrania, co jest kluczowe dla dalszego skalowania blockchainów i rozwoju lekkich klientów. To metoda weryfikacji, a nie samo przechowywanie danych, a jej bezpieczeństwo ma charakter probabilistyczny, zależny od liczby uczestniczących węzłów i parametrów konkretnej implementacji. Głównym ryzykiem pozostaje możliwość zatrzymania danych przez nieuczciwego producenta bloku.



