Byla představena verze decentralizovaného souborového systému IPFS 0.9 (InterPlanetary File System), vytvářejícího globální verzionované úložiště souborů, realizovaného ve formě P2P sítě složené ze systémů účastníků. IPFS kombinuje myšlenky dříve realizované v takových systémech jako Git, BitTorrent, Kademlia, SFS a Web, a připomíná jednotný „roj“ BitTorrent (řežimící se účastníci), vyměňující si Git objekty. IPFS se vyznačuje adresací dle obsahu, nikoli dle místa umístění a libovolnými názvy. Kód referenční implementace je napsán v jazyce Go a je šířen pod licencemi Apache 2.0 a MIT.
V nové verzi:
- Ve bránách byla implementována možnost nahrávání libovolných grafů IPLD (InterPlanetary Linked Data, jmenný prostor pro adresování zdrojů na základě hashů) prostřednictvím zpracovatele „/api/v0/dag/export“, který vykonává funkci podobnou příkazu „ipfs dag export“. Export se provádí ve formátu archivu DAG (Orientovaný acyklický graf). Získaný IPLD dává uživateli možnost ověřit, že nahraná data z veřejné brány odpovídají požadovanému symbolickému jménu (například, získáním souboru „/ipfs/bafyexample“ lze zkontrolovat jeho shodu s hashem obsahu, původně spojeným se symbolickým jménem).
- Byla poskytnuta možnost definovat vlastní DNS resolver, který používá protokol „DNS over HTTPS“, který bude používán místo resolveru z nastavení operačního systému. Lze rovněž předefinovat resolver pro jednotlivé domén. domény první úrovně. V DNSLink, mechanismu pro přiřazení běžných DNS jmen k adresám IPFS, může selektivní výměna resolveru sloužit k vytváření doménových jmen, která nejsou spojena s ICANN, například lze připojit resolver „https://eth.link/dns-query“ pro zpracování domén první úrovně „.eth“, které nebyly oficiálně schváleny ICANN.
- Bylo aktualizováno webové rozhraní (WebUI), v němž byla přidána experimentální podpora uchování externích služeb (podobné příkazu „ipfs pin remote service“). Bylo změněno uspořádání obrazovek pro práci se soubory a peerovými stanicemi.
- V CLI rozhraní byla přidána možnost exportovat klíče pomocí příkazu „ipfs key export“ bez zastavení běžícího procesu ipfs.
- Byl přidán experimentální klient DHT pro vyhledávání dat pomocí distribuované hash tabulky, který se vyznačuje vyšším výkonem než řešení založené na IPNS.
- Komponenty pro migraci na nové verze go-ipfs jsou rozděleny do samostatných balíčků za účelem rychlejšího stahování a zjednodušení správy aktualizací v konfiguracích s vlastními pluginy. Proces stahování aktualizací je automatizován prostřednictvím IPFS a byly přidány možnosti pro zjednodušení aplikace aktualizací v podmínkách absence síťového připojení nebo zablokování firewallem.
Připomeňme, že v IPFS je odkaz pro přístup k souboru přímo spojen s jeho obsahem a zahrnuje kryptografický hash obsahu. Adresu souboru nelze libovolně přejmenovat, může se změnit pouze po změně obsahu. Podobně nelze provést změnu v souboru, aniž by se změnila adresa (stará verze zůstane na původní adrese a nová bude dostupná na jiné adrese, protože hash obsahu souboru se změní). Vzhledem k tomu, že identifikátor souboru se mění při každé změně, aby se pokaždé nemusely předávat nové odkazy, jsou k dispozici služby pro přiřazení trvalých adres zohledňujících různé verze souboru (IPNS), nebo pro zajištění aliasu analogicky s tradičními FS a DNS (MFS (Mutable File System) a DNSLink).
Analogicky k BitTorrentu jsou data uložena přímo na systémech účastníků, kteří si vyměňují informace v režimu P2P, bez vazby na centralizované uzly. Při potřebě získat soubor s konkrétním obsahem systém najde účastníky, kteří mají daný soubor, a dodá ho z jejich systémů po částech ve více streamů. Po stažení souboru na svůj systém se účastník automaticky stává jedním z bodů pro jeho distribuci. Pro určení účastníků sítě, na uzlech kterých se nachází zajímavý obsah, se používá distribuovaná hash tabulka (DHT). Pro přístup k globálnímu FS může být IPFS používán protokol HTTP nebo může být namontován virtuální FS /ipfs pomocí modulu FUSE.
IPFS pomáhá řešit takové úkoly jako je spolehlivost úložiště (pokud dojde k selhání původního úložiště, lze soubor stáhnout ze systémů dalších uživatelů), odolnost vůči cenzuře obsahu (k jeho blokaci by bylo potřeba zablokovat všechny systémy uživatelů, na nichž je uchována kopie dat) a zajištění přístupu v případě absence přímého připojení k internetu nebo při špatné kvalitě spojení (data lze stáhnout prostřednictvím nejbližších účastníků v místní síti). Kromě ukládání souborů a výměny dat může být IPFS využit jako základ pro vytváření nových služeb, například pro zajištění fungování webových stránek, které nejsou vázány na servery, nebo pro vytváření distribuovaných aplikací.

Zdroj: opennet.ru
