InterPlanetary File System
InterPlanetary File System
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Protocol Labs |
Aktuelle Version | 0.4.11 (Format invalid) |
Aktuelle Vorabversion | 0.26.0-rc1[1] (11. Januar 2024) |
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 inhaltsaddressierbare, 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
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
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 den 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 einen inhaltsaddressiertes Blockspeicher-Modell, mit hohen Durchsatz und inhaltsaddressierten Hyperlinks. 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.[2] 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 anden Namensdiensten und kann DNS, .onion, .bit, usw. auf IPNS abbilden.
Merkle-Datenformat
Jeder Merkle-Hashbaum ist ein gerichteter azyklischer Graph weil auf jeden Knoten über seinen Namen zugegriffen wird. Jeder Zweig eines Merkle-Hashbaum 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 letzen 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
Das Unabhängigkeitsreferendum in Katalonien, welches von September bis Oktober 2017 stattfand, 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 die Inhalte Wikipedias zuzugreifen.
Siehe auch
- Freenet
- ZeroNet
- Cooperative storage cloud
- verteiltes Dateisystem
- verteilte Hashtabelle
- Self-certifying File System
- Coral Content Distribution Network
- Kademlia
- Akasha Project
- OpenBazaar
Einzelnachweise
- ↑ github.com. (abgerufen am 14. Januar 2024).
- ↑ Referenzfehler: Ungültiges
<ref>
-Tag; kein Text angegeben für Einzelnachweis mit dem Namen ibtimes20161013.