>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Unknown

Jak przestać zależeć od serwerów i przejść na IPFS

Wyobraź sobie, że wgrałeś fajny projekt poboczny lub dokumentację, a miesiąc później link nie działa. Albo serwer, na którym hostowana była twoja treść, nagle przestał działać. W internecie, do którego jesteśmy przyzwyczajeni (HTTP), wyszukujemy dane po adresie: idziemy na konkretny serwer i mamy nadzieję, że plik nadal tam jest. IPFS oferuje odwrócenie tego schematu.

Jaka jest główna idea

IPFS (InterPlanetary File System) to nie tylko kolejna chmura. To protokół, który zmienia sposób wyszukiwania plików. Zamiast pytać "który serwer ma ten PDF?", pytamy sieć "kto ma plik z tym skrótem?".

Kiedy wgrywasz coś do IPFS, plik jest dzielony na bloki, a każdy otrzymuje unikalny identyfikator kryptograficzny (CID). Jeśli dwie osoby wgrają ten sam plik, będzie on miał ten sam CID. To automatycznie rozwiązuje problem duplikatów i pozwala pobierać części pliku z wielu węzłów jednocześnie, jak za starych dobrych czasów BitTorrent.

Jak to działa w praktyce

Główną cechą jest adresowanie oparte na treści. W zwykłym internecie link wygląda tak: https://mysite.com/cat.jpg. Jeśli zamienię kota na psa, link pozostaje ten sam. W IPFS link jest powiązany z samą treścią. Jeśli plik zmieni się choćby o jeden bajt, jego adres również się zmieni.

Daje to kilka ciekawych zalet:

  1. Treści nie można cicho podmienić.
  2. Jeśli plik jest popularny, jest dystrybuowany z setek węzłów, co odciąża twój główny serwer.
  3. Dane żyją tak długo, jak długo przynajmniej jeden uczestnik sieci ich potrzebuje.

Przy okazji, projekt istnieje od 2014 roku. W tym czasie rozrosło się wokół niego cały stos technologii, jak IPLD do pracy ze strukturami danych czy libp2p do połączeń sieciowych.

Od czego zacząć development

Jeśli chcesz zgłębić technologię, najłatwiejszym sposobem jest zainstalowanie aplikacji desktopowej lub klienta CLI. Po instalacji twój komputer staje się pełnym węzłem sieci.

Dodawanie pliku do sieci z konsoli wygląda niezwykle prosto:

ipfs add my_photo.jpg
# На выходе получаем CID: QmZtmWQZFB...

Teraz każdy na świecie, znając ten skrót, może poprosić o plik z sieci. Jeśli nie chcesz zmuszać użytkowników do instalowania specjalnego oprogramowania, możesz skorzystać z publicznych bram. Link będzie wyglądał mniej więcej tak: https://ipfs.io/ipfs/QmZtmWQZFB....

Gdzie to naprawdę się przydaje

Coraz częściej widzę IPFS wykorzystywany do hostowania statycznych stron. Wystarczy wypchnąć build aplikacji React lub Vue do IPFS i voila — twoja strona jest dystrybuowana w całej sieci. Brak pojedynczego punktu awarii, brak zależności od konkretnego dostawcy hostingu.

Innym przypadkiem użycia jest przechowywanie metadanych dla NFT lub innych zasobów cyfrowych. Przechowywanie obrazów na blockchainie jest kosztowne, a link do zwykłego serwera jest ryzykowny (serwer może paść). IPFS jest tu idealny: link jest trwały i niezmienny.

Protokół świetnie sprawdza się też w rozproszonych obliczeniach naukowych czy archiwach, gdzie ważne jest zagwarantowanie, że dane nie zostały naruszone z biegiem czasu.

Czy są jakieś wady

Oczywiście. IPFS to nie "darmowy pendrive w chmurze". Jeśli dodałeś plik i wyłączyłeś komputer, plik może zniknąć z sieci, jeśli nikt inny nie zdążył go pobrać lub "przypiąć". Do trwałego przechowywania ludzie zwykle korzystają ze specjalnych usług (pinning services) lub uruchamiają własny serwer-węzeł, który jest zawsze online.

Inna kwestia to prędkość. Szukanie rzadkiego pliku w ogromnej sieci P2P może zająć trochę czasu. To nie jest natychmiastowa odpowiedź scentralizowanego CDN, do którego jesteśmy przyzwyczajeni.

Czy warto spróbować

Jeśli budujesz zdecentralizowaną aplikację (dApp) lub masz dość ciągłego umierania linków w twoich projektach, zdecydowanie warto nauczyć się IPFS. To potężna zmiana paradygmatu w tym, jak pracujemy z informacjami w sieci.

Najlepszym miejscem do rozpoczęcia jest oficjalna dokumentacja na docs.ipfs.tech. Znajdziesz tam dobrze napisane koncepcje i jasne samouczki instalacji. Projekt jest żywy, z ogromną społecznością i otwartym kodem na licencji MIT, więc możesz zgłębiać go bez końca.

Powiązane projekty