IPFS – InterPlanetary File System
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