lëshimi i një sistemi të decentralizuar të skedarëve (Sistemi Ndërplanetar i Skedarëve), që formon një depo globale të versionuar të skedarëve, e ndërtuar në formën e një rrjeti P2P, të përbërë nga sistemet e pjesëmarrësve. IPFS kombinon ide të realizuara më parë në sisteme të tilla si Git, BitTorrent, Kademlia, SFS dhe Web, dhe të kujton një "të gjithë" të BitTorrent (pjesëmarrësit që kontribuojnë në shpërndarje), duke ndarë objekte Git. IPFS dallohet nga adresimi sipas përmbajtjes, dhe jo sipas vendndodhjes dhe emrave të rastësishëm. Kodi i realizimit referencial është shkruar në gjuhën Go dhe në përputhje me licencat Apache 2.0 dhe MIT.
Në versionin e ri është bërë çaktivizimi i transportit , i cili në versionin e kaluar u zëvendësua me transportin , në protokollin dhe i zhvilluar si pjesë e një stak të modularizuar për aplikacionet P2P . Si një transport rezervë ka mbetur TLSv1.3. Administratoret e nyjeve që përdorin versione të vjetra të IPFS (Go IPFS < 0.5 ose JS IPFS < 0.47) rekomandohet të përditësojnë softuerin për të shmangur reduce të performancës.
Në versionin e ri gjithashtu është bërë kalimi në përdorimin standard të çelësave ed25519 në vend të RSA. Mbështetje për çelësat e vjetër RSA është ruajtur, por çelësat e rinj tani do të generohet duke përdorur algoritmin ed25519. Përdorimi i çelësave publikë të integruar ed25519 zgjidh problemin e ruajtjes së çelësave publikë, për shembull, për verifikimin e të dhënave të nënshkruara me përdorimin e ed25519 mjafton informacione për PeerId. Emrat e çelësit në rrugët IPNS tani kodohen duke përdorur algoritmin base36 CIDv1 në vend të base58btc.
Përveç ndryshimit të llojit të çelësave të zakonshëm në IPFS 0.7, është shtuar mundësia për rotacionin e çelësave identifikues. Për të ndryshuar çelësin e nyjes tani mund të ekzekutohet komanda "ipfs key rotate". Për më tepër, janë shtuar komanda të reja për importin dhe eksportin e çelësave ("ipfs key import" dhe "ipfs key export"), të cilat mund të aplikohen për qëllime rezervimi, si dhe komanda "ipfs dag stat" për të nxjerrë statistikat mbi DAG (Grafet Acyklik të Distribuara).
Kujtojmë se në IPFS, lidhja për qasje në skedarin është direkt e lidhur me përmbajtjen e tij dhe përfshin një hash kriptografik të përmbajtjes. Adresa e skedarit nuk mund të rinovohet rastësisht, ajo mund të ndryshojë vetëm pas ndryshimit të përmbajtjes. Po ashtu, nuk është e mundur të bëhet një ndryshim në skedar pa ndryshuar adresën (versioni i vjetër do të mbetet në adresën e mëparshme, ndësa i ri do të jetë i aksesueshëm përmes një adrese tjetër, pasi hash-i i përmbajtjes së skedarit do të ndryshojë). Duke u nisur nga fakti se identifikuesi i skedarit ndryshon me çdo ndryshim, për të mos pasur nevojë që çdo herë të dërgoni lidhje të reja, ofrohen shërbime për lidhjen e adresave të përhershme që marrin parasysh versionet e ndryshme të skedarit.), ose për të vendosur një pseudonim sipas analogjisë me sisteme tradicionale të FS dhe DNS ( (Sistemi i Skedarëve të Ndryshueshëm) dhe ).
Sipas analogjisë me BitTorrent, të dhënat ruhet direkt në sistemet e pjesëmarrësve, të cilët shkëmbejnë informacion në modën P2P, pa u lidhur me nyje të centralizuara. Në rast se nevojitet të merret një skedar me përmbajtje të caktuar, sistemi gjen pjesëmarrësit që kanë këtë skedar dhe e jep atë nga sistemet e tyre në pjesë në disa rrjedha. Pas shkarkimit të skedarit në sistemin e tij, pjesëmarrësi automatikisht bëhet një nga pikët e shpërndarjes së tij. Për të përcaktuar pjesëmarrësit e rrjetit në nyjet e të cilëve ndodhet përmbajtja e dëshiruar tabela e shpërndarë e hash-eve (). Për qasje në FS globale, IPFS mund të përdorë protokollin HTTP ose të montohet një FS virtuale /ipfs përmes modulit FUSE.
IPFS ndihmon në zgjidhjen e problemeve të tilla si ruajtja e besueshme (nëse ruajtja origjinale nxirret jashtë funksionit, skedari mund të shkarkohet nga sistemet e përdoruesve të tjerë), përballimi i censurimit të përmbajtjes (për bllokim duhet të bllokohen të gjitha sistemet e përdoruesve që kanë një kopje të të dhënave) dhe organizimi i qasjes në mungesë të një lidhjeje direkte në internet ose gjatë cilësisë së dobët të kanalit të komunikimit (mund të shkarkohet të dhënat përmes pjesëmarrësve më të afërt në rrjetin lokal). Përveç ruajtjes së skedarëve dhe shkëmbimit të të dhënave, IPFS mund të përdoret si bazë për krijimin e shërbimeve të reja, për shembull, për organizimin e funksionimit të faqeve që nuk janë të lidhura me serverë, ose për krijimin e aplikacioneve të shpërndara. .
Burimi: opennet.ru
