Blog

Internet 3.0 bez HTTP?

Przedrostek http(s) towarzyszy nam – internautom od samego początku. Jest ściśle związany z hipertekstowym, ogólnoświatowym systemem informacyjnym, znanym powszechnie pod akronimem WWW. Jest więc oczywistym, że odkąd dane nam było otworzyć okno przeglądarki wraz z jakąkolwiek stroną internetową; górny pasek adresu musiał zaczynać się od http(s). Bez względu na wiedzę jaką posiadamy na temat protokołu, wydawać by się mogło, że w tej materii niepotrzebne są żadne zmiany, bo wszystko działa sprawnie, prawda? No właśnie nieprawda.

Zasady działania protokołu oparte są o żądania klientów i odpowiedzi serwerów. Żądania dotyczą zasobów, takich jak strony HTML, skrypty czy multimedia. Sam protokół nie określa nam, czym tak dokładnie są te zasoby, lecz określa sposób w jaki możemy się do nich dostać. A to dzięki temu, że każdy zasobów posiada własny, unikalny identyfikator URI. I w tym miejscu pojawiają się pierwsze słabości HTTP.

Bolączki HTTP

Adresy wspomnianych zasobów prowadzą do konkretnych lokalizacji, rozproszonych w rozległej sieci Internet. Oznacza to, że wpisując w przeglądarce adres strony internetowej lub pliku który chcemy pobrać, najprawdopodobniej znajdują się one w jednej lokalizacji (pomijając kwestie kopii i redundancji danych), gdzieś tam w szerokim świecie. Może to oznaczać, że od zasobu dzielą nas wielkie odległości. Powolne ładowanie się stron lub czasowa ich niedostępność może wynikać właśnie z obciążenia wąskich gardeł dostępu w infrastrukturze. Lokalizacja, która odpowiada na nasze żądanie, może być zarówno serwerem w profesjonalnym Data Center jak i zwykłym komputerem w prywatnym mieszkaniu. Od ich opiekunów zależy, czy otrzymamy tą samą treść co wczoraj i czy w ogóle ją otrzymamy. Tworzy to pojedynczy punkt awarii, który uzależnia dostęp do zasobów od prawidłowego działania wszystkich elementów (łącza internetowego, sieci energetycznej, sprzętu). Wyobraźmy sobie, że pobieramy plik MP3 ze znanej strony internetowej. Z tego adresu mogło skorzystać wcześniej milion ludzi, pobierając utwór na własne urządzenia. Pomimo tak licznych kopii pliku, rozproszonych po całej sieci, kolejna osoba chcąca go pobrać, musi ponownie skorzystać z centralnego źródła i wskazując jego dokładną lokalizację (adres URL). A przecież istnieje duże prawdopodobieństwo, że plik znajduje się gdzieś w bliższym węźle, może nawet za ścianą u naszego sąsiada. To bardzo duże marnotrawstwo przepustowości, czasu, zasobów sprzętowych oraz energii. Nie tak wyglądała pierwotna idea funkcjonowania Internetu.

Międzyplanetarny system plików

W kontekście opisanych problemów z protokołem HTTP, osobom korzystającym z torrentów, być może na myśl przyjdzie sieć P2P (peer-to-peer) – w której wszystkie hosty pełnią równorzędną rolę w procesie wymiany danych – mogąc być jednocześnie odpytującym klientem, jak i odpowiadającym serwerem. Najprościej ujmując, każdy użytkownik, który pobrał już pewien fragment zasobu, udostępnia go innym i stanowi punkt redystrybucji w sieci. Oznacza to całkowitą decentralizację danych, likwidację pojedynczych punktów awarii, odciążenie zasobów i energii oraz skrócenie odległości między urządzeniami – tym samym znaczne zwiększenie prędkości wymiany danych.

InterPlanetary File System (międzyplanetarny systemów plików) to protokół oparty o model P2P, którego celem jest rozwiązanie problemów współczesnego Internetu, a więc i zastąpienie dotychczasowego standardu HTTP. Główną ideą jest wyparcie adresowania lokalizacją zasobów i zastąpienie ich adresowaniem treścią. Wprowadzając adres strony WWW w przeglądarce obsługującej protokół IPFS, odszukujemy jej treść rozproszoną po całej sieci oraz przechowywanej w niewielkich obiektach (nieprzekraczających 256 KB danych). Nasz komputer w tym czasie odszukuje pobliskie hosty, a następnie pobiera z nich fragmenty szukanego zasobu – w efekcie, kompletując stronę www.

Pobierając zasób z jednej, konkretnej lokalizacji, jesteśmy narażeni na wąską przepustowość, współdzieloną z innymi użytkownikami. Duże zainteresowanie pewnymi stronami w tym samym czasie, często kończy się przeciążeniem serwerów, które nie mogą poradzić sobie ze zbyt dużą liczbą zapytań w tym samym czasie. To jedna z największych wad protokołu HTTP.

Stuktury IPFS wykorzystują system DHT (distributed hash table – rozproszona tablica mieszająca), który w dużym skrócie – służy do odszukania komputerów, na których znajdują się fragmenty poszukiwanych zasobów. Każdy zasób, dodawany przez nas do DHT, otrzymuje niezmienny skrót kryptograficzny, który stanowi formę cyfrowego odcisku palca dla swojej treści. W praktyce oznacza to, że bez względu na lokalizację w jakiej go umieścimy oraz nazwę jaką mu nadamy, jego treść zawsze będzie identyfikowana za pomocą tego samego cyfrowego znacznika.

Zwolennicy przeglądarki Chrome oraz sympatycy Firefox muszą pogodzić się z faktem, że żadna z nich nie dorówna prędkością Operze lub przeglądarce Brave. Oczywiście w kontekście stron opartych o protokół IPFS, ponieważ tylko Opera oraz Brave zaimplementowały dotychczas nowy protokół. Chociaż szacuje się, że obecnie liczba stron internetowych udostępnionych dzięki IPFS sięga kilkaset tysięcy, to wciąż uważam to za eksperyment, którym interesują się głównie ludzie z branży. Rozwiązanie ma duży potencjał i równie sporo czasu przed sobą na to, aby zagościć w naszej codzienności.

Autor

Michał Słowik

Skomentuj

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *