IPFS - Das interplanetare Dateisystem: Eine Einführung

25.01.2018 - Lesezeit: 4 Minuten

"Das Internet vergisst nie." Diese Aussage hört man immer wieder, insbesondere dann wenn es darum geht persönliche Informationen oder Meinung im Internet zu veröffentlichen. Mit dem Internet Archive gibt es auch ein Projekt welches versucht alle Webseiten die jemals veröffentlicht wurden zu archivieren. Das klappt für bekanntere Seiten wie Spiegel Online auch recht gut wie man hier gut nachvollziehen kann. Bei weniger bekannten und weniger gut besuchten Seiten sieht das allerdings wieder anders aus. Diese können nahezu spurlos aus dem Internet verschwinden und tote Links hinterlassen. Auch Änderungen am Design oder den Inhalten lassen sich nicht oder nur sehr schwierig nachvollziehen. Um dieses Problem zu lösen und das Internet wieder etwas dezentraler zu machen wurde IPFS (Interplanetary File System) entworfen.

Dabei handelt es sich vereinfacht gesagt um ein dezentrales Versionierungstools, quasi eine Kombination aus git und Bittorrent. Analog zu einem git-Repository wird also nicht nur die aktuellste Version einer Seite gespeichert, sondern auch alle älteren Kopien. Und die Seite und ihre früheren Versionen liegen auch nicht ausschließlich auf dem Server des Veröffentlichers, sondern werden auch von den Webseiten der Besucher ausgeliefert. Hierzu arbeitet IPFS nicht mit Dateinamen, sondern mit den Hashwerten der Dateien. Ändert sich nun die Datei, so ändert sich auch der Hashwert. Dies hat Vor- und Nachteile. Der Vorteil: Anders als bei "klassichen" Webseiten ändert sich die Seite nicht. Ein einmal erstellter Hash und darauf zeigende Links bleiben immer gültig und zeigen immer auf die identische Datei. Ein kleines Beispiel: User A schreibt einen Blog-Artikel über IPFS. In diesem Beitrag verlinkt er einen anderen Blog über das Bittorrent-Protokoll. Dieser wurde von User B geschrieben, der aber die Lust an Bittorrent verliert und sich nun lieber Katzen widmet. Er löscht also alle Artikel über Bittorrent von seiner Homepage und ersetzt sie durch Katzenbilder. Im klassischen Web würden nun Besucher die dem Link im Artikel von Nutzer A folgen auf eine Webseite mit lauter Katzenbilder kommen statt Details über Bittorrent zu erfahren. Bei IPFS hingegen würden sie immernoch den Bittorrent-Artikel lesen, auch wenn die aktuelle Version der Webseite nur noch Katzenbilder enthält.

An diesem Beispiel wird auch schon der Nachteil deutlich: Nach jeder Änderung einer Seite müsste der Nutzer einen anderen Link aufrufen (den er über andere Wege erfahren müsste, man kann ja keinen Link in die alte Seite einbauen ohne den Hashwert zu ändern). Doch für dieses Problem bietet IPFS ebenfalls eine Lösung: Das Inter-Planetary Naming System (IPNS). Dieses System kann dazu genutzt werden einen beliebigen Hashwert unter einem festen, anderen Hashwert erreichbar zu machen. Am obrigen Beispiel erläutert: Der Artikel von User A verlinkt auf den Hashwert des Blogartikels, Leser bekommen also immer den Bittorrent-Artikel zu sehen. Besucher welche jedoch die Webseite von B direkt aufrufen, nutzen einen anderen Hashwert, der immer auf die aktuelle Version der Seite zeigt.

Auf diese Weise lässt sich erreichen, dass sowohl bestehende Seiten archiviert werden können und Links immer bestehen bleiben, aber gleichzeitig auch Nutzer weiterhin wie im heutigen WWW stets auf die aktuellste Version zugreifen können.

Doch die Versionierung ist nicht die einzige positive Eigenschaft von IPFS, es arbeitet auch komplett dezentral mit einer Distributed Hash Table (DHT) wie man sie auch vom Bittorrent-Protokoll kennt. Mittels der DHT werden auch die Inhalte im Netzwerk gefunden, es wird also keine zentrale Instanz die als Index oder Tracker fungiert benötigt. Außerdem wird eine Seite auch nicht nur von einem Host ausgeliefert, stattdessen speichern auch die Nutzer die eine Seite aufrufen eine Kopie und stellen sie wiederum anderen Nutzern zur Verfügung - häufig besuchte Seiten werden also auch automatisch häufiger im Netz vorgehalten.

Zusammendfassend kann man sagen, dass ich IPFS für ein ziemlich interessantes Konzept halte, da es die eigentliche Stärke des WWW wieder nutzbar macht: Die Dezentralität. Dass dabei das Web noch archiviert wird ist ein zusätzlicher netter Nebeneffekt und könnte dafür sorgen, dass man auf weniger tote Links stößt. Allerdings krankt es meiner Meinung nach auch noch an einigen Stellen: Insbesondere das Fehlen eines "IPFS-Browsers" ist schmerzhaft, da man immer noch von Webservern abhängig ist welche als Gateway fungieren. Hier wäre es wünschenswert, wenn man sich direkt mit dem IPFS-Schwarm verbinden könnte. Ein weiterer Kritikpunkt von mir ist, dass die Nutzer ja auch besuchte Seiten zur Verfügung stellen. Hier ist es denkbar, dass sich so eventuell nachvollziehen lässt, wer welche Webseiten besucht und auch mögliche rechtliche Fragen (Störerhaftung?!) sind unbeantwortet.