Menu
O mnie Kontakt

Na koniec, Mateusz podsumowuje, że IPFS to obiecująca inicjatywa, ale wymaga dalszego rozwoju oraz przemyślenia kwestii użyteczności dla przeciętnego użytkownika. Materiał cieszy się dobrym zainteresowaniem, zbierając aż 22,850 wyświetleń i 1,360 łapek w górę w chwili pisania tego artykułu. Warto zauważyć, że w omawianym filmie Mateusz nie tylko prezentuje nowinki technologiczne, ale również zachęca widzów do aktywnego uczestnictwa w dyskusji na temat przyszłości internetu i rozwoju technologii, co jest bardzo istotnym krokiem w dobie szybko postępującej digitalizacji.

Toggle timeline summary

  • 00:00 Wprowadzenie do wyzwań związanych z zapewnieniem dostępu do internetu na Marsie.
  • 00:11 Omówienie fragmentacji sieci, opóźnień i prędkości transferu danych.
  • 00:36 Badanie, czy te problemy dotyczą tylko kolonizacji Marsa, czy mają już wpływ na nas.
  • 01:07 Wzrost obciążenia internetu podczas pandemii i jego implikacje.
  • 01:46 Różnice w nadmiernym dopasowaniu w krajach rozwiniętych w porównaniu do problemów w krajach rozwijających się.
  • 02:48 Badanie scentralizowanego modelu obecnego Internetu i jego ograniczeń.
  • 03:47 Propozycja wykorzystania sieci dostarczania treści (CDN) do zmniejszenia redundancji w transmisji danych.
  • 04:54 Wprowadzenie IPFS (Interplanetary File System) jako rozwiązania dla zdecentralizowanego udostępniania danych.
  • 05:36 Porównanie IPFS z istniejącymi systemami i jego potencjalne zastosowania.
  • 08:01 IPFS umożliwia trwałą dostępność plików bez ryzyka wygaśnięcia linku.
  • 09:04 Wyjaśnienie, jak IPFS może obejść cenzurę i poprawić dostępność treści.
  • 10:06 Kontekst historyczny użycia IPFS podczas wydarzeń związanych z cenzurą.
  • 13:20 Wspomnienie o wadach decentralizacji i wyzwaniach, przed którymi stoi IPFS.
  • 14:31 Potrzeba poprawy przyjaznych adresów użytkownika w zdecentralizowanych sieciach.
  • 16:37 Zachęta do przyjęcia IPFS i dostarczenie zasobów dla użytkowników.
  • 17:00 Zakończenie i podziękowania dla gospodarzy.

Transcription

Cześć! Zastanawialiście się kiedyś, przed jakimi wyzwaniami staniemy, jak już kiedyś w nieodległej przyszłości będziemy chcieli zapewnić internet na Marsie? Problemów jest naprawdę wiele. Fragmentacja sieci, wysokie opóźnienia, czy potencjalnie niska szybkość przesłania danych na tak odległe dystanse. I co z tego, że na miejscu będziemy mieli kosmiczną technologię, skoro pomiędzy Ziemią a Czerwoną Planetą nadal komunikować będziemy się falami radiowymi. Albo laserami. Oglądanie przez kolonizatorów Marsa Netflixa w 4K i HD, że w wolnych chwilach oczywiście, raczej nie wchodzi w grę. Czy jednak jest to aż tak odległy nam problem, że zderzymy się z nim dopiero przy eksploracji innych planet? Być może przytrafia się nam to już teraz, po prostu w zdecydowanie mniejszej skali. I czy lekiem na całe zło jest międzyplanetarny system plików? Zapraszam! Kiedy tylko dotknęła nas pandemia, musieliśmy dość szybko zaadaptować się do nowej rzeczywistości. Obciążenie internetu znacznie wzrosło. Nie ma się zresztą czemu dziwić. Praca zdalna, telekonferencje, zakupy online, czy oglądanie całymi wieczorami seriali. No bo co tu w sumie innego robić, będąc zamkniętym w domu? W tak zwanym zachodnim świecie, jeżeli w ogóle odczuliśmy jakieś spowolnienia, to nie były one znaczne i raczej bardzo skupione. Dotyczyło to np. konkretnych, nielicznych usług. Np. niektóre firmy szybko zorientowały się, że puszczanie połączeń wideo firmowymi VPN-ami szybko zapycha ich łącza i wideokonferencje zostały zastąpione telekonferencjami, na co chyba nikt nie narzekał. Inaczej sprawy się jednak mają w krajach słabiej rozwiniętych. Z Afryki czy części Ameryki Południowej raportowano problemy związane z przeciążeniem sieci. Dlaczego w zachód dotknęło to mniej? Ponieważ stosujemy zasady overprovisioningu. A co to takiego? To budowanie infrastruktury, szczególnie tej szkieletowej, z bardzo dużym zapasem technologicznym. Potrzebujemy aktualnie 10 gigabitów? No to zróbmy od razu 100. Na dłużej starczy. Bo w rozbudowie sieci często najdroższe są projekt i praca, a nie to, że położymy po prostu na raz więcej światłowodów w danym miejscu. Czy więc rozwiązaniem problemu jest po prostu stosowanie szerszych rur? Niestety niekoniecznie. Każda rura kiedyś się zapcha. Wiemy to chociażby z doświadczeń związanych z drogami w miastach. Zwiększanie ich przepustowości przez dodawanie nowych pasów rozwiązuje problem jedynie na chwilę. Z czasem przeważnie jest jeszcze gorzej niż było. A jakby tak spróbować zredefiniować w ogóle podstawy komunikacji w internecie? Aktualnie model tego, w jaki sposób działa internet jest bardzo mocno scentralizowany. I nawet nie chodzi tutaj o władzę i kontrolę, czyli skupienie znacznej części ruchu wokół monopolistów na swoich rękach. To też kwestia komunikacji i tego, w jaki sposób ją prowadzimy. Zdecydowana większość stosowanych powszechnie protokołów działa jedynie pomiędzy dwoma punktami. Mamy więc nadawcę i odbiorcę, którzy po prostu czasem zamieniają się rolami. O ile w przypadku połączeń telefonicznych wymiany wiadomości czy przesyłania pomiędzy sobą jakiegoś załącznika jest to świetne rozwiązanie, o tyle do dostarczania treści takich jak np. VOD, czyli Video On Demand, takich jak Vimeo, YouTube czy rzeczony Netflix W ogóle to cały ten hejs ciągle wydają na On Demandy albo utrzymywania jakiegoś portalu z wiadomościami już niekoniecznie. Szczególnie, że przesyłane dane szybko rosną w kwestii objętości. Do takiego wideo w 8K potrzebna będzie naprawdę szeroka rura. Gdzie więc leży problem? Ano wielokrotnie wysyłamy, często w tym samym kierunku, dokładnie te same dane. Np. kiedy i my i nasz sąsiad z bloku oglądamy ten sam serial zaraz po jego premierze. To czyste marnotrawstwo przepustowości. Jednym z zaproponowanych rozwiązań tego problemu są mechanizmy CDN, czyli Content Delivery Network. Działają one tak, że dane, o których przesłanie prosimy, np. teoretycznie z drugiego końca świata, mogą być zduplikowane bliżej nas. Np. w serwerowni naszego dostawcy internetu albo w lokalnym punkcie wymiany ruchu. Nie przesyłamy ich wtedy przez ocean równolegle naraz, a jedynie na ostatnim etapie komunikacji. Dzięki temu mniej obciążamy szkielet sieci. To jednak nie rozwiązuje całkowicie problemu, a jedynie ogranicza jego skalę, zbliżając go bardziej do końcowego odbiorcy treści. No i nie jest tanie, mówiąc delikatnie. Trzeba też samemu, projektując swoją infrastrukturę, zadbać o zwielokrotnienie często przesyłanych danych. A jakby tak podejść do tematu bardziej rewolucyjnie? Jakby tak przesyłać treści bezpośrednio pomiędzy użytkownikami sieci? Pomysł przecież nie jest wcale nowy. Opierają się o niego wszystkie sieci peer-to-peer, takie jak np. BitTorrent. Jednym z nowszych rozwiązań w tej kwestii jest protokół IPFS. Nowszym, bo jego początki datowane są gdzieś na 2014-2015 rok. A to w świecie protokołów zaledwie krótka chwila. Dla porównania, takie IPv6 rozpoczęło swoje życie jeszcze w poprzednim wieku, a nadal nie wyparło wersji czwartej. No ale do brzegu. IPFS to skrót od Interplanetary File System. I tak też mnie ta nazwa bawi. O ile teoretycznie ma on pomóc nam zapewnić internet np. na Marsie, kiedy już Papa Elon nas tam zabierze, o tyle ma też bardziej przyziemne zastosowania. Może rozwiązać m.in. problem przesyłania w te i we w te dużych ilości danych bez większego sensu. A jak to zrobić? Najlepiej sprytnie. Klasycznie, kiedy potrzebujemy dostać się do jakiegoś pliku w internecie, to wiemy od kogo go pobieramy i możemy zapytać o ten konkretny element. A IPFS podchodzi do tematu od drugiej strony. Zamiast pytać przede wszystkim kogoś, pyta o coś. Wysyła zapytanie do wszystkich wokół siebie o treści Hej, potrzebuję tego pliku, możesz mi go przesłać? Jeżeli nikt w najbliższym otoczeniu nie zgłosi się na ochotnika, to zapytanie wysyłane jest do coraz szerszego i szerszego grona uczestników sieci. Aż do odnalezienia kogoś, kto ma to, czego potrzebujemy. Trochę jak takie kręgi fal rozchodzące się po wodzie, coraz szerzej i szerzej. Nie ma fal, nie ma fal, nie ma fal. Potencjalnie więc, zamiast streamować film czy serial przez któryś z oceanów, możemy to zrobić bezpośrednio od sąsiada. Ba, nie tylko od niego jednego. Treść dzielona jest na segmenty, więc popularny plik pobierać możemy z wielu miejsc naraz. Nie tylko odciążamy tym centralne serwery, ale też nie duplikujemy na zapas danych w wielu miejscach, tak jak w przypadku mechanizmów CDN. A, no i kiedy jakaś awaria czy też klęska żywiołowa uszkodzi część sieci szkieletowej, to nie ma to aż tak dużego wpływu na dostęp do danych, jeżeli są one rozproszone. Jak więc widzicie, koncepcja jest bardzo podobna do np. Bitorenta. Ma to daleko idące konsekwencje poza odciążeniem szkieletu sieci. Jeżeli pierwotne źródło pliku, o ile w tym przypadku w ogóle może być o nim mowa, nie jest dostępne, to nadal możemy go pobrać. Jeśli tylko ktoś inny gdzieś ma nadal jego kopię. To sprawia, że IPFS może pełnić również rolę archiwizacyjną. Jest niejako wieczny, bo identyfikator pliku nigdy się nie zmienia. Czy zdarzyło Wam się kiedyś potrzebować coś pobrać z linka, którego domena wygasła? W tym podejściu nie ma takiego problemu. Plik znika z sieci dopiero w momencie, kiedy zniknie z niej ostatni użytkownik, który go posiadał. Ba! Ważne pliki można tak jakby przypiąć. Wtedy nie znikną one z naszej maszyny wraz z czyszczeniem pamięci podręcznej, a dopiero kiedy odwołamy swoją decyzję. Poza tym, jeżeli prosimy o ten konkretny plik, o konkretnej sumie kontrolnej, to mamy gwarancję, że nikt po drodze przy nim nie majstrował. Bo zmiana choćby jednego bitu czyni z niego coś zupełnie innego. Dzięki temu wcale nie musimy ufać węzłowi sieci, z którym nawiązujemy komunikację. Co z tego, że ktoś, od kogo coś pobieramy, znany jest z infekowania urządzeń złośliwym oprogramowaniem? Skoro dostarcza dokładnie ten plik, którego szukamy, to dostaniemy dokładnie to, czego chcemy. Jesteśmy też więc trochę bezpieczniejsi. Tutaj mała uwaga. Istnieją oczywiście ataki na kolizje sum kontrolnych, ale dzisiaj dla uproszczenia je pominę. A, no i skoro plikami wymieniamy się bezpośrednio z innymi użytkownikami sieci, to możemy w ten sposób omijać ewentualne cenzurskie zakusy władzy czy też dostawców internetu. Tylko czy zmiana w tym kierunku jest w ogóle realna? Być może tak. IPFS nie chce walczyć z internetem w obecnym kształcie, ale niejako go rozwinąć. Odnosi się przy tym do początków sieci, która w zamyśle miała być wolna, zdecentralizowana i równa dla wszystkich. Bo podobnie jak w przypadku BitTorrenta, każdy użytkownik sieci jest zarazem tak klientem, jak i serwerem. Jednak to, co odróżnia IPFS od podejścia znanego z protokołów służących głównie do wymiany treści w nielegalny sposób, to to, że identyfikator pliku generowany jest na podstawie jego zawartości. Co to znaczy? Ano nie mniej nie więcej tyle, że ten sam plik wrzucony niezależnie w dwóch całkowicie różnych miejscach sieci nadal będzie miał ten sam identyfikator. Dzięki temu unikamy rozdrobnienia. Oczywiście pod warunkiem, że plik jest identyczny co do bita. Tylko czy to w ogóle działa gdzieś poza laboratorium? No tak. IPFS-a wykorzystywano m.in. w trakcie protestów w Turcji w 2017 roku, kiedy to zablokowano tam na rządowy rozkaz Wikipedię. Uruchomienie jej wersji na IPFS-ie zajęło tydzień i była dostępna przez cały czas, kiedy zakaz obowiązywał. Jest to więc dobre narzędzie do walki z cenzurą. Ale jak to w ogóle działa? Jak twierdzą sami twórcy, IPFS to trochę takie połączenie Bitorenta z Gitem, biorąc to, co najlepsze z każdego z nich. Sam protokół wymiany, nazywany BitSwap, jest w założeniach bardzo do Bitorenta podobny. Wykorzystywane szeroko są DHT, czyli Distributed Hashtable. To takie zbiory metadanych o plikach, które są zdecentralizowane i mają każdy węzeł sieci. Jeżeli chcecie dowiedzieć się więcej na ten temat, to zachęcam do obejrzenia mojego filmu o to, że on też z tego korzysta. Przy poszukiwaniu jakiegoś pliku węzły IPFS negocjują ze sobą jak arabscy sprzedawcy na targach. Obowiązuje zasada coś za coś i każdy jest tutaj równy. Jeżeli ktoś ma to, czego szukamy, to w zamian może poprosić nas o coś, czego sam potrzebuje. Jeżeli tego nie mamy, to teraz naszym zadaniem jest pomóc mu w wytropieniu zguby. To sprawia, że niejako zmusza się każdego do posiadania u siebie kopii często poszukiwanych plików, nawet kiedy samemu nie potrzebujemy ich do niczego. Poprawia to znacznie wydajność całej sieci. Z drugiej strony, jeżeli aktualnie niczego nie potrzebujemy, to można wysyłać swoje zbiory niejako na kredyt z nadzieją, że to dobro kiedyś do nas wróci. Zresztą to nie tylko kwestia nadziei. Węzły sieci przechowują punktację jej uczestników i wymieniają się nią. To taka miara zaufania. Zachęca to do dzielenia się plikami nawet, kiedy niczego nie chcemy w zamian. Zniechęca za to do bycia tak zwaną pijawką, czyli uczestnikiem sieci, który tylko bierze, a nic nie daje w zamian. Co w sieciach BitTorrenta jest dość nagminną praktyką. Tacy klienci szybko spadną na ostatnie miejsce w kolejce albo nawet zostaną z niej w skrajnych przypadkach wyproszeni. Broni to też przed atakami, ponieważ ktoś nowy z zerowym poziomem zaufania traktowany jest bardziej podejrzliwie niż ktoś, z kim robi się owocne interesy od dawna. IPFS wspiera także wersjonowanie plików. To akurat część, która pochodzi w prostej linii z Gita. Po pierwsze, jeżeli chcemy pobrać najnowszą wersję czegoś, to dzięki IPNS, czyli Interplanetary Name System, mamy taką możliwość. Dzieje się to niejako za kulisami i nie potrzebujemy wcale znać hasza konkretnego nowszego pliku, a jedynie tzw. wskaźnik, podobnie, jest z aktualizacjami. Jeżeli potrzebujemy zaktualizować jakiś zbiór danych, to często nie będziemy potrzebowali pobierać go całego od nowa, a jedynie różnicę pomiędzy wersją przez nas posiadaną, a tą najnowszą. To tzw. delta i jest kolejnym sposobem na ograniczenie ilości przesyłanych ciągle danych. Brzmi ciekawie? Moim zdaniem tak. Jednak zawsze są jakieś wady. Nie ma róży bez kolców. Albo kawki bez maszketu, jak to mówią. Decentralizacja, o ile w wielu przypadkach jest zbawieniem, niesie też za sobą pewne konsekwencje. Szczególnie w sytuacji, kiedy głównymi operatorami węzłów są hobbyści. Środki, które mogą przeznaczyć na utrzymywanie takiej sieci, są tak nieproporcjonalnie małe w porównaniu do technologicznych gigantów, że aż ciężko wyobrazić sobie tę przepaść. W efekcie odczucia końcowego użytkownika skorzystania z takiej sieci mogą nie być zbyt pozytywne. Cierpi przecież dostępność i wydajność. Trzeba też mieć trochę wolnego miejsca na swoim dysku na pliki, które będziemy udostępniać dalej, a nie każdy może sobie na to pozwolić. Co do odczuć końcowego użytkownika jeszcze. Adresy w tej sieci to oczywiście jest jakiś koszmar. Są to przecież generowane sumy kontrolne, więc to długie ciągi przypadkowych znaków. Ich zapamiętanie jest praktycznie niemożliwe. Nici z prostego odnośnika w postaci śmiesznekotki.com, który każdy zapamiętuje przecież po jednym wypowiedzeniu albo zobaczeniu na ekranie. Jest na to pewna rada, czyli odpowiednie wpisy w rekordach DNS, czy też mechanizmy skracania linków. Jednak w tej kwestii jest jeszcze wiele do zrobienia. No i tam, gdzie w grę wchodzi decentralizacja, zawsze pojawia się pytanie o nadużycia. Podobnie jak z torem, można takiej sieci użyć do przesyłania treści nielegalnych albo kogoś krzywdzących. Wykorzystano to na przykład do ataków phishingowych poprzez bramkę Cloudflare do sieci IPFS. Wszystko ładnie wyglądało, bo pojawiała się kłódeczka, ale był to certyfikat Cloudflare właśnie, a nie usługi, pod którą się podszywano. Udało się też wykorzystać IPFSa do zarządzania botnetem. Mechanizm cenzury w samym protokole po prostu nie istnieje. O ile jest to jego ogromna zaleta, to jak widać, da się to wykorzystać do niecnych celów. Sam IPFS zresztą nie zapewnia żadnej anonimowości, o czym też warto pamiętać. Każdy nowy standard niesie za sobą spore zagrożenie, że zamiast rozwiązywać zadany problem, przyłoży się tylko do większej fragmentacji. W efekcie dostaniemy tylko jeszcze więcej chaosu, a nie nową jakość. Zresztą IPFS nie rozwiązuje wszystkich problemów całego świata. Takie uniwersalne rozwiązania po prostu nie istnieją. Nie jest w stanie chociażby zmniejszyć opóźnień. Ba, prawdopodobnie będą one nawet sporo wyższe niż przy klasycznym połączeniu z punktu do punktu. Raczej więc nie pogramy w 2050 roku z Ziemi ze swoim wnuczkiem na Marsie w najnowszego Quake'a. Fizyka w tej kwestii jest nieubłagana. Co robić i jak żyć? IPFS to bardzo ciekawy projekt, z którego czasem sam korzystam. Sam protokół jest otwarty, dzięki czemu każdy z Was może go wdrożyć lub pomóc w jego rozwoju i bardzo do tego zachęcam. Chcecie z IPFS-a skorzystać, ale nie wiecie jak, a boicie się zapytać? Brave i Opera na Androidzie wspierają go natywnie. Są również odpowiednie rozszerzenia do przeglądarek czy aplikacja na komputery, pozwalająca uruchomić własny węzeł sieci. To nie jedyne rozwiązanie. Istnieją też tzw. bramki dostępowe, które z poziomu każdej przeglądarki pozwalają zerknąć, co za daną sumą kontrolną się kryje. Linki do narzędzi znajdziecie oczywiście w opisie. Korzystacie z IPFS-a? Dajcie znać w komentarzach, w czym Wam pomaga i jakie problemy rozwiązuje lub za pomocą jakich aplikacji z niego korzystacie. Chętnie dowiem się w tej kwestii czegoś nowego. Serdecznie dziękuję Kinu Kosmos za gościnę. Przy okazji zapraszam wszystkich kinomanów do odwiedzenia tego kultowego miejsca na mapie Katowic. I to już wszystko na dziś. Tymczasem dziękuję za Waszą uwagę i do zobaczenia! Napisy stworzone przez społeczność Amara.org