Veröffentlichung eines dezentralisierten Dateisystems (InterPlanetary File System), das ein global versioniertes Dateispeicher ermöglicht, das in Form eines P2P-Netzwerks bereitgestellt wird, das aus den Systemen der Teilnehmer besteht. IPFS kombiniert Ideen, die zuvor in Systemen wie Git, BitTorrent, Kademlia, SFS und Web realisiert wurden, und ähnelt einem einheitlichen „Schwarm“ von BitTorrent (Peers, die am Austausch teilnehmen), der Git-Objekte austauscht. IPFS unterscheidet sich durch die Adressierung nach Inhalt und nicht nach Standort sowie durch willkürliche Namen. Der Code der Referenzimplementierung ist in Go geschrieben und unter den Lizenzen Apache 2.0 und MIT.
In der neuen Version wurde der Transport standardmäßig deaktiviert , dessen Ersatz im letzten Release vorgeschlagen wurde, , dem Protokoll und entwickelt im Rahmen des modularen Netzwerk-Stacks für P2P-Anwendungen . Als Backup-Transport bleibt TLSv1.3 erhalten. Administratoren von Knoten, die ältere IPFS-Versionen verwenden (Go IPFS < 0.5 oder JS IPFS < 0.47), wird empfohlen, die Software zu aktualisieren, um Leistungseinbußen zu vermeiden.
In der neuen Version wurde auch auf die Verwendung von ed25519-Schlüsseln anstelle von RSA als Standard umgestellt. Die Unterstützung für alte RSA-Schlüssel bleibt erhalten, aber neue Schlüssel werden nun mit dem ed25519-Algorithmus generiert. Die Verwendung eingebauter öffentlicher ed25519-Schlüssel löst das Problem der Speicherung öffentlicher Schlüssel, da für die Verifizierung signierter Daten mit ed25519 nun Informationen über PeerId ausreichen. Die Namen der Schlüssel in IPNS-Pfaden werden jetzt mit dem base36 CIDv1-Algorithmus anstelle von base58btc codiert.
Neben der Änderung des Standard-Schlüsseltyps in IPFS 0.7 wurde die Möglichkeit zur Rotation der Identitätsschlüssel hinzugefügt. Um den Schlüssel eines Knotens zu ändern, kann jetzt der Befehl „ipfs key rotate“ ausgeführt werden. Darüber hinaus wurden neue Befehle zum Importieren und Exportieren von Schlüsseln („ipfs key import“ und „ipfs key export“) hinzugefügt, die zum Zweck der Datensicherung verwendet werden können, sowie der Befehl „ipfs dag stat“, um Statistiken über DAG (Distributed Acyclic Graphs) auszugeben.
Wir erinnern daran, dass im IPFS der Zugriff auf eine Datei direkt mit ihrem Inhalt verknüpft ist und einen kryptografischen Hash des Inhalts umfasst. Die Adresse der Datei kann nicht willkürlich umbenannt werden; sie kann sich nur ändern, wenn sich der Inhalt ändert. Ebenso ist es unmöglich, Änderungen an einer Datei vorzunehmen, ohne die Adresse zu ändern (die alte Version bleibt an der bisherigen Adresse, während die neue über eine andere Adresse verfügbar ist, da der Hash des Inhalts der Datei sich ändert). Angesichts der Tatsache, dass sich die Datei-ID bei jeder Änderung ändert, werden Dienste bereitgestellt, um permanente Adressen zu binden, die verschiedene Versionen der Datei berücksichtigen (), oder um einen Alias gemäß den traditionellen Dateisystemen und DNS zu verankern ( (Mutable File System) und ).
Ähnlich wie bei BitTorrent werden die Daten direkt auf den Systemen der Teilnehmer gespeichert, die Informationen im P2P-Modus austauschen, ohne an zentralisierte Knoten gebunden zu sein. Wenn ein Benutzer eine Datei mit bestimmten Inhalten benötigt, sucht das System nach Teilnehmern, die diese Datei besitzen, und gibt sie aus deren Systemen in mehreren Streams aus. Nach dem Herunterladen der Datei auf sein System wird der Teilnehmer automatisch zu einem der Punkte für deren Verbreitung. Zur Identifizierung der Teilnehmer im Netzwerk, auf deren Knoten sich die interessierenden Inhalte befinden. verteilte Hash-Tabelle (). Der Zugriff auf das globale IPFS-Dateisystem kann über das HTTP-Protokoll erfolgen oder ein virtuelles Dateisystem /ipfs mittels des FUSE-Moduls eingebunden werden.
IPFS hilft, Probleme wie die Zuverlässigkeit der Speicherung zu lösen (wenn der ursprüngliche Speicherort ausfällt, kann die Datei von anderen Nutzersystemen heruntergeladen werden), um zensierten Inhalten entgegenzuwirken (zur Sperrung müsste jede Nutzerin und jeder Nutzer, auf dessen System eine Kopie der Daten vorhanden ist, blockiert werden) und um den Zugang in Abwesenheit einer direkten Internetverbindung oder bei schlechter Verbindungsqualität zu ermöglichen (Daten können über die nächstgelegenen Teilnehmer im lokalen Netzwerk heruntergeladen werden). Neben der Speicherung von Dateien und dem Datenaustausch kann IPFS als Grundlage für die Erstellung neuer Dienste verwendet werden, beispielsweise zur Organisation des Betriebs von Websites, die nicht an Server gebunden sind, oder zur Erstellung von verteilten. .
Quelle: opennet.ru
