Internet opiera się na ogromnych ilościach przechowywanych danych. Zdjęcia, strony internetowe, dokumenty, pliki aplikacji, filmy i informacje związane z blockchainem muszą być gdzieś przechowywane. Tradycyjnie większość tych danych była przechowywana na serwerach kontrolowanych przez firmy, dostawców usług chmurowych lub inne scentralizowane organizacje.
Zdecentralizowane przechowywanie danych wykorzystuje inne podejście. Zamiast polegać na jednym dostawcy lub grupie centrów danych, rozprowadza dane po sieciach niezależnych uczestników. Kryptografia, systemy rozproszone i zachęty ekonomiczne mogą następnie służyć do utrzymywania dostępności i możliwości weryfikacji tych danych.
Zdecentralizowane przechowywanie danych nie jest jednak po prostu "przechowywaniem w chmurze na blockchainie". Różne sieci wykorzystują bardzo różne architektury, a zrozumienie tych różnic jest ważne przy ocenie tego, co zdecentralizowane przechowywanie danych może faktycznie zaoferować.
Czym jest zdecentralizowane przechowywanie danych?
Zdecentralizowane przechowywanie danych to metoda przechowywania i pobierania informacji cyfrowych za pomocą rozproszonej sieci, zamiast całkowitego polegania na infrastrukturze kontrolowanej przez jedną organizację.
W tradycyjnym systemie przechowywania danych w chmurze firma obsługuje serwery i określa, w jaki sposób dane są przechowywane, replikowane i udostępniane oraz ile kosztuje ich przechowywanie. Użytkownicy korzystają z infrastruktury tej firmy i ufają, że zapewni ona dostępność ich informacji.
Zdecentralizowana sieć przechowywania danych rozdziela te obowiązki pomiędzy wielu niezależnych uczestników.
W zależności od systemu uczestnicy mogą udostępniać miejsce na dyskach, obsługiwać węzły pamięci masowej, pobierać pliki, sprawdzać, czy informacje pozostają dostępne, lub zapewniać inne zasoby potrzebne sieci.
Podstawowa idea jest prosta:
Zamiast powierzać przechowywanie swoich danych jednej organizacji, rozproszona sieć koordynuje ich przechowywanie na wielu niezależnych urządzeniach.
To, w jaki sposób odbywa się ta koordynacja, jest znacznie ciekawsze.
Scentralizowane a zdecentralizowane przechowywanie danych
Scentralizowane przechowywanie danych w chmurze jest niezwykle skuteczne. Duzi dostawcy obsługują zaawansowaną globalną infrastrukturę, która pozwala szybko i niezawodnie dostarczać ogromne ilości danych.
Centralizacja tworzy jednak również zależności.
Jeśli dostawca doświadczy awarii, zmieni swoje zasady, zamknie konto, podniesie ceny lub przestanie oferować usługę, użytkownicy mogą mieć ograniczone możliwości alternatywne. Infrastruktura może również stać się pojedynczym punktem kontroli nad tym, kto może przechowywać określone informacje lub uzyskiwać do nich dostęp.
Zdecentralizowane przechowywanie danych próbuje rozproszyć część tej kontroli.
Zamiast całkowicie polegać na jednym dostawcy, dane mogą być przechowywane na wielu węzłach obsługiwanych przez niezależnych od siebie uczestników. Protokół sieci określa sposób, w jaki ci uczestnicy ze sobą współdziałają.
Nie oznacza to automatycznie, że systemy zdecentralizowane są lepsze. Scentralizowane i zdecentralizowane systemy przechowywania danych są po prostu zoptymalizowane pod kątem różnych właściwości.
Tradycyjne usługi chmurowe często stawiają na wygodę, wydajność, wsparcie i ścisłą integrację. Zdecentralizowane sieci mogą kłaść większy nacisk na rozproszenie, możliwość weryfikacji, odporność na cenzurę lub otwarte uczestnictwo.
Jak działa zdecentralizowane przechowywanie danych
Nie istnieje jedna uniwersalna architektura zdecentralizowanego przechowywania danych, ale wiele sieci wykorzystuje kilka wspólnych technik.
Gdy plik trafia do zdecentralizowanego systemu przechowywania danych, może najpierw zostać przetworzony kryptograficznie.
Plik może zostać podzielony na mniejsze części, zaszyfrowany, zakodowany z redundancją lub zreplikowany u wielu dostawców przestrzeni dyskowej. Poszczególne części mogą następnie zostać rozprowadzone pomiędzy węzłami w całej sieci.
Zamiast polegać wyłącznie na fizycznej lokalizacji pliku, niektóre systemy identyfikują dane za pomocą hashy kryptograficznych.
Hash działa jak cyfrowy odcisk palca. Jeśli zawartość pliku się zmieni, zmieni się również jego hash.
Dzięki temu można żądać informacji na podstawie tego, czym są, zamiast wyłącznie na podstawie miejsca, w którym są przechowywane.
Adresowanie lokalizacyjne a adresowanie treści
Różnica między adresowaniem lokalizacyjnym a adresowaniem treści jest jednym z najważniejszych pojęć związanych ze zdecentralizowanym przechowywaniem danych.
Tradycyjna sieć internetowa wykorzystuje głównie adresowanie oparte na lokalizacji.
Gdy wpisujesz adres URL, w praktyce prosisz o informacje z określonej lokalizacji. Serwer znajdujący się pod tym adresem określa, jakie treści otrzymasz.
Systemy wykorzystujące adresowanie treści działają inaczej.
Zamiast mówić:
"Daj mi plik przechowywany w tej lokalizacji."
możesz w praktyce powiedzieć:
"Daj mi plik odpowiadający temu identyfikatorowi kryptograficznemu."
Jeśli kilka komputerów posiada żądane dane, można je pobrać z dowolnego odpowiedniego źródła.
Takie podejście może ułatwić weryfikację danych, ponieważ sam identyfikator jest tworzony na podstawie treści.
Dlaczego blockchainy są często wykorzystywane
Zdecentralizowane przechowywanie danych i technologia blockchain są ze sobą ściśle powiązane, ale przechowywanie dużych plików bezpośrednio na blockchainie jest zazwyczaj niepraktyczne.
Blockchainy są zaprojektowane do utrzymywania replikowanych zapisów konsensusu. Każdy pełny węzeł może być zmuszony do przetwarzania lub przechowywania danych blockchaina, przez co przechowywanie plików na dużą skalę staje się kosztowne i nieefektywne.
Zamiast tego zdecentralizowane sieci przechowywania danych często przechowują właściwe pliki poza blockchainem, wykorzystując blockchainy lub podobne rozproszone rejestry do koordynacji.
Blockchain może rejestrować umowy dotyczące przechowywania danych, płatności, informacje o własności, dowody lub inną aktywność sieciową.
Warstwa przechowywania zajmuje się samymi danymi, natomiast blockchain pomaga uczestnikom koordynować działania bez konieczności korzystania z centralnego administratora.
To rozróżnienie jest ważne:
Zdecentralizowane przechowywanie danych nie musi oznaczać, że same przechowywane pliki są umieszczane na blockchainie.
Zachęcanie użytkowników do udostępniania przestrzeni dyskowej
Zdecentralizowana sieć potrzebuje komputerów gotowych do przechowywania danych innych osób.
Niektóre sieci rozwiązują ten problem za pomocą zachęt ekonomicznych.
Dostawcy przestrzeni dyskowej mogą udostępniać niewykorzystaną pojemność dysków i otrzymywać w zamian kryptowaluty lub tokeny. Użytkownicy potrzebujący miejsca na dane płacą dostawcom za pośrednictwem sieci.
W ten sposób powstaje zdecentralizowany rynek zasobów do przechowywania danych.
Zamiast jednej firmy budującej wszystkie centra danych, protokół próbuje koordynować niezależnych dostawców i klientów.
Ceny mogą potencjalnie wynikać z podaży i popytu, chociaż dokładny mechanizm znacznie różni się w zależności od sieci.
Zachęty oparte na tokenach wprowadzają również dodatkową złożoność. Na ekonomię przechowywania danych mogą wpływać ceny kryptowalut, struktury nagród, wymagania dotyczące zabezpieczeń, spekulacja i zmiany w protokole.
Udowadnianie, że dane są faktycznie przechowywane
Płacenie komuś za przechowywanie pliku stwarza kolejny problem:
Skąd wiesz, że rzeczywiście go przechowuje?
Dostawca przestrzeni dyskowej mógłby przyjąć płatność, a następnie usunąć dane, jeśli sieć nie miałaby sposobu na sprawdzenie, czy dostawca nadal wywiązuje się ze swoich zobowiązań.
Dlatego niektóre protokoły zdecentralizowanego przechowywania danych wykorzystują dowody kryptograficzne.
Dostawcy mogą okresowo wykazywać, że posiadają wymagane dane lub przeznaczyli określoną przestrzeń dyskową na potrzeby sieci.
Różne protokoły realizują tę koncepcję na różne sposoby, wykorzystując mechanizmy takie jak dowody przechowywania, wyzwania, audyty, zabezpieczenia lub systemy reputacji.
Te mechanizmy weryfikacji są ważne, ponieważ zmniejszają potrzebę zwykłego zaufania dostawcy przestrzeni dyskowej.
Replikacja i redundancja
Rozproszone przechowywanie danych nie oznacza, że każdy węzeł przechowuje każdy plik.
Byłoby to niezwykle nieefektywne.
Zamiast tego systemy zazwyczaj strategicznie rozprowadzają lub replikują dane.
Plik może zostać skopiowany do kilku niezależnych węzłów, dzięki czemu awaria jednego urządzenia nie spowoduje utraty informacji. Inne systemy dzielą pliki na części i wykorzystują kodowanie korekcyjne, dzięki czemu oryginalne dane można odtworzyć nawet wtedy, gdy niektóre części staną się niedostępne.
Redundancja jest niezbędna, ponieważ poszczególne węzły mogą zniknąć w dowolnym momencie.
Dostawcy przestrzeni dyskowej mogą wyłączyć komputery, utracić dostęp do internetu, doświadczyć awarii sprzętu lub po prostu opuścić sieć.
Solidny zdecentralizowany system przechowywania danych musi zakładać, że poszczególni uczestnicy mogą być zawodni, jednocześnie zapewniając odporność całej sieci.
Szyfrowanie i prywatność
Rozprowadzanie danych pomiędzy nieznanymi komputerami naturalnie rodzi obawy dotyczące prywatności.
Z tego powodu szyfrowanie może odgrywać ważną rolę w zdecentralizowanym przechowywaniu danych.
Pliki mogą zostać zaszyfrowane przed ich rozprowadzeniem, dzięki czemu dostawcy przestrzeni dyskowej przechowują dane, których nie są w stanie w praktyce odczytać. Tylko osoba posiadająca odpowiednie klucze kryptograficzne może odtworzyć i odszyfrować oryginalne informacje.
Nie należy jednak automatycznie zakładać, że zdecentralizowane przechowywanie danych zapewnia pełną prywatność.
Prywatność zależy od protokołu, aplikacji, metody szyfrowania, ujawnianych metadanych, zarządzania kluczami oraz sposobu, w jaki użytkownicy korzystają z sieci.
Podobnie jak w przypadku portfeli kryptowalutowych, kontrola nad kluczami kryptograficznymi wiąże się również z odpowiedzialnością. Utrata ważnego klucza szyfrującego może sprawić, że zapisane informacje staną się trwale niedostępne.
Trwałe a tymczasowe przechowywanie danych
Nie każda zdecentralizowana sieć przechowywania danych oferuje takie same gwarancje dotyczące tego, jak długo dane pozostaną dostępne.
Niektóre systemy działają bardziej jak rynki przestrzeni dyskowej. Użytkownicy wykupują miejsce na określony czas, po którym umowy mogą wymagać odnowienia.
Inne zostały zaprojektowane z myślą o długoterminowym lub potencjalnie trwałym przechowywaniu danych.
Są to zasadniczo różne modele.
Sieć oferującą zdecentralizowane przechowywanie danych należy więc oceniać na podstawie jej rzeczywistych gwarancji trwałości, zamiast zakładać, że jednorazowe przesłanie czegoś oznacza, że pozostanie to dostępne na zawsze.
IPFS i rozproszone udostępnianie plików
Jedną z najbardziej znanych technologii związanych ze zdecentralizowanym przechowywaniem danych jest InterPlanetary File System, powszechnie znany jako IPFS.
IPFS wykorzystuje adresowanie treści do identyfikowania i rozprowadzania plików w sieci peer-to-peer.
Zamiast pobierać plik wyłącznie z jednego serwera, użytkownicy mogą pobierać treści odpowiadające określonemu identyfikatorowi od peerów, którzy są w stanie je udostępnić.
Sam IPFS nie gwarantuje jednak automatycznie trwałego przechowywania danych.
Ktoś nadal musi utrzymywać dostępność treści, co często określa się jako "pinning" danych. Jeśli nikt nie będzie przechowywał tych treści, mogą one z czasem stać się niedostępne.
Pokazuje to ważną różnicę między zdecentralizowaną dystrybucją plików a gwarantowanym długoterminowym przechowywaniem danych.
Filecoin i rynki przestrzeni dyskowej
Filecoin rozszerza koncepcję zdecentralizowanego przechowywania danych, tworząc rynek, na którym dostawcy przestrzeni dyskowej mogą oferować użytkownikom swoją pojemność.
Sieć wykorzystuje mechanizmy kryptograficzne zaprojektowane do weryfikowania zobowiązań dotyczących przechowywania danych i koordynuje płatności za pośrednictwem systemu opartego na blockchainie.
Pokazuje to, jak zdecentralizowane przechowywanie danych może łączyć kilka technologii:
- Rozproszeni dostawcy przestrzeni dyskowej
- Weryfikacja kryptograficzna
- Koordynacja oparta na blockchainie
- Zachęty oparte na tokenach
- Otwarte rynki przestrzeni dyskowej
Zamiast budować jednego ogromnego dostawcę usług chmurowych, celem jest stworzenie protokołu, za pośrednictwem którego niezależni dostawcy mogą konkurować ze sobą, oferując przestrzeń dyskową.
Arweave i trwałe dane
Arweave podchodzi do zdecentralizowanego przechowywania danych w inny sposób.
Jego ekosystem koncentruje się przede wszystkim na długoterminowym zachowywaniu danych i tym, co określa jako trwałe przechowywanie informacji.
Model ten znalazł zastosowanie w archiwach, stronach internetowych, NFT, zapisach historycznych i innych informacjach, które mają pozostać dostępne przez długi czas.
Pokazuje również, że różne zdecentralizowane sieci przechowywania danych mogą realizować bardzo różne cele.
Niektóre konkurują z tradycyjnym przechowywaniem danych w chmurze. Inne koncentrują się na dystrybucji treści, archiwizacji, danych aplikacji Web3 lub wyspecjalizowanej infrastrukturze.
Zdecentralizowane przechowywanie danych i NFT
Zdecentralizowane przechowywanie danych jest szczególnie istotne w przypadku NFT.
NFT zapisany na blockchainie często nie zawiera rzeczywistego obrazu, filmu ani innych multimediów reprezentowanych przez token. Przechowywanie dużych plików multimedialnych bezpośrednio on-chain byłoby często zbyt kosztowne.
Zamiast tego blockchain może zawierać metadane wskazujące na treści przechowywane w innym miejscu.
Jeśli te treści istnieją wyłącznie na tradycyjnym serwerze, a serwer przestanie działać, NFT może nadal istnieć na blockchainie, podczas gdy powiązane z nim multimedia staną się niedostępne.
Systemy wykorzystujące adresowanie treści i zdecentralizowane przechowywanie danych mogą ograniczyć tę zależność.
Korzystanie ze zdecentralizowanego przechowywania danych nie gwarantuje jednak automatycznie trwałości. Deweloperzy i kolekcjonerzy nadal muszą rozumieć, w jaki sposób utrzymywane są dane bazowe.
Zdecentralizowane przechowywanie danych i aplikacje Web3
Zdecentralizowane aplikacje mierzą się z podobnym problemem.
Rzekomo zdecentralizowana aplikacja może nadal w dużym stopniu zależeć od scentralizowanej infrastruktury.
Jej smart kontrakty mogą działać na zdecentralizowanym blockchainie, podczas gdy strona internetowa, obrazy, treści tworzone przez użytkowników, bazy danych lub zasoby aplikacji nadal są hostowane przez tradycyjnych dostawców.
Zdecentralizowane przechowywanie danych może ograniczyć część tych zależności.
Deweloperzy mogą wykorzystywać rozproszone sieci przechowywania danych do zasobów stron internetowych, danych aplikacji, metadanych NFT, publicznych zbiorów danych, kopii zapasowych, archiwów lub treści tworzonych przez użytkowników.
Rezultatem może być aplikacja, której infrastruktura jest rozproszona na wielu warstwach, zamiast być zdecentralizowana wyłącznie na poziomie blockchaina.
Potencjalne zalety zdecentralizowanego przechowywania danych
Jedną z największych potencjalnych zalet jest odporność.
Gdy informacje są przechowywane na niezależnych węzłach, awaria jednego urządzenia lub jednej organizacji nie musi oznaczać, że dane staną się niedostępne.
Zdecentralizowane przechowywanie danych może również zmniejszyć zależność od scentralizowanych pośredników. Otwarte protokoły mogą pozwalać każdemu uczestniczyć jako użytkownik lub dostawca przestrzeni dyskowej bez konieczności uzyskiwania zgody od jednej firmy.
Adresowanie treści może zapewnić kolejną zaletę, umożliwiając kryptograficzną weryfikację informacji.
Niektóre systemy mogą również tworzyć bardziej konkurencyjne rynki przestrzeni dyskowej, umożliwiając niezależnym dostawcom z całego świata udostępnianie niewykorzystanej pojemności.
W przypadku niektórych zastosowań odporność na cenzurę i długoterminowe zachowywanie danych mogą być szczególnie cenne.
Wyzwania zdecentralizowanego przechowywania danych
Pomimo swojego potencjału zdecentralizowane przechowywanie danych ma istotne ograniczenia.
Wydajność może być nierówna, ponieważ dane mogą być rozproszone pomiędzy niezależnymi węzłami korzystającymi z różnego sprzętu i różnych połączeń sieciowych.
Dostępność w dużym stopniu zależy od mechanizmów replikacji, zachęt i trwałości wykorzystywanych przez protokół.
Obsługa może być również bardziej skomplikowana niż w przypadku tradycyjnego przechowywania danych w chmurze. Zarządzanie portfelami, tokenami, kluczami szyfrującymi, umowami dotyczącymi przechowywania lub nieznanymi systemami adresowania tworzy dodatkowe utrudnienia.
Kolejnym wyzwaniem jest stabilność ekonomiczna.
Sieć musi zapewnić dostawcom przestrzeni dyskowej wystarczające wynagrodzenie, aby nadal chcieli w niej uczestniczyć, jednocześnie utrzymując ceny atrakcyjne dla użytkowników. Nagrody w tokenach mogą tymczasowo zachęcać do uczestnictwa, ale długoterminowy popyt na samą usługę przechowywania danych pozostaje istotny.
Istnieją również trudne kwestie związane z nielegalnymi treściami, naruszeniami praw autorskich, moderacją, przepisami dotyczącymi prywatności i usuwaniem danych.
System zaprojektowany tak, aby usunięcie informacji było niezwykle trudne, nieuchronnie przynosi zarówno korzyści, jak i problemy.
Decentralizacja istnieje na pewnym spektrum
Samo określenie systemu przechowywania danych jako "zdecentralizowanego" nie mówi zbyt wiele.
Sieć może mieć tysiące węzłów przechowywania danych, a jednocześnie zależeć od niewielkiej liczby bram dostępowych.
Inna może skutecznie rozprowadzać dane, ale jednocześnie mieć skoncentrowany system zarządzania.
Protokół może być zdecentralizowany, podczas gdy aplikacje używane do uzyskiwania do niego dostępu pozostają scentralizowane.
Oceniając projekt zdecentralizowanego przechowywania danych, warto zadać następujące pytania:
- Kto obsługuje węzły przechowywania danych?
- Jak bardzo są rozproszone geograficznie?
- W jaki sposób dane są replikowane?
- Co się dzieje, gdy węzły znikają?
- Kto kontroluje protokół?
- W jaki sposób dostawcy przestrzeni dyskowej otrzymują wynagrodzenie?
- W jaki sposób weryfikowane jest dalsze przechowywanie danych?
- Czy użytkownicy mogą pobierać dane bez polegania na jednej bramie dostępowej?
- Co się dzieje, gdy płatności lub zachęty przestają być dostępne?
- Czy przechowywane informacje można w praktyce usunąć?
Te pytania dają znacznie jaśniejszy obraz niż sama etykieta "zdecentralizowany".
Zdecentralizowane przechowywanie danych nie zastąpi wszystkiego
Łatwo postrzegać zdecentralizowane przechowywanie danych jako konkurencję, która z czasem zastąpi tradycyjnych dostawców usług chmurowych.
Rzeczywistość jest jednak bardziej złożona.
Scentralizowana infrastruktura chmurowa jest wysoce zoptymalizowana, szybka, wygodna i wspierana przez dojrzałe narzędzia. W przypadku wielu zastosowań te cechy są ważniejsze niż decentralizacja.
Zdecentralizowane przechowywanie danych staje się szczególnie interesujące, gdy aplikacje potrzebują właściwości, których tradycyjna infrastruktura nie została zaprojektowana przede wszystkim po to, aby je zapewniać.
Mogą to być między innymi odporność na cenzurę, niezależnie weryfikowalne treści, otwarte rynki przestrzeni dyskowej, rozproszona własność infrastruktury lub długoterminowe przechowywanie bez polegania na jednej organizacji.
Dlatego systemy hybrydowe mogą stawać się coraz bardziej powszechne.
Aplikacja może korzystać z tradycyjnych serwerów do usług wymagających wysokiej wydajności, jednocześnie wykorzystując zdecentralizowane sieci do kopii zapasowych, publicznych zasobów, archiwów lub informacji wymagających silniejszych gwarancji trwałości.
Dlaczego zdecentralizowane przechowywanie danych ma znaczenie
Technologia blockchain wprowadziła ideę, zgodnie z którą zapisy finansowe mogą być utrzymywane przez rozproszone sieci zamiast jednej instytucji.
Zdecentralizowane przechowywanie danych stosuje podobną ideę do infrastruktury danych.
Pytanie nie brzmi już tylko:
"Która firma powinna przechowywać te informacje?"
Może ono również brzmieć:
"Czy protokół może koordynować niezależne komputery tak, aby te informacje pozostały dostępne?"
Rozwiązanie tego problemu wymaga znacznie więcej niż tylko rozprowadzania kopii plików. Sieci muszą radzić sobie z weryfikacją, zachętami, redundancją, szyfrowaniem, pobieraniem danych, ustalaniem cen, wydajnością i zarządzaniem.
Projekty takie jak IPFS, Filecoin, Arweave i inne technologie rozproszonego przechowywania danych eksperymentują z różnymi rozwiązaniami.
Podsumowanie
Zdecentralizowane przechowywanie danych jest próbą ponownego przemyślenia jednej z najbardziej podstawowych usług internetu: gdzie przechowywane są informacje i kto kontroluje infrastrukturę, która zapewnia ich dostępność.
Zamiast ufać jednemu dostawcy przestrzeni dyskowej, zdecentralizowane systemy mogą rozdzielać dane i odpowiedzialność pomiędzy niezależnych uczestników. Kryptografia może służyć do weryfikacji informacji, redundancja może chronić przed pojedynczymi awariami, a zachęty oparte na blockchainie mogą koordynować dostawców przestrzeni dyskowej, którzy mogą nigdy się nie poznać ani sobie nawzajem nie zaufać.
Nie oznacza to, że zdecentralizowane przechowywanie danych jest automatycznie tańsze, szybsze, bezpieczniejsze, bardziej prywatne lub trwałe. Te właściwości zależą od konstrukcji każdej sieci.
Bardziej użyteczne jest traktowanie zdecentralizowanego przechowywania danych jako kolejnego modelu infrastruktury, który wiąże się z innym zestawem kompromisów.
Wraz z dalszym rozwojem aplikacji Web3, cyfrowej własności, zdecentralizowanej tożsamości, publicznych zbiorów danych i usług opartych na blockchainie, niezawodne przechowywanie danych poza tradycyjnymi scentralizowanymi systemami może stawać się coraz ważniejszą częścią zdecentralizowanego stosu technologicznego.
Pick your reaction
Dodaj swój komentarz