InterPlanetary File System

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Dieser Artikel oder Abschnitt bedarf einer Überarbeitung: Die Belege (Hilfe:Einzelnachweise) aus dem Quellartikel en:InterPlanetary File System fehlen komplett, der einzige übernommene ist ohne Inhalt.
Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.
InterPlanetary File System

IPFS-Logo
Basisdaten

Entwickler Protocol Labs
Erscheinungsjahr 2015
Aktuelle Version 0.4.11
(27. September 2017)
Betriebssystem FreeBSD, Linux, macOS, Windows
Programmiersprache Protokollimplementierung: Go (Referenzimplementierung), JavaScript, C, Python

Client-Bibliothekem: Go, Java, JavaScript, Python, Scala, Haskell, Swift, CommonLisp, Rust, Ruby, Swift, PHP, C#, Erlang

Kategorie Protokoll, Verteiltes Dateisystem, Content Delivery Network
Lizenz MIT-Lizenz
ipfs.io

InterPlanetary File System (IPFS) ist ein Protokoll und namensgebendes Netzwerk, entworfen um eine inhaltsadressierbare, Peer-to-Peer-Methode des Speicherns und Teilens von Hypermedien in einem verteilten Dateisystem zu schaffen. IPFS wurde ursprünglich von Juan Benet entworfen und ist nun ein Open-Source-Project, das von einer Gemeinschaft weiterentwickelt wird.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Im Jahr 2014 verwendete das IPFS-Protokoll das Bitcoin Blockchain-Protokoll und dessen Netzwerkinfrastruktur, um unveränderliche Daten zu speichern, doppelte Dateien über das Netzwerk zu entfernen und Addressinformationen zum Zugriff auf Speicherknoten zu erhalten, um nach Dateien im Netzwerk zu suchen.

Es sind Implementierungen in Go und JavaScript vorhanden und eine Python-Implementierung ist in Arbeit. Die Go-Implementierung wird als Referenz betrachtet, während formale Spezifikationen entwickelt werden.

Beschreibung[Bearbeiten | Quelltext bearbeiten]

IPFS ist ein verteiltes Peer-to-Peer-Dateisystem, das zum Ziel hat, alle IT-Geräte mit dem gleichen System der Dateiverwaltung zu verbinden. In mancher Hinsicht ist IPFS dem World Wide Web ähnlich, aber IPFS kann auch als einzelner BitTorrent-Schwarm gesehen werden, der Objekte über ein Git-Repositorium austauscht. In anderen Worten bietet IPFS ein inhaltsadressiertes Blockspeicher-Modell, mit hohem Durchsatz und inhaltsadressierten Hyperlinks.[1] Dies formt einen verallgemeinerten, gerichteten azyklischen Merkle-Graphen. IPFS kombiniert eine verteilte Hash-Tabelle, einen angeregten Blockaustausch und ein selbst-zertifizierenden Namensraum. IPFS hat keinen Single-Point-of-Failure und Knoten müssen sich nicht gegenseitig vertrauen, mit Ausnahme derjenigen Knoten, mit denen sie verbunden sind. Verteilte Inhaltsauslieferung spart Übertragungsvolumen und verhindert DDoS-Angriffe, mit denen HTTP zu kämpfen hat.

Auf das Dateisystem kann über eine Vielzahl an Arten zugegriffen werden, einschließlich FUSE und HTTP.[1] Eine lokale Datei kann zu IPFS hinzugefügt werden und wird so weltweit verfügbar gemacht. Dateien werden über ihre Prüfsummen identifiziert und sind damit Cache-freundlich. Sie werden über ein BitTorrent-basiertes Protokoll verteilt. Andere Nutzer, die die Inhalte betrachten, tragen dazu bei, diese Inhalte für weitere Nutzer im Netzwerk bereitzustellen. IPFS verfügt über einen Namensdienst, IPNS genannt. Es ist ein globaler Namensraum basierend auf einer PKI, die hilft, Vertrauensketten zu bilden. Sie ist kompatibel mit anderen Namensdiensten und kann DNS, .onion, .bit, usw. auf IPNS abbilden.

Merkle-Datenformat[Bearbeiten | Quelltext bearbeiten]

Jeder Merkle-Hashbaum ist ein gerichteter azyklischer Graph, weil auf jeden Knoten über seinen Namen zugegriffen wird. Jeder Zweig eines Merkle-Hashbaums ist der Hash seiner lokalen Inhalte, und benennt seine Kindknoten nach ihren Hashes anstatt nach ihren vollständigen Inhalten. Daher gibt es nach seiner Erzeugung keine Möglichkeit mehr, einen Knoten zu bearbeiten. Dies verhindert Endlosschleifen (vorausgesetzt es gibt keine Hashkollisionen), da man nicht den ersten erstellten Knoten mit dem letzten Knoten verknüpfen kann, um die letzte Referenz zu erstellen.

Im Allgemeinen gilt für jeden Merkle: Um einen neuen Zweig zu erstellen oder einen vorhanden zu verifizieren, wird ein Hash-Algorithmus auf eine Kombination der lokalen Inhalte angewendet, wie einer Liste von Kindes-Prüfsummen und anderen Bytes. Es sind einige wenige unterschiedliche Hash-Algorithmen in IPFS verfügbar.

Die Daten, die als Eingabe für jeden dieser Hash-Algorithmen verwendet werden, sind dokumentiert.

Namhafte Nutzer[Bearbeiten | Quelltext bearbeiten]

Das Unabhängigkeitsreferendum in Katalonien im Herbst 2017 wurde vom spanischen Verfassungsgericht für illegal erklärt und viele in Verbindung stehende Websites wurden blockiert. Anschließend wurden diese Websites von der katalanischen Piratenpartei unter Verwendung von IPFS gespiegelt, um die Blockieranweisung des Obersten Gerichtshofes Kataloniens zu umgehen.

IPFS wird verwendet, um einen Spiegel Wikipedias zu erstellen, was es Menschen, die unter repressiven Regimen leben, ermöglicht, auf Wikipedia-Inhalte zuzugreifen.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. a b Ian Allison: Juan Benet of IPFS talks about Filecoin. In: International Business Times UK. 13. Oktober 2016 (co.uk).