A fost lansată versiunea 0.8 a sistemului de fișiere descentralizat IPFS (InterPlanetary File System), care formează un depozit global de fișiere versionate, desfășurat sub forma unei rețele P2P, formată din sisteme de participanți. IPFS combină idei realizate anterior în sisteme precum Git, BitTorrent, Kademlia, SFS și Web, asemănându-se cu un „roi” unic BitTorrent (piri care participă la distribuție), care schimbă obiecte Git. IPFS se caracterizează prin adresarea pe baza conținutului, nu a locației, și a numelui arbitrar. Codul de referință este scris în limbajul Go și este distribuit sub licențele Apache 2.0 și MIT.
În noua versiune:
- A fost implementată posibilitatea de a crea servicii externe pentru ancorarea datelor utilizatorilor (pinning - legarea datelor la un nod pentru a garanta că datele importante sunt păstrate). Datele ancorate pot avea nume separate, diferite de identificatorul conținutului (CID). Este posibilă căutarea datelor atât după nume, cât și după CID. Pentru gestionarea cererilor de ancorare a datelor, este propus un API IPFS Pinning Service, care poate fi utilizat direct în go-ipfs. În linia de comandă, pentru atașare, este propusă comanda „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
- Operațiunile de ancorare (pinning) și de dezlegare (unpinning) a datelor pe nodul local au fost accelerate. Creșterea performanței și reducerea memoriei consumate sunt deosebit de notabile în timpul operațiunilor de ieșire sau modificare pe sistemele cu un număr mare de ancorări.
- La formarea link-urilor „https://” pentru gateway-uri a fost adăugată posibilitatea de transmitere a numelui DNSLink prin utilizarea subdomeniilor. De exemplu, pentru încărcarea numelui „ipns://en.wikipedia-on-ipfs.org”, pe lângă link-urile anterior acceptate „https://dweb.link/ipns/en.wikipedia-on-ipfs.org”, acum pot fi utilizate link-uri „https://en-wikipedia—on—ipfs-org.ipns.dweb.link”, în care punctele din numelii inițiali sunt înlocuite cu simbolul „-”, iar simbolurile existente „-” sunt scăpate printr-un alt simbol similar.
- S-a extins suportul pentru protocolul QUIC. Pentru a îmbunătăți performanța, a fost adăugată posibilitatea de a crește buffer-urile de primire pentru UDP.
Reamintim că, în IPFS, linkul pentru accesarea unui fișier este direct legat de conținutul acestuia și include un hash criptografic al conținutului. Adresa fișierului nu poate fi redenumită arbitrar; ea poate fi schimbată doar atunci când conținutul este modificat. De asemenea, nu se poate modifica fișierul fără a schimba adresa (versiunea veche va rămâne la aceeași adresă, iar noua versiune va fi accesibilă printr-o altă adresă, deoarece hash-ul conținutului fișierului se va schimba). Având în vedere că identificatorul fișierului se schimbă la fiecare modificare, pentru a nu trebui să transmită mereu linkuri noi, sunt oferite servicii pentru asocierea adreselor permanente, care iau în considerare diferitele versiuni ale fișierului (IPNS), sau pentru ancorarea unui alias similar cu file system-uri tradiționale și DNS (MFS (Mutable File System) și DNSLink).
Similar cu BitTorrent, datele sunt stocate direct pe sistemele participanților, care schimbă informații în regim P2P, fără a fi legate de noduri centralizate. Când este necesar să obțină un fișier cu un anumit conținut, sistemul găsește participanții care dețin acel fișier și îl trimite de pe sistemele lor în părți, pe mai multe fluxuri. După ce un participant descarcă fișierul pe sistemul său, devine automat unul dintre punctele de distribuție ale acestuia. Pentru a determina participanții din rețea la nodurile cărora este prezent conținutul de interes, se utilizează o tabelă hash distribuită (DHT). Pentru accesul la sistemul de fișiere global IPFS se poate folosi protocolul HTTP sau se poate monta un sistem de fișiere virtual /ipfs cu ajutorul modulului FUSE.
IPFS ajută la rezolvarea unor probleme precum fiabilitatea stocării (dacă stocarea inițială devine inaccesibilă, fișierul poate fi descărcat de pe sistemele altor utilizatori), contracararea cenzurii conținutului (pentru blocare, trebuie să se blocheze toate sistemele utilizatorilor pe care se află o copie a datelor) și organizarea accesului în lipsa unei conexiuni directe la internet sau în caz de calitate slabă a canalului de comunicație (datele pot fi descărcate prin intermediul celor mai apropiați membri din rețeaua locală). Pe lângă stocarea fișierelor și schimbul de date, IPFS poate fi utilizat ca bază pentru crearea de servicii noi, de exemplu, pentru organizarea funcționării site-urilor care nu depind de servere sau pentru crearea de aplicații distribuite.

Sursa: opennet.ro
