tradingview
2 8 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Data availability

⏱️ Czas czytania: 4 min

Data availability, czyli dostępność danych, to pewność uczestników sieci blockchain, że dane potrzebne do zweryfikowania danego bloku są faktycznie dostępne dla wszystkich zainteresowanych podmiotów. Blok, dla którego dane nie są dostępne, powinien zostać odrzucony przez sieć, a nie dodany do łańcucha, ponieważ nikt nie może niezależnie zweryfikować jego poprawności.

Jak działa dostępność danych

W modelu monolitycznym, charakterystycznym dla wielu klasycznych sieci blockchain, pełne węzły pobierają wszystkie dane każdego bloku, co pozwala im samodzielnie zweryfikować każdą transakcję. Takie podejście, określane jako „onchain data availability”, jest bezpieczne, ale wymaga, aby każdy węzeł przechowywał i przetwarzał pełną historię danych, co ogranicza skalowalność sieci.

Problem dostępności danych polega na tym, że trzeba udowodnić całej sieci, że skrócona lub zagregowana forma danych – na przykład w rollupach działających na bazie sieci warstwy pierwszej – rzeczywiście reprezentuje realne, dostępne transakcje, bez zmuszania wszystkich węzłów do pobierania kompletnych danych.

Data Availability Sampling

Jednym z rozwiązań tego problemu jest tak zwane próbkowanie dostępności danych (Data Availability Sampling, DAS), w którym każdy węzeł pobiera niewielką, losową próbkę danych, a nie cały ich zbiór. Dzięki zastosowaniu kodowania nadmiarowego, w którym oryginalne dane są rozszerzane za pomocą wielomianów, brak nawet części oryginalnych danych oznacza brak znaczącej części danych rozszerzonych, co czyni próby ukrycia lub sfałszowania danych wykrywalnymi z bardzo wysokim prawdopodobieństwem, mimo że każdy węzeł sprawdza tylko niewielki fragment.

Komitety dostępności danych

Alternatywnym podejściem jest wykorzystanie komitetów dostępności danych (Data Availability Committees, DAC) – zaufanych podmiotów, które podpisują i poświadczają, że dane danej partii transakcji są rzeczywiście dostępne. Część rozwiązań zastępuje tradycyjny komitet systemem opartym na dowodzie udziału, w którym uczestnicy wnoszą zabezpieczenie finansowe (bond), które może zostać przepadnięte (slashing) w razie udowodnionego zatrzymania danych.

Przykład praktyczny

Rollupy, czyli rozwiązania skalujące działające nad główną warstwą sieci, publikują dane swoich transakcji w dedykowanych, tymczasowych strukturach danych na warstwie bazowej. Niezależni weryfikatorzy muszą mieć okazję pobrać te dane i zgłosić ewentualne zastrzeżenia w oknie czasowym liczącym typowo kilkanaście dni, zanim dane zostaną usunięte z warstwy bazowej i przejdą pod odpowiedzialność archiwalną innych podmiotów ekosystemu.

Ryzyka i ograniczenia

Gwarancja dostępności danych zapewniana przez warstwę bazową bywa czasowa – po określonym oknie czasowym dane mogą zostać usunięte z głównej sieci, a ich dalsza archiwizacja zależy od innych uczestników ekosystemu, a nie od samego protokołu. Rozwiązania oparte na komitetach dostępności danych wprowadzają dodatkowy element zaufania – bezpieczeństwo takiego systemu zależy od konfiguracji konkretnego komitetu i może zostać skompromitowane, jeśli wystarczająca liczba jego członków działa nieuczciwie lub zostanie wyłączona z sieci.

Nawet lekkie węzły wykorzystujące próbkowanie muszą ufać określonym mechanizmom losowego doboru uczestników weryfikujących sieć, co wprowadza pewne, choć statystycznie niewielkie, założenia dotyczące uczciwości większości uczestników danego mechanizmu w danym okresie.

Podsumowanie

Data availability to fundamentalna gwarancja pozwalająca uczestnikom sieci blockchain zweryfikować, że dane transakcji faktycznie istnieją i są dostępne, a nie jedynie zadeklarowane. Rozwiązania takie jak próbkowanie dostępności danych czy komitety dostępności danych pozwalają ograniczyć koszt tej weryfikacji bez utraty możliwości wykrycia nieprawidłowości, co jest kluczowe dla bezpiecznego skalowania sieci blockchain, w szczególności rollupów i architektur modularnych.