Udgivelsen af det decentraliserede filsystem IPFS 0.8 (InterPlanetary File System) er præsenteret. Det danner et globalt versionsstyret filopbevaringssystem, der implementeres i form af et P2P-netværk dannet af deltagernes systemer. IPFS kombinerer ideer, der tidligere er realiseret i systemer som Git, BitTorrent, Kademlia, SFS og Web, og ligner et samlet 'sværm' af BitTorrent (peers, der deltager i udbredelsen), der udveksler Git-objekter. IPFS adskiller sig ved indholdsadresse i stedet for placerings- og tilfældige navne. Koden til den referenceimplementering er skrevet i Go-sprog og distribueres under Apache 2.0 og MIT-licenserne.
I den nye version:
- Muligheden for at oprette eksterne tjenester til at fastgøre brugerdata (pinning — binding af data til en node for at sikre, at vigtige data er gemt) er blevet implementeret. Data fastgjort til tjenesten kan have separate navne, der adskiller sig fra indholdsidentifikatoren (CID). Søgning efter data er muligt både efter navn og CID. For at behandle anmodninger om datastiftelse er der foreslået en API for IPFS Pinning Service, som kan bruges direkte i go-ipfs. I kommandolinjen er kommandoen til at fastgøre foreslået: "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
- Operationerne med at fastgøre (pinning) og løsne (unpinning) data på den lokale node er blevet hurtigere. Forbedringen i ydeevne og reduktionen af den forbrugte hukommelse er især tydelig ved udførelse af output eller ændringer på systemer med et stort antal fastgørelser.
- Når der oprettes links "https://" til gateways, er muligheden for at transmittere DNSLink-navne ved hjælp af subdomæner tilføjet. For eksempel, for at hente navnet "ipns://en.wikipedia-on-ipfs.org", udover de tidligere understøttede links "https://dweb.link/ipns/en.wikipedia-on-ipfs.org", kan der nu bruges links "https://en-wikipedia—on—ipfs-org.ipns.dweb.link", hvor punkterne i de oprindelige navne erstattes med karakteren "-", og eksisterende tegn "-" bliver eksterneret med endnu et lignende tegn.
- Understøttelsen af QUIC-protokollen er udvidet. For at øge ydeevnen er der givet mulighed for at øge de modtagende buffere til UDP.
Det er vigtigt at huske, at i IPFS er linket til at få adgang til en fil direkte relateret til dens indhold og inkluderer en kryptografisk hash af indholdet. Adressen på filen kan ikke omdøbes vilkårligt; den kan kun ændre sig, når indholdet ændres. Ligeledes er det umuligt at ændre en fil uden at ændre adressen (den gamle version forbliver på den gamle adresse, mens den nye vil være tilgængelig via en anden adresse, fordi hash'en fra filens indhold ændres). Da filens identifikator ændres ved hver ændring, tilbydes tjenester til at binde permanente adresser, der tager højde for forskellige versioner af filen (IPNS), eller til at fastsætte et alias svarende til traditionelle FS og DNS (MFS (Mutable File System) og DNSLink).
På linje med BitTorrent opbevares data direkte på deltagernes systemer, som udveksler information i P2P-tilstand uden at være bundet til centraliserede noder. For at få en fil med bestemt indhold finder systemet de deltagere, som har denne fil, og overfører den fra deres systemer i dele over flere stream. Når en deltager har downloadet filen til sit system, bliver de automatisk en af distribueringspunkterne for den. En distribueret hash-tabel (DHT) bruges til at identificere deltagere i netværket, hvor interessentindhold er til stede. Til adgang til den globale FS kan IPFS bruge HTTP-protokollen eller montere et virtuelt FS /ipfs ved hjælp af FUSE-modulet.
IPFS hjælper med at løse opgaver som pålidelig lagring (hvis det oprindelige lager svigter, kan filen hentes fra andre brugeres systemer), modstand mod censurering af indhold (for at blokere kræves det at blokere alle systemer hos brugere, hvor dataene er kopieret) og organisering af adgang i tilfælde af mangel på direkte internetforbindelse eller ved dårlig kvalitet af forbindelse (data kan hentes via de nærmeste deltagere i det lokale netværk). Udover filopbevaring og datadeling kan IPFS bruges som grundlag for at skabe nye tjenester, eksempelvis til drift af websteder, der ikke er knyttet til servere, eller til skabelse af distribuerede applikationer.

Kilde: opennet.ru
