uitgave van een gedecentraliseerd bestandsysteem (InterPlanetary File System), dat een globaal versiebeheer archief van bestanden vormt, uitgerold in de vorm van een P2P-netwerk, bestaande uit de systemen van deelnemers. IPFS combineert ideeƫn die eerder zijn gerealiseerd in systemen zoals Git, BitTorrent, Kademlia, SFS en Web, en lijkt op een enkele 'zwarm' BitTorrent (peers die deelnemen aan de distributie), die Git-objecten uitwisselt. IPFS onderscheidt zich door adressering op basis van inhoud in plaats van locatie en willekeurige namen. De referentie-implementatie is geschreven in de programmeertaal Go en wordt verspreid onder de licenties Apache 2.0 en MIT.
De nieuwe versie valt op door de standaard opname van transport op basis van het protocol , dat een uitbreiding is van het UDP-protocol, dat multiplexing van meerdere verbindingen ondersteunt en encryptiemethoden biedt die gelijkwaardig zijn aan TLS/SSL. In IPFS wordt de socket voor het ontvangen van UDP-verbindingen automatisch op hetzelfde adres en netwerkpoort gestart als de TCP-gebaseerde transporthandler. QUIC wordt gebruikt voor zowel inkomende als uitgaande verbindingen, waarbij wordt teruggevallen op TCP bij het aansluiten op nieuwe knooppunten wanneer QUIC niet beschikbaar is.
Een andere belangrijke vernieuwing is de ondersteuning van beveiligd transport , op het protocol en ontwikkelt binnen , een modulaire netwerkstack voor P2P-toepassingen. Na de initiƫle verbinding wordt alle vervolgdataverkeer tussen deelnemers versleuteld en beschermd tegen afluisteren.
NOISE heeft het transport vervangen, maar TLS 1.3 blijft voorlopig de prioritaire methode voor encryptie van verbindingen tussen knooppunten. NOISE is voldoende eenvoudig te implementeren en wordt gepositioneerd als een universeel cross-platform transport dat op verschillende programmeertalen kan worden geĆÆmplementeerd.
In de nieuwe uitgave is ook de mogelijkheid toegevoegd om eigen '404 Not Found'-pagina's toe te voegen en is optionele ondersteuning voor de Base36 coderingsmethode toegevoegd, die optimaal is voor alfanumerieke gegevens zonder onderscheid in lettertype, zoals domeinnamen (bij gebruik van Base32 overschrijden Ed25519 IPNS-sleutels de limiet van twee bytes boven het subdomeingrootte-limiet, terwijl bij Base36 dit binnen de limiet blijft). Daarnaast is er een optie toegevoegd aan de instellingen
««, die de lijst met knooppunten definieert voor verbinding, onderhoud van verbinding en reconnection met als doel het vaststellen van āstickyā verbindingen tussen vaak gebruikte peers.
Laten we herinneren dat in IPFS de link voor toegang tot een bestand direct is verbonden met de inhoud ervan en een cryptografische hash van de inhoud bevat. Het adres van het bestand kan niet willekeurig worden hernoemd, het kan alleen veranderen na wijziging van de inhoud. Evenzo is het onmogelijk om een wijziging aan het bestand aan te brengen zonder het adres te veranderen (de oude versie blijft op het oude adres, terwijl de nieuwe toegankelijk zal zijn via een ander adres, omdat de hash van de inhoud van het bestand zal veranderen). Aangezien de identificatie van het bestand elke keer verandert bij elke wijziging, worden diensten aangeboden om permanente adressen te koppelen die verschillende versies van het bestand in aanmerking nemen.), of om een alias te bevestigen vergelijkbaar met traditionele FS en DNS ( (Mutable File System) en ).
In overeenstemming met BitTorrent worden gegevens rechtstreeks opgeslagen op de systemen van deelnemers die informatie uitwisselen in een P2P-modus, zonder verbinding met gecentraliseerde knooppunten. Wanneer het nodig is om een bestand met specifieke inhoud te verkrijgen, vindt het systeem deelnemers die dit bestand hebben en levert het in delen via hun systemen in meerdere streams. Na het uploaden van het bestand naar hun systeem wordt de deelnemer automatisch een van de punten voor de distributie ervan. Voor het bepalen van de deelnemers in het netwerk waarop de gewenste inhoud aanwezig is, wordt een gedistribueerde hash-tabel gebruikt (). Voor toegang tot het globale FS kan IPFS het HTTP-protocol gebruiken of kan een virtueel FS /ipfs worden gemonteerd met behulp van de FUSE-module.
IPFS helpt bij het oplossen van problemen zoals betrouwbaarheid van opslag (als de oorspronkelijke opslag uitvalt, kan het bestand worden gedownload van de systemen van andere gebruikers), het tegengaan van censuur van inhoud (voor blokkering is het nodig om alle systemen van gebruikers te blokkeren waarop een kopie van de gegevens aanwezig is) en het organiseren van toegang bij het ontbreken van een directe verbinding met het internet of bij een slechte kwaliteit van de verbindingslijn (gegevens kunnen worden gedownload via de dichtstbijzijnde deelnemers in het lokale netwerk). Naast het opslaan van bestanden en het uitwisselen van gegevens kan IPFS dienen als basis voor het creƫren van nieuwe diensten, bijvoorbeeld voor het organiseren van de werking van websites die niet aan servers zijn gekoppeld, of voor het creƫren van gedistribueerde .
Bron: opennet.ru
