Release des globalen dezentralisierten Dateisystems IPFS 0.8

Die Veröffentlichung des dezentralisierten Dateisystems IPFS 0.8 (InterPlanetary File System) wurde vorgestellt, das ein globales versionskontrolliertes Dateispeicher bildet, das in Form eines P2P-Netzwerks, bestehend aus teilnehmenden Systemen, implementiert ist. IPFS kombiniert Ideen, die zuvor in Systemen wie Git, BitTorrent, Kademlia, SFS und Web realisiert wurden, und erinnert an einen einheitlichen „Schwarm“ von BitTorrent (Peers, die am Teilen teilnehmen), die Git-Objekte austauschen. IPFS unterscheidet sich durch die Adressierung nach Inhalt und nicht nach Standort und beliebigen Namen. Der Code der Referenzimplementierung ist in Go geschrieben und wird unter den Lizenzen Apache 2.0 und MIT verbreitet.

In der neuen Version:

  • Die Möglichkeit zur Erstellung externer Dienste für das Anheften (Pinning) von Nutzerdaten wurde implementiert – das Binden von Daten an einen Knoten, um sicherzustellen, dass wichtige Daten gespeichert sind. Die an den Dienst gebundenen Daten können separate Namen haben, die sich vom Inhalt-Identifier (CID) unterscheiden. Eine Suche nach Daten ist sowohl nach Namen als auch nach CID möglich. Für die Bearbeitung von Anfragen zum Anheften von Daten wurde die API des IPFS Pinning Service vorgeschlagen, die direkt im go-ipfs verwendet werden kann. In der Befehlszeile wurde der Befehl „ipfs pin remote“ zum Anheften vorgeschlagen: 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
  • Die Operationen zum Anheften (Pinning) und Abheften (Unpinning) von Daten auf dem lokalen Knoten wurden beschleunigt. Die Leistungssteigerung und der reduzierte Speicherbedarf sind insbesondere bei der Durchführung von Abfragen oder Änderungen in Systemen mit einer großen Anzahl von Bindungen deutlich bemerkbar.
  • Bei der Erstellung von „https://“-Links für Gateways wurde die Möglichkeit hinzugefügt, DNSLink-Namen mit Subdomains zu übertragen. Zum Beispiel können für das Laden des Namens „ipns://en.wikipedia-on-ipfs.org“ neben den zuvor unterstützten Links „https://dweb.link/ipns/en.wikipedia-on-ipfs.org“ jetzt auch Links wie „https://en-wikipedia-on-ipfs-org.ipns.dweb.link“ verwendet werden, wobei Punkte in den ursprünglichen Namen durch das Zeichen „-“ ersetzt werden und bestehende „-“-Zeichen durch ein weiteres ähnliches Zeichen maskiert werden.
  • Die Unterstützung für das QUIC-Protokoll wurde erweitert. Um die Leistung zu erhöhen, wurde die Möglichkeit zur Vergrößerung der Empfangspuffer für UDP bereitgestellt.

Es sei daran erinnert, dass in IPFS der Link zum Zugriff auf eine Datei direkt mit ihrem Inhalt verbunden ist und einen kryptografischen Hash des Inhalts umfasst. Die Adresse der Datei kann nicht willkürlich umbenannt werden, sie kann sich nur nach einer Änderung des Inhalts ändern. Ebenso ist es nicht möglich, eine Datei zu ändern, ohne die Adresse zu ändern (die alte Version bleibt an der bisherigen Adresse, während die neue über eine andere Adresse verfügbar wird, da der Hash des Inhalts sich ändert). Angesichts der Tatsache, dass sich die Datei-ID bei jeder Änderung ändert, bieten Dienste an, um permanente Adressen zu verknüpfen, die verschiedene Versionen der Datei berücksichtigen (IPNS), oder um einen Alias ähnlich wie bei traditionellen FS und DNS zu sichern (MFS (Mutable File System) und DNSLink).

Analog zu BitTorrent werden die Daten direkt auf den Systemen der Teilnehmer gespeichert, die Informationen im P2P-Modus austauschen, ohne an zentrale Knoten gebunden zu sein. Wenn eine Datei mit einem bestimmten Inhalt benötigt wird, findet das System Teilnehmer, die diese Datei haben, und liefert sie in mehreren Streams von ihren Systemen in Teilen. Nach dem Herunterladen der Datei auf sein System wird der Teilnehmer automatisch zu einem der Punkte für deren Verbreitung. Zur Bestimmung der Teilnehmer im Netzwerk, auf deren Knoten der relevante Inhalt vorhanden ist, wird eine verteilte Hash-Tabelle (DHT) verwendet. Für den Zugriff auf das globale FS kann IPFS über das HTTP-Protokoll oder über ein virtuelles FS /ipfs mithilfe des FUSE-Moduls eingebunden werden.

IPFS hilft, solche Aufgaben wie die Zuverlässigkeit der Speicherung zu lösen (wenn der ursprüngliche Speicherort ausfällt, kann die Datei von den Systemen anderer Benutzer heruntergeladen werden), das Gegensteuern von Zensur bei Inhalten (um zu blockieren, müsste jeder Knoten der Benutzer, auf denen eine Kopie der Daten vorhanden ist, blockiert werden) und die Organisation des Zugriffs bei fehlender direkter Verbindung zum Internet oder bei schlechter Verbindung (Daten können über die nächsten Teilnehmer im lokalen Netzwerk heruntergeladen werden). Neben der Speicherung von Dateien und dem Datenaustausch kann IPFS auch als Grundlage für die Erstellung neuer Dienste verwendet werden, zum Beispiel zur Organisation des Betriebs von Websites, die nicht an Server gebunden sind, oder zur Erstellung verteilter Anwendungen.

Release des globalen dezentralisierten Dateisystems IPFS 0.8


Quelle: opennet.ru
60GB SSD 8Gb DDR4