Predstavljen je izdanak decentralizirane datotečne sustave IPFS 0.8 (InterPlanetary File System), koji stvara globalno verzionirano pohranu datoteka raspoređenu u obliku P2P mreže, održavane od strane sustava sudionika. IPFS kombinira ideje ranije realizirane u sustavima kao što su Git, BitTorrent, Kademlia, SFS i Web, i podsjeća na jedinstveni 'roj' BitTorrenta (peerovi koji sudjeluju u razmjeni), koji razmjenjuje Git objekte. IPFS se razlikuje po adresiranju prema sadržaju, a ne prema mjestu pohrane i proizvoljnim imenima. Kod referentne implementacije napisan je na jeziku Go i distribuira se pod licencama Apache 2.0 i MIT.
U novoj verziji:
- Omogućena je mogućnost stvaranja vanjskih usluga za piniranje korisničkih podataka (pinning — vezanje podataka uz čvor, kako bi se osiguralo da su važni podaci pohranjeni). Podaci vezani uz uslugu mogu imati različita imena koja se razlikuju od identifikatora sadržaja (CID). Moguće je pretraživanje podataka prema imenu i CID-u. Za obradu zahtjeva za piniranje podataka predložen je API IPFS Pinning Service, koji se može koristiti izravno u go-ipfs-u. U naredbenoj liniji ponuđena je naredba za privrženje: ipfs pin remote: ipfs pin remote service add mysrv https://my-service.example.com/api-endpoint myAccessToken ipfs pin remote add /ipfs/bafymydata —service=mysrv —name=myfile ipfs pin remote ls —service=mysrv —name=myfile ipfs pin remote rm —service=mysrv —name=myfile
- Ubrzane su operacije piniranja i unpiniranja podataka na lokalnom čvoru. Povećanje performansi i smanjenje potrošnje memorije posebno su uočljivi prilikom izvođenja operacija izlaza ili izmjene na sustavima s velikim brojem pinova.
- Pri formiranju veza 'https://' za gatewaye dodana je mogućnost prijenosa DNSLink imena korištenjem poddomena. Na primjer, za učitavanje imena 'ipns://en.wikipedia-on-ipfs.org' osim prethodno podržanih veza 'https://dweb.link/ipns/en.wikipedia-on-ipfs.org' sada se mogu koristiti veze 'https://en-wikipedia—on—ipfs-org.ipns.dweb.link', u kojima se točke u izvorima imena zamjenjuju simbolom '-', a postojeći simboli '-' dodatno se eskiviraju još jednim sličnim simbolom.
- Proširena je podrška za QUIC protokol. Kako bi se povećale performanse, omogućeno je povećanje primajućih međuspremnika za UDP.
Podsjećamo da je u IPFS-u veza za pristup datoteci izravno povezana s njenim sadržajem i uključuje kriptografski hash sadržaja. Adresa datoteke se ne može proizvoljno preimenovati, može se promijeniti samo nakon promjene sadržaja. Slično tome, nije moguće izvršiti promjenu u datoteci bez promjene adrese (stara verzija će ostati na prethodnoj adresi, a nova će biti dostupna preko druge adrese, kako se hash sadržaja datoteke promijenio). S obzirom na to da se identifikator datoteke mijenja pri svakoj promjeni, kako se svaki put ne bi prenosile nove veze, pružaju se usluge za vezivanje stalnih adresa koje uzimaju u obzir razne verzije datoteke (IPNS), ili postavljanje pseudonima po analogiji s tradicionalnim FS i DNS-om (MFS (Mutable File System) i DNSLink).
Slično BitTorrentu, podaci se izravno pohranjuju na sustavima sudionika, koji razmjenjuju informacije u P2P režimu, bez vezanja za centralizirane čvorove. Kada je potrebno dobiti datoteku s određenim sadržajem, sustav pronalazi sudionike koji posjeduju tu datoteku i isporučuje je s njihovih sustava u dijelovima kroz nekoliko tokova. Nakon preuzimanja datoteke na svoj sustav, sudionik automatski postaje jedna od točaka za njezino dijeljenje. Za određivanje sudionika u mreži na čvorovima na kojima je prisutan sadržaj koji je zanimljiv koristi se distribuirana hash tablica (DHT). Za pristup globalnom FS-u, IPFS se može koristiti preko HTTP protokola ili montirati virtualni FS /ipfs pomoću FUSE modula.
IPFS pomaže u rješavanju problema kao što su pouzdano pohranjivanje (ako izvorno spremište prestane raditi, datoteku je moguće preuzeti iz sustava drugih korisnika), suprotstavljanje cenzuri sadržaja (za blokiranje potrebno je blokirati sve sustave korisnika koji imaju kopiju podataka) i organizacija pristupa u slučaju nedostatka izravne veze na internet ili loše kvalitete kanala (moguće je preuzeti podatke preko najbližih sudionika u lokalnoj mreži). Osim pohrane datoteka i razmjene podataka, IPFS se može koristiti kao osnova za stvaranje novih usluga, na primjer, za organizaciju rada web stranica koje nisu vezane uz poslužitelje ili za stvaranje distribuiranih aplikacija.

Izvor: opennet.ru
