====== IPFS: InterPlanetární souborový systém ====== **IPFS** je distribuovaný systém pro ukládání a přístup k souborům, webovým stránkám a aplikacím. Na rozdíl od HTTP, který je založen na lokaci (IP adresa serveru), IPFS využívá **obsahové adresování** (Content Addressing). ===== 1. Jak IPFS funguje: HTTP vs. IPFS ===== V tradičním internetu (HTTP) žádáte server o konkrétní soubor na konkrétní adrese. Pokud server spadne, soubor je nedostupný. * **HTTP (Location-based):** Adresa vypadá takto: ''https://server.com/obrazek.jpg''. * **IPFS (Content-based):** Adresa je unikátní kryptografický hash obsahu: ''/ipfs/QmXoyp...'. Pokud hledáte soubor v IPFS, síť se neptá "kde je server?", ale "kdo má soubor s tímto hashem?". Soubor může být uložen na stovkách počítačů současně a vy jej stáhnete z nejbližšího zdroje. --- ===== 2. Klíčové technologie pod kapotou ===== IPFS kombinuje několik prověřených konceptů: * **Content Identifier (CID):** Každý soubor má svůj unikátní otisk (hash). Pokud v souboru změníte jediný pixel, změní se i jeho CID. * **Directed Acyclic Graph (DAG):** IPFS používá strukturu **Merkle DAG** (podobně jako [[it:sw:blockchain|blockchain]]), která umožňuje rozdělit velké soubory na menší bloky a ty následně efektivně propojovat. * **Distributed Hash Table (DHT):** Decentralizovaná "kniha", která pomáhá uzlům v síti najít, kdo drží jaký blok dat. --- ===== 3. Proč je IPFS důležitý pro dApps a Web3? ===== Uložení 1 MB dat přímo na blockchainu [[it:sw:ethereum|Ethereum]] může stát tisíce dolarů. Proto se používá "Off-chain" úložiště: 1. Soubor (např. obrázek pro NFT) se nahraje na **IPFS**. 2. IPFS vrátí unikátní **CID**. 3. Pouze toto krátké **CID** se uloží do [[it:sw:smart_contracts|chytré smlouvy]] na blockchainu. Tím je zajištěno, že se metadata NFT nikdy nezmění (protože by se změnilo CID), ale náklady na uložení jsou minimální. --- ===== 4. Persistence dat a Pinning ===== V IPFS data existují, dokud je alespoň jeden uzel sdílí. Pokud uzel, který soubor drží, vypne počítač, soubor zmizí (pokud jej mezitím nestáhl někdo jiný). * **Pinning:** Akt "přišpendlení" souboru na konkrétní uzel, čímž dáváte najevo, že tento uzel má soubor uchovávat trvale. * **Pinning Services:** Služby jako **Pinata** nebo **Infura**, které za poplatek zaručují, že vaše data budou v síti IPFS dostupná 24/7. --- ===== 5. Výhody a omezení ===== **Výhody:** * **Nezměnitelnost:** Odkaz na soubor v IPFS se nemůže změnit, aniž by se změnil samotný odkaz. * **Efektivita:** Odstraňuje duplicity (pokud dva lidé nahrají stejný soubor, má stejné CID a v síti existuje jen jednou). * **Odolnost:** Síť je obtížné cenzurovat nebo vypnout. **Omezení:** * **Rychlost:** Vyhledávání dat v DHT může být pomalejší než stažení z centrálního serveru. * **Mazání dat:** Jednou nahraný soubor, který někdo jiný "přišpendlil", nelze ze sítě smazat. ---- //Související články:// * [[it:sw:dapps|dApps: Decentralizované aplikace]] * [[it:sw:blockchain|Blockchain a integrita dat]] * [[it:sw:nft|NFT: Využití IPFS v digitálním umění]] //Tagy: {{tag>it ipfs p2p storage web3 decentralization cid}}//