TechLife devBlog

IPFS: Kazus turecki

Internet 11th May 2017

Nieco ponad 2 tygodnie temu pisałem o rozproszonym systemie plików IPFS. Jedną z głównych wad obecnego internetu, z którą chce sobie poradzić IPFS, jest centralizacja:

[...] obecna sieć jest mocno scentralizowana a przez to bardzo podatna na wszelkie przypadki cenzurowania treści, odcinania dostępu do zasobów czy nawet odcinania całych krajów od internetu.

5 dni później (29 kwietnia 2017) obywatele Turcji zostali na polecenie rządu odcięci od Wikipedii. Z racji swojej pracy, ludzie z Protocol Labs (zajmujący się rozwojem IPFS-a) postanowili wykorzystać to co już stworzyli i pokazać przydatność sieci rozproszonej.

3 maja w sieci IPFS został udostępniony statyczny zrzut tureckiej Wikipedii. W drodze są już zrzuty w języku Arabskim, Kurdyjskim i Angielskim. Zrzut można przeglądać korzystając bezpośrednio z identyfikatora wskazującego na obraz Wikipedii z 30 kwietnia

/ipfs/QmT5NvUtoM5nWFfrQdVrFtvGfKFmG7AHE8P34isapyhCxX/wiki/Anasayfa.html

lub za pośrednictwem systemu nazw (IPNS), który to identyfikator będzie zawsze wskazywał na najnowszą wersję zrzutu:

/ipns/QmVH1VzGBydSfmNG7rmdDjAeBZ71UVeEahVbNpFQtwZK8W/wiki/Anasayfa.html

Jest jeszcze tylko jedno ale, wersja 0.4.8 węzła nie radzi sobie zbyt dobrze z pociętymi katalogami (directory sharding) więc trzeba skorzystać z jeszcze nie wydanej wersji 0.4.8-rc1 lub 0.4.9-rc2. Jednak na szczęście w Protocol Labs też używają ArchLinuxa więc paczka go-ipfs-git autorstwa Kubuxu (swoją drogą studenta AGH) czeka już w AUR.

$ yaourt -S go-ipfs-git

Teraz po wystartowaniu węzła jesteśmy gotowi do przeglądania statycznej Wikipedii. W tym celu w przeglądarce wchodzimy na:

http://127.0.0.1:8080/ipns/QmVH1VzGBydSfmNG7rmdDjAeBZ71UVeEahVbNpFQtwZK8W/wiki/Anasayfa.html

I jesteśmy na ostatnim zrzucie:

strona główna

Nawet wyszukiwanie działa:

wynik wyszukiwania

strona hasła: polonia

Wikipedia będzie dostępna w sieci IPFS tak długo jak długo któryś z węzłów z którymi mamy kontakt będzie ją posiadał. Jednak nawet kiedy jakakolwiek kopia przestanie być dostępna wystarczy aby jeden węzeł ją ponownie dodał, żeby cała sieć znów miała do niej dostęp. Po ponownym dodaniu Wikipedia nadal będzie miała ten sam identyfikator, bo jak wiadomo jest to kryptograficzny hash tworzony na podstawie treści czyli ta sama treść będzie zawsze miała taki sam identyfikator.

Aby pomóc udostępniać (seedować) Wikipedię wystarczy ją przypiąć do swojego węzła:

$ ipfs pin add QmT5NvUtoM5nWFfrQdVrFtvGfKFmG7AHE8P34isapyhCxX

Jest to identyfikator tureckiej wersji która zajmuje 10 GB. Dla porównania łącznie wersje turecka, arabska i kurdyjska zajmują 25 GB a wersja angielska 250 GB.

Więcej informacji o całej akcji znajdziecie na blogu IPFS-a.

Dobrej zabawy w przywracanie wolności ( ͡° ͜ʖ ͡°)



Komentarze