Prezentace KPS

IPFS – InterPlanetary File System

Decentralizovaný protokol pro distribuci souborů a webu

Technická prezentace o IPFS – peer-to-peer protokolu, který identifikuje soubory podle obsahu (hash) místo umístění. Základ pro Web3, decentralizovaný hosting, archivaci a NFT.

Problém centralizovaného webu

Klasický web postavený na HTTP má několik známých problémů:

  • Závislost na jednom serveru – když padne, padne i obsah
  • Cenzura a kontrola ze strany provozovatelů a států
  • Linkrot – mrtvé odkazy, obsah časem mizí
  • Duplikace dat – stejný soubor je stažen miliardkrát

Co je IPFS

InterPlanetary File System je otevřený peer-to-peer protokol pro ukládání a sdílení dat v distribuované síti. Místo aby říkal kde je soubor, IPFS říká co soubor je – pomocí kryptografického hashe obsahu.

Vznikl v roce 2014 v Protocol Labs (Juan Benet) a dnes slouží jako základ pro Web3, decentralizovaný hosting, archivaci dat a NFT.

Klíčové principy

  • Content Addressing – soubor identifikuje jeho hash, ne URL
  • Peer-to-Peer – žádný centrální server, každý uzel = klient i poskytovatel
  • Merkle DAG – stejná struktura jako Git nebo Bitcoin
  • DHT – distribuovaná hash tabulka jako globální index
  • Bitswap – výměna bloků mezi uzly, podobně jako BitTorrent
  • Imutabilita – obsah identifikovaný hashem se nemůže měnit

Content Identifier (CID)

CID je adresa souboru tvořená kryptografickým hashem jeho obsahu. Příklad CID v1: QmTzQ1JRkWErz...XYZ (46 znaků v Base58). Stejný soubor vždy generuje stejný CID, a stažený obsah lze proti CID kdykoliv ověřit.

Merkle DAG a Bitswap

Soubory jsou rozdělené do bloků o velikosti ~256 KB. Adresáře jsou uzly odkazující na své děti. Stejné bloky napříč soubory se deduplikují a integritu celku ověříte z kořene.

Uzly si vyměňují want-listy a poskytují si bloky, které protějšek postrádá. Princip je podobný BitTorrentu.

IPNS – mutabilní jména

Když se obsah změní, mění se i CID. IPNS (InterPlanetary Name System) řeší tento problém – je to mutabilní ukazatel, který vlastník periodicky aktualizuje na aktuální CID. Adresa /ipns/k51qzi5... tedy zůstává stabilní.

Pinning a Gateway

Pinning = označení, že má uzel data držet trvale (jinak se mohou z lokální cache uvolnit). Komerční služby jako Pinata, Web3.Storage nebo Filebase garantují dostupnost dat za poplatek.

Gateway je HTTP brána, která zpřístupní IPFS obsah klasickému prohlížeči – například ipfs.io/ipfs/QmTzQ...

Instalace vlastního uzlu

Existují tři hlavní implementace:

  • IPFS Desktop – grafická aplikace pro Win/Mac/Linux
  • Kubo (Go) – referenční implementace pro příkazovou řádku
  • Helia (JS) – moderní knihovna pro Node.js a prohlížeč
# Rychlý start s Kubo
ipfs init                          # vytvoří lokální repozitář
ipfs daemon                        # spustí uzel a připojí se k síti
ipfs add hello.txt                 # nahraje soubor, vrátí CID
ipfs cat QmTzQ1JRkWErz...XYZ       # stáhne a vypíše soubor

Filecoin – ekonomická vrstva

IPFS jako protokol neřeší trvalost dat. Filecoin je blockchain postavený nad IPFS, kde uživatelé platí FIL tokeny za úložiště a poskytovatelé (miners) skladují data. Cena za GB/měsíc se určuje tržně, dostupnost garantuje kryptografický důkaz uložení (Proof of Spacetime).

Praktické použití

  • Archivace – Wayback Machine, Internet Archive, vědecká data
  • Decentralizovaný web – statické stránky na IPFS + ENS doménách
  • NFT metadata – trvalá identita digitálních aktiv
  • P2P streaming – Audius (hudba), DTube (video)
  • Wikipedia mirrors – cenzura-rezistentní kopie
  • Distribuce software – datasety, ML modely, kontejnery

Výhody a nevýhody

Výhody: cenzura-rezistentní distribuce, žádný centrální bod selhání, deduplikace dat, verifikace integrity zdarma, otevřený standard.

Nevýhody: persistenci si musí někdo zajistit, pomalejší než HTTP/CDN, vyšší latence při hledání obsahu v DHT, smazání dat je v podstatě nemožné, vyšší nároky na šířku pásma uzlu.

Užitečné zdroje

ipfs.tech – oficiální web
docs.ipfs.tech – dokumentace
github.com/ipfs – zdrojový kód
filecoin.io – ekonomická vrstva

← Zpět na přehled prezentací