Wydanie globalnego zdecentralizowanego systemu plików IPFS 0.6

Opublikowano wydanie zdecentralizowanego systemu plików IPFS 0.6 (InterPlanetary File System), tworzący globalne wersjonowane przechowalnie plików, zorganizowane w formie sieci P2P, utworzonej z systemów uczestników. IPFS łączy pomysły wcześniej zrealizowane w takich systemach jak Git, BitTorrent, Kademlia, SFS i Web, przypominając jeden „roje” BitTorrent (węzły uczestniczące w udostępnianiu), wymieniające się obiektami Git. IPFS różni się adresowaniem na podstawie treści, a nie lokalizacji czy dowolnymi nazwami. Kod referencyjnej implementacji napisany jest w języku Go i rozpowszechniany na licencjach Apache 2.0 i MIT.

Nowa wersja wyróżnia się włączeniem domyślnego transportu opartego na protokole QUIC, który jest nadbudową nad protokołem UDP, obsługującą multiplexing wielu połączeń oraz zapewniającą metody szyfrowania, równoważne TLS/SSL. W IPFS gniazdo do odbierania połączeń UDP automatycznie uruchamia się na tym samym adresie i porcie sieciowym, co handler transportu opartego na TCP. QUIC jest stosowany zarówno dla połączeń przychodzących, jak i wychodzących, a przy łączeniu z nowymi węzłami, w przypadku niedostępności QUIC, następuje fallback do TCP.

Drugim ważnym ulepszeniem była obsługa zabezpieczonego transportu NOISE, opartego na protokole Noise i rozwijanego w ramach libp2p, modularnego stosu sieciowego dla aplikacji P2P. Po początkowym uzgodnieniu połączenia, całkowita późniejsza wymiana danych między uczestnikami jest szyfrowana i chroniona przed podsłuchiwaniem.
NOISE zastąpił transport SECIO, ale jako priorytetowa metoda szyfrowania połączeń między węzłami wciąż stosowany jest TLS 1.3. NOISE jest wystarczająco prosty w implementacji i jest pozycjonowany jako uniwersalny, wieloplatformowy transport, który może być realizowany w różnych językach programowania.

W nowym wydaniu wprowadzono również możliwość dodawania własnych stron „404 Not Found” oraz opcjonalne wsparcie dla metody kodowania Base36, która jest optymalna dla alfanumerycznych danych bez różnic w wielkości liter, takich jak nazwy domen (przy użyciu Base32 klucze Ed25519 IPNS o dwa bajty przekraczają limit rozmiaru subdomeny, podczas gdy przy Base36 mieszczą się w limicie). Ponadto do ustawień dodana została opcja
«peeringktóra definiuje listę węzłów do połączenia, utrzymywania połączenia i ponownego łączenia w celu określenia „lepkości” między często używanymi piramidami.

Przypomnijmy, że w IPFS link do dostępu do pliku jest bezpośrednio związany z jego zawartością i zawiera kryptograficzny hash tej zawartości. Adres pliku nie może być dowolnie zmieniany; może zmienić się tylko po modyfikacji zawartości. Podobnie nie można wprowadzić zmiany w pliku bez zmiany adresu (stara wersja pozostanie pod dotychczasowym adresem, a nowa będzie dostępna pod innym adresem, ponieważ hash zawartości pliku ulegnie zmianie). Biorąc pod uwagę, że identyfikator pliku zmienia się przy każdej modyfikacji, aby za każdym razem nie przekazywać nowych linków, dostępne są usługi do przypisywania stałych adresów, które uwzględniają różne wersje pliku (IPNS), lub przypisania aliasu na wzór tradycyjnych systemów plików i DNS (MFS (Mutable File System) i DNSLink).

W podobny sposób jak w BitTorrent dane są przechowywane bezpośrednio na systemach uczestników, którzy wymieniają się informacjami w trybie P2P, bez odniesienia do scentralizowanych węzłów. W przypadku potrzeby uzyskania pliku o określonej zawartości system znajduje uczestników, którzy mają ten plik i przekazuje go z ich systemów w częściach w kilku strumieniach. Po pobraniu pliku na swój system uczestnik automatycznie staje się jednym z punktów jego dystrybucji. Aby zidentyfikować uczestników sieci, na węzłach których znajduje się interesująca zawartość, jest używane rozproszona tabela haszowa (DHT). Aby uzyskać dostęp do globalnego systemu plików IPFS, można używać protokołu HTTP lub zamontować wirtualny system plików /ipfs za pomocą modułu FUSE.

IPFS pomaga rozwiązywać takie problemy, jak niezawodność przechowywania (jeśli pierwotne źródło przechowywania ulegnie awarii, plik można pobrać z systemów innych użytkowników), przeciwdziałanie cenzurowaniu treści (aby zablokować, trzeba by zablokować wszystkie systemy użytkowników, na których znajduje się kopia danych) oraz organizację dostępu w przypadku braku bezpośredniego połączenia z internetem lub przy złej jakości łącza (można pobrać dane przez najbliższych uczestników w lokalnej sieci). Oprócz przechowywania plików i wymiany danych, IPFS może być stosowany jako podstawa do tworzenia nowych usług, na przykład do organizacji pracy stron, które nie są powiązane z serwerami, lub do tworzenia rozproszonych aplikacji.

Wydanie globalnego zdecentralizowanego systemu plików IPFS 0.6

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster