udgivelse af et decentraliseret filsystem (InterPlanetary File System), der danner et globalt versionsstyret filopbevaringssystem, der er implementeret som et P2P-netværk, dannet af deltagerens systemer. IPFS kombinerer ideer, der tidligere er realiseret i systemer som Git, BitTorrent, Kademlia, SFS og Web, og ligner et enkelt 'sværm' af BitTorrent, hvor deltagerne deler Git-objekter. IPFS adskiller sig ved at adressering er baseret på indhold, snarere end placering og vilkårlige navne. Koden til referenceimplementeringen er skrevet i Go og under licenserne Apache 2.0 og MIT.
I den nye version er transport deaktiveret som standard , som i den tidligere version blev tilbudt som transport , protokollen og udviklet inden for det modulære netværksstak til P2P-applikationer . TLSv1.3 er bevaret som en sikkerhedstransport. Administratorer af noder, der bruger gamle versioner af IPFS (Go IPFS < 0.5 eller JS IPFS < 0.47) anbefales at opdatere softwaren for at undgå præstationsfald.
I den nye version er der også sket en overgang til brugen af ed25519 nøgler som standard i stedet for RSA. Understøttelse af gamle RSA-nøgler er bevaret, men nye nøgler vil nu blive genereret ved hjælp af ed25519 algoritmen. Brug af indbyggede ed25519 offentlige nøgler løser problemaet med opbevaring af offentlige nøgler; for eksempel kræver verifikation af underskrevne data med ed25519 kun information om PeerId. Nøgle-navne i IPNS-stier er nu kodet med base36 CIDv1 algoritmen i stedet for base58btc.
Udover skiftet til ed25519 nøgler som standard i IPFS 0.7 er muligheden for rotation af identifikationsnøgler blevet tilføjet. For at ændre en nodes nøgle kan kommandoen «ipfs key rotate» nu udføres. Derudover er der tilføjet nye kommandoer til import og eksport af nøgler («ipfs key import» og «ipfs key export»), som kan bruges til backup, samt kommandoen «ipfs dag stat» til at vise statistikker om DAG (Distributed Acyclic Graphs).
Lad os minde om, at i IPFS er linket til at få adgang til en fil direkte relateret til dens indhold og inkluderer en kryptografisk hash af indholdet. Filens adresse kan ikke omdøbes vilkårligt; den kan kun ændres efter en ændring af indholdet. Ligeledes kan filen ikke ændres uden at ændre adressen (den gamle version forbliver på den gamle adresse, mens den nye vil være tilgængelig via en anden adresse, da hash'en af filens indhold vil ændre sig). Da filens identifikator ændrer sig ved hver ændring, tilbydes tjenester til at binde permanente adresser, som tager høje for forskellige versioner af filen (), eller til at fastsætte et alias analogt med traditionelle FS og DNS ( (Mutable File System) og ).
På lignende måde som BitTorrent gemmes dataene direkte på deltagernes systemer, som udveksler informationer i P2P-tilstand, uden binding til centraliserede noder. Når det er nødvendigt at få en fil med bestemt indhold, finder systemet deltagere, der har denne fil og leverer den fra deres systemer i dele i flere strømme. Efter at have downloadet filen til sit system bliver deltagere automatisk en af punkterne for distribution af den. For at bestemme deltagerne i netværket, hvor der er tilgængeligt indhold, distribueret hashtabel (). For at få adgang til den globale FS kan IPFS bruge HTTP-protokollen eller monteres som et virtuelt FS /ipfs ved hjælp af FUSE-modulet.
IPFS hjælper med at løse opgaver som pålidelig lagring (hvis den oprindelige lagring svigter, kan filen hentes fra andre brugeres systemer), modstand mod censur af indhold (for at blokere kræves det at blokere alle systemer, hvor der er en kopi af dataene), og organisering af adgang uden direkte internetforbindelse eller ved dårlig kvalitet af forbindelsen (data kan hentes via de nærmeste deltagere i det lokale netværk). Udover lagring af filer og dataudveksling kan IPFS bruges som grundlag for at skabe nye tjenester, eksempelvis til oprettelse af hjemmesider, der ikke er bundet til servere, eller til at skabe distribuerede .
Kilde: opennet.ru
