587
Bearbeitungen
Änderungen
Die Seite wurde neu angelegt: „{{Überarbeiten|grund=Die Belege (Hilfe:Einzelnachweise) aus dem Quellartikel en:InterPlanetary File System fehlen komplett, der einzige übernommene…“
{{Überarbeiten|grund=Die Belege ([[Hilfe:Einzelnachweise]]) aus dem Quellartikel [[:en:InterPlanetary File System]] fehlen komplett, der einzige übernommene ist ohne Inhalt.}}
{{Infobox Software
| Name = InterPlanetary File System
| Logo = [[Datei:Ipfs-logo-1024-ice-text.png|250px|IPFS-Logo]]
| Screenshot =
| Hersteller = Protocol Labs
| Erscheinungsjahr =2015
| AktuelleVersion = 0.4.11
| AktuelleVersionFreigabeDatum = 27. September 2017
| AktuelleVorabVersionFreigabeDatum =
| Betriebssystem = [[FreeBSD]], [[Linux]], [[macOS]], [[Windows]]
| Programmiersprache = '''Protokollimplementierung''': [[Go (Programmiersprache)|Go]] (Referenzimplementierung), [[JavaScript]], [[C (Programmiersprache)|C]], [[Python (Programmiersprache)|Python]]<br />
'''Client-Bibliothekem''': Go, [[Java (Programmiersprache)|Java]], JavaScript, Python, Scala, Haskell, Swift, CommonLisp, Rust, Ruby, Swift, PHP, C#, Erlang
| Kategorie = [[Kommunikationsprotokoll|Protokoll]], [[Verteiltes Dateisystem]], [[Content Delivery Network]]
| Lizenz = [[MIT-Lizenz]]
| Deutsch =
| Website = [https://ipfs.io/ ipfs.io]
}}'''InterPlanetary File System''' ('''IPFS''') ist ein [[Kommunikationsprotokoll|Protokoll]] und namensgebendes Netzwerk, entworfen um eine [[Content-Addressed Storage|inhaltsaddressierbare]], [[Peer-to-Peer]]-Methode des Speicherns und Teilens von [[Hypermedia|Hypermedien]] in einem [[Cluster-Dateisystem|verteilten Dateisystem]] zu schaffen. IPFS wurde ursprünglich von Juan Benet entworfen und ist nun ein [[Open Source|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 (Programmiersprache)|Go]] und [[JavaScript]] vorhanden und eine [[Python (Programmiersprache)|Python]]-Implementierung ist in Arbeit. Die Go-Implementierung wird als [[Referenzimplementierung|Referenz]] betrachtet, während formale [[Spezifikation|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 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 [[Datenblock|Blockspeicher]]-Modell, mit hohem Durchsatz und inhaltsadressierten [[Hyperlink]]s.<ref name="ibtimes20161013">{{Literatur |Autor=Ian Allison |Titel=Juan Benet of IPFS talks about Filecoin |Sammelwerk=International Business Times UK |Datum=2016-10-13 |Online=[http://www.ibtimes.co.uk/juan-benet-ipfs-talks-about-filecoin-1586122 co.uk]}}</ref> Dies formt einen verallgemeinerten, [[Graph (Graphentheorie)#Teilgraphen, Wege und Zyklen|gerichteten azyklischen]] [[Hash-Baum|Merkle]]-Graphen. IPFS kombiniert eine [[Verteilte Hashtabelle|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 [[Denial of Service|DDoS-Angriffe]], mit denen HTTP zu kämpfen hat.
Auf das Dateisystem kann über eine Vielzahl an Arten zugegriffen werden, einschließlich [[Filesystem in Userspace|FUSE]] und [[Hypertext Transfer Protocol|HTTP]].<ref name="ibtimes20161013" /> 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 [[Public-Key-Infrastruktur|PKI]], die hilft, Vertrauensketten zu bilden. Sie ist kompatibel mit anderen Namensdiensten und kann [[Domain Name System|DNS]], .onion, .bit, usw. auf IPNS abbilden.
== Merkle-Datenformat ==
Jeder [[Hash-Baum|Merkle-Hashbaum]] ist ein [[Graph (Graphentheorie)#Teilgraphen, Wege und Zyklen|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 [[Hashfunktion|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 ==
Das [[Unabhängigkeitsreferendum in Katalonien 2017|Unabhängigkeitsreferendum in Katalonien]] im Herbst 2017 wurde vom [[Spanisches Verfassungsgericht|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 ==
* [[Freenet]]
* [[Verteiltes Dateisystem]]
* [[Verteilte Hashtabelle]]
* [[Coral (Netzwerk)|Coral Content Distribution Network]]
* [[Kademlia]]
== Weblinks ==
* [https://ipfs.io/ IPFS-Website]
== Einzelnachweise ==
<references />
[[Kategorie:Netzwerkprotokoll auf Anwendungsschicht]]
[[Kategorie:Verteiltes Dateisystem]]
[[Kategorie:Dateiübertragungsprotokoll]]
[[Kategorie:Internetprotokollfamilie]]
[[Kategorie:Netzwerkprotokoll]]
[[Kategorie:World Wide Web]]
[[Kategorie:Freie Peer-to-Peer-Software]]
{{Infobox Software
| Name = InterPlanetary File System
| Logo = [[Datei:Ipfs-logo-1024-ice-text.png|250px|IPFS-Logo]]
| Screenshot =
| Hersteller = Protocol Labs
| Erscheinungsjahr =2015
| AktuelleVersion = 0.4.11
| AktuelleVersionFreigabeDatum = 27. September 2017
| AktuelleVorabVersionFreigabeDatum =
| Betriebssystem = [[FreeBSD]], [[Linux]], [[macOS]], [[Windows]]
| Programmiersprache = '''Protokollimplementierung''': [[Go (Programmiersprache)|Go]] (Referenzimplementierung), [[JavaScript]], [[C (Programmiersprache)|C]], [[Python (Programmiersprache)|Python]]<br />
'''Client-Bibliothekem''': Go, [[Java (Programmiersprache)|Java]], JavaScript, Python, Scala, Haskell, Swift, CommonLisp, Rust, Ruby, Swift, PHP, C#, Erlang
| Kategorie = [[Kommunikationsprotokoll|Protokoll]], [[Verteiltes Dateisystem]], [[Content Delivery Network]]
| Lizenz = [[MIT-Lizenz]]
| Deutsch =
| Website = [https://ipfs.io/ ipfs.io]
}}'''InterPlanetary File System''' ('''IPFS''') ist ein [[Kommunikationsprotokoll|Protokoll]] und namensgebendes Netzwerk, entworfen um eine [[Content-Addressed Storage|inhaltsaddressierbare]], [[Peer-to-Peer]]-Methode des Speicherns und Teilens von [[Hypermedia|Hypermedien]] in einem [[Cluster-Dateisystem|verteilten Dateisystem]] zu schaffen. IPFS wurde ursprünglich von Juan Benet entworfen und ist nun ein [[Open Source|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 (Programmiersprache)|Go]] und [[JavaScript]] vorhanden und eine [[Python (Programmiersprache)|Python]]-Implementierung ist in Arbeit. Die Go-Implementierung wird als [[Referenzimplementierung|Referenz]] betrachtet, während formale [[Spezifikation|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 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 [[Datenblock|Blockspeicher]]-Modell, mit hohem Durchsatz und inhaltsadressierten [[Hyperlink]]s.<ref name="ibtimes20161013">{{Literatur |Autor=Ian Allison |Titel=Juan Benet of IPFS talks about Filecoin |Sammelwerk=International Business Times UK |Datum=2016-10-13 |Online=[http://www.ibtimes.co.uk/juan-benet-ipfs-talks-about-filecoin-1586122 co.uk]}}</ref> Dies formt einen verallgemeinerten, [[Graph (Graphentheorie)#Teilgraphen, Wege und Zyklen|gerichteten azyklischen]] [[Hash-Baum|Merkle]]-Graphen. IPFS kombiniert eine [[Verteilte Hashtabelle|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 [[Denial of Service|DDoS-Angriffe]], mit denen HTTP zu kämpfen hat.
Auf das Dateisystem kann über eine Vielzahl an Arten zugegriffen werden, einschließlich [[Filesystem in Userspace|FUSE]] und [[Hypertext Transfer Protocol|HTTP]].<ref name="ibtimes20161013" /> 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 [[Public-Key-Infrastruktur|PKI]], die hilft, Vertrauensketten zu bilden. Sie ist kompatibel mit anderen Namensdiensten und kann [[Domain Name System|DNS]], .onion, .bit, usw. auf IPNS abbilden.
== Merkle-Datenformat ==
Jeder [[Hash-Baum|Merkle-Hashbaum]] ist ein [[Graph (Graphentheorie)#Teilgraphen, Wege und Zyklen|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 [[Hashfunktion|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 ==
Das [[Unabhängigkeitsreferendum in Katalonien 2017|Unabhängigkeitsreferendum in Katalonien]] im Herbst 2017 wurde vom [[Spanisches Verfassungsgericht|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 ==
* [[Freenet]]
* [[Verteiltes Dateisystem]]
* [[Verteilte Hashtabelle]]
* [[Coral (Netzwerk)|Coral Content Distribution Network]]
* [[Kademlia]]
== Weblinks ==
* [https://ipfs.io/ IPFS-Website]
== Einzelnachweise ==
<references />
[[Kategorie:Netzwerkprotokoll auf Anwendungsschicht]]
[[Kategorie:Verteiltes Dateisystem]]
[[Kategorie:Dateiübertragungsprotokoll]]
[[Kategorie:Internetprotokollfamilie]]
[[Kategorie:Netzwerkprotokoll]]
[[Kategorie:World Wide Web]]
[[Kategorie:Freie Peer-to-Peer-Software]]
Spenden-Adressen:
BTC: 1EoecgUZnAjamUYaKstqwbremQqbucTaoZ
ETH: 0x0D2Ab63dfe70a7fA12f9d66eCfEA9dDc8F5173A8
XEM: NBZPMU-XES6ST-ITEBR3-IHAPTR-APGI3Y-RAAMHV-VZFJ
XVG: DGYmzxoe3ryK6MnsR13GqR9r1NThpxPcKs