Bemutatásra került az IPFS 0.9-es verziója (InterPlanetary File System), amely egy globális verzionált fájltárolót alkot, amely P2P-hálózat formájában valósul meg, résztvevő rendszerekből. Az IPFS ötvözi a Git, BitTorrent, Kademlia, SFS és Web rendszerekben korábban megvalósított ötleteket, és hasonlít egy egységes „rajra”, amely BitTorrent résztvevőkből áll (a megosztásban részt vevő csomópontok), Git-objektumokat cserélgetve. Az IPFS a tartalom alapján azonosít, nem pedig a hely alapján, valamint véletlenszerű neveket használ. A referencia-implementáció kódja Go nyelven íródott, és Apache 2.0 és MIT licenc alatt terjesztik.
Az új verzióban:
- A hídokon lehetőség nyílt tetszőleges IPLD gráfok (InterPlanetary Linked Data, egy névterület, amely lehetővé teszi az erőforrások hash alapú címzését) feltöltésére a „/api/v0/dag/export” kezelőn keresztül, amely hasonló funkciót lát el, mint az „ipfs dag export” parancs. Az exportálás DAG archívum formátumban történik (Irányított, ciklusmentes gráf). A kapott IPLD lehetőséget ad a felhasználónak, hogy megbizonyosodjon arról, hogy a nyilvános hídról letöltött adatok megfelelnek a kért szimbolikus névnek (például a „/ipfs/bafyexample” fájl megszerzésével ellenőrizhető, hogy a szimbolikus névhez eredetileg társított hash-nek megfelelően valósítják meg).
- Lehetőséget biztosítottak egy saját DNS-lezáró meghatározására, amely a „DNS over HTTPS” protokollt használja, és amely helyettesíti az operációs rendszer beállításaiban lévő lezárót. Ezen kívül egyedi domainok első szintű lekérdezők felülbírálására is lehetőség van. A DNSLink, amely a klasszikus DNS nevek IPFS címekhez való hozzárendelésére szolgáló mechanizmus, lehetőséget ad a kiválasztott név lekérdező felülbírálására, lehetővé téve olyan domain nevek létrehozását, amelyek nem kapcsolódnak az ICANN-hoz, például csatlakozhatunk a „https://eth.link/dns-query” lekérdezőhöz az „eth” első szintű domainek kezelésére, amelyek hivatalosan nincsenek jóváhagyva az ICANN által.
- Frissült a webes felület (WebUI), amelyben kísérleti támogatás jelent meg külső szolgáltatások rögzítésére (a „ipfs pin remote service” parancs analógiájaként). A fájlokkal és résztvevőkkel kapcsolatos képernyők kialakítása is megváltozott.
- A CLI felületen lehetőséget biztosítottak a kulcsok exportálására az „ipfs key export” parancs segítségével anélkül, hogy leállítanák az ipfs háttérfolyamatot.
- Kísérleti DHT ügyfél került hozzáadásra az adatok keresésére egy disztribúciós hash-táblával, amely a teljesítmény szempontjából jobb mint az IPNS alapú megoldás.
- A frissítések új verzióira való migrációs összetevői a go-ipfs keretében külön csomagokra lettek bontva, hogy felgyorsítsák a letöltést és egyszerűsítsék a frissítések kezelését, amikor saját pluginokat használnak a konfigurációban. Az frissítések letöltése automatizált az IPFS-en keresztül, és beállításokat adtak hozzá a frissítések alkalmazásának megkönnyítésére hálózati kapcsolatok hiányában, vagy ha a tűzfal blokkolja őket.
Emlékeztetőül, az IPFS-ben a fájlhoz való hozzáférés linkje közvetlenül kapcsolódik a fájl tartalmához, és magában foglalja a tartalom kriptográfiai hash-jét. A fájl címét nem lehet véletlenszerűen átnevezni, csak a tartalom megváltozásakor módosulhat. Hasonlóan, a fájlban végrehajtott változtatás nem lehetséges a cím megváltoztatása nélkül (a régi verzió ugyanazon a címen marad, míg az új egy másik címen lesz elérhető, mivel a fájl tartalmának hash-je megváltozik). Tekintettel arra, hogy a fájl azonosítója minden módosításkor változik, új linkek egyszeri átadásához szolgáltatásokat kínálnak a tartós címek rögzítésére, figyelembe véve a fájl különböző verzióit (IPNS), vagy álnevek rögzítésére a hagyományos fájlrendszerek és DNS analógiáján (MFS (Mutable File System) és DNSLink).
A BitTorrenthez hasonlóan az adatok közvetlenül a résztvevők rendszerein tárolódnak, akik P2P módban információt osztanak meg, központosított csomópontok nélkül. Ha egy adott tartalmú fájlt szeretne megszerezni, a rendszer megtalálja azokat a résztvevőket, akiknél ez a fájl elérhető, és darabokban több folyamban átadja a fájlokat a rendszereikből. Miután egy résztvevő letöltötte a fájlt a saját rendszerére, automatikusan a fájl terjesztésének egyik pontjává válik. A hálózaton lévő résztvevők meghatározására, akiknél az érdekes tartalom megtalálható, elosztott hash táblát (DHT) használnak. Az IPFS globális fájlrendszeréhez való hozzáféréshez használható a HTTP protokoll vagy a virtuális fájlrendszer (/ipfs) FUSE moduljával történő beillesztése.
Az IPFS megoldást nyújt olyan feladatokhoz, mint a tárolás megbízhatósága (ha az eredeti tároló meghibásodik, a fájl letölthető más felhasználók rendszereiről), a tartalom cenzúrájának ellensúlyozása (a blokkoláshoz minden olyan rendszert blokkolni kell, amelyen másolt adatok találhatóak) és a hozzáférés biztosítása, ha nincs közvetlen internetkapcsolat vagy gyenge a kapcsolat minősége (az adatokat a legközelebbi résztvevőkön keresztül lehet letölteni a helyi hálózaton). A fájlok tárolása és az adatok cseréje mellett az IPFS új szolgáltatások alapjául is szolgálhat, például olyan weboldalak működtetéséhez, amelyek nem kötődnek szerverekhez, vagy elosztott alkalmazások létrehozásához.

Forrás: opennet.ru
