Fotografie Blog

von Frank Tegtmeyer, Henstedt-Ulzburg

IPFS und mein Blog

IPFS

IPFS - oder das InterPlanetary File System bietet die Möglichkeit, das verteilte Web zu realisieren.
Dieser Artikel beschreibt, warum das für jeden Internet-Nutzer interessant ist, wie man diese Technik ganz leicht nutzen kann und was mein Blog damit zu tun hat.

Normalerweise behandle ich ein Thema, indem ich mit den technischen Grundlagen beginne. In diesem Fall weiche ich davon ab, da vermutlich viele dann nach den ersten Zeilen aufgeben.
IPFS ist jedoch etwas, das vom Mitmachen möglichst vieler Beteiligter lebt. Deswegen zunächst eine ganz praktische Einführung.
Die wichtigsten Fakten zum IPFS finden Sie am Ende dieser Seite.

Bringt Ihnen das etwas?

Kurze Antwort: ja.

Längere Antwort: IPFS kann Ihnen kürzere Ladezeiten und weniger Tracking von Webseiten bringen. Durch die Browser-Erweiterung IPFS-Companion (siehe unten) ist es auch extrem einfach, IPFS zu benutzen.

Je mehr Leute IPFS benutzen, desto größer sind die Vorteile. Und Sie haben keine Nachteile, wenn Sie IPFS benutzen.

Kurz zusammengefaßt: Sie helfen sich und anderen, wenn sie teilnehmen.

Wie kann ich IPFS benutzen?

Am einfachsten ist es, wenn Sie die Browser-Erweiterung IPFS-Companion benutzen. Diese ist sowohl für Firefox verfügbar, als auch für Browser, die den Chrome-Store für ihre Erweiterungen benutzen:

Browser-Erweiterung

Hier der Link zur Firefox-Erweiterung: https://addons.mozilla.org/en-GB/firefox/addon/ipfs-companion/

Der Link für die anderen Browser: https://chrome.google.com/webstore/detail/ipfs-companion/nibjojkomfdiaoajekhjakgkdhaomnch

Sollte einer dieser Links nicht funktionieren, suchen Sie einfach nach “IPFS companion”.

Nach der Installation des IPFS companions wechselt Ihr Browser zur Willkommensseite der Browser-Erweiterung, die Sie darauf hinweist, dass Sie auf Ihrem Rechner kein IPFS installiert haben.
Sie können jetzt noch nicht das volle Potenzial nutzen, aber der Zugriff auf IPFS funktioniert schon!

Geben Sie einfach folgendes in die Adreßzeile Ihres Browsers ein: ipfs://bafkrmid2p56v6eo4fbzv35yue6i3gqf5wsgaoyqvfi2au6hm3dnyxssqey

Der IPFS companion müßte Sie dann auf das öffentliche IPFS Gateway ipfs.io umleiten und Sie sehen mein Profilbild als Ergebnis: https://ipfs.io/ipfs/bafkrmid2p56v6eo4fbzv35yue6i3gqf5wsgaoyqvfi2au6hm3dnyxssqey

Eventuell verlangt der Companion, den IPFS Desktop zu starten - erlauben Sie das einfach.

Wichtig:
Die Benutzung eines Gateway-Dienstes bringt weder Ihnen noch sonst jemandem die Vorteile, die IPFS bietet. Sie erhalten dadurch lediglich die Möglichkeit auf IPFS-Daten zuzugreifen, auch wenn Sie kein IPFS auf Ihrem Rechner installiert haben.

Hier einige IPFS-Gateways, über die sie auf meinen Blog zugreifen können:

Richtig: Installation von IPFS-Desktop

Der IPFS Companion erledigt zunächst alles, was im Web-Browser benötigt wird, um auf IPFS-Daten zugreifen zu können.

Mit dem IPFS Desktop wird es aber erst interessant - dieser macht Sie zu einem vollwertigen Mitglied des IPFS-Universums.
Sie greifen dann nicht nur auf Inhalte zu, die von anderen Benutzern bereitgestellt werden, sondern Sie selbst stellen dann ebenfalls Inhalte zur Verfügung.
Zunächst sind das erst einmal diejenigen, die sie selbst abgerufen haben - insofern verhält sich IPFS ungefähr wie ein gemeinsamer Browser-Cache.
Ihr Rechner stellt keine Inhalte bereit, die sie nicht selbst ausgewählt haben - das ist zum Beispiel anders als bei FreeNet und anderen verteilten Systemen.

Die Installations-Datei für den IPFS-Desktop erhalten Sie auf der folgenden github-Seite: https://github.com/ipfs-shipyard/ipfs-desktop/releases

Für die Installation unter Windows wählen Sie die entsprechende Exe-Datei aus - momentan wäre das die Datei IPFS-Desktop-Setup-0.10.4.exe. Für den Mac steht eine dmg-Datei bereit, momentan die Datei IPFS-Desktop-0.10.4.dmg

Hinweis: Der IPFS-Desktop kann auch auf Deutsch umgeschaltet werden - das geht über den Menüpunkt ganz links unten (Settings) und dann Language/Change.

Nach der Installation sehen sie zunächst erst einmal nichts - der IPFS-Desktop versteckt sich in der Status-Leiste als kleines Icon, hier das Beispiel für den Mac:

IPFS tray

Klicken Sie auf das Icon und wählen Sie “Status” - das öffnet das IPFS-Desktop Fenster:

IPFS desktop

Was können Sie hier sehen?

  • Ob Sie zum IPFS Verbindung haben (“Connected to IPFS”)
  • Wie viel Daten Sie bereitstellen (Hosting)
  • Mit wie vielen Gegenstellen Sie Verbindung haben (Discovered XXX peers)
  • Ihre eigene Peer-ID (normalerweise müssen Sie die nicht wissen)
  • Eine Grafik, die Ihnen anzeigt wie viel Daten Sie empfangen und senden
  • und zwei “Tachometer”, die die aktuelle Geschwindigkeit für das Senden und Empfangen von Daten anzeigen

Ganz oben finden Sie auch ein Eingabefeld, wo Sie einen “Fingerabdruck” (CID) eingeben können - lassen Sie sich nicht beirren, dass dort QmHash steht - inzwischen gibt es auch andere Arten von Fingerabdrücken.

Probieren Sie doch einmal den Hash, den ich weiter oben schon angegeben habe:
bafkrmid2p56v6eo4fbzv35yue6i3gqf5wsgaoyqvfi2au6hm3dnyxssqey

Das Bild, für das er steht kann zwar im IPFS Desktop nicht direkt angezeigt werden, Sie können es aber herunterladen (download).

Interessant im Menü auf der linken Seite ist der Eintrag “Peers”.
Hier bekommen Sie sogar eine Weltkarte angezeigt, auf der die Computer verzeichnet sind, mit denen Sie gerade kommunizieren.

Und wenn Sie selbst Dinge im IPFS veröffentlichen wollen: im Menü (links) finden Sie ebenfalls den Eintrag “Files”. Hier können Sie Dateien zum IPFS hinzufügen und sie auf ihrem IPFS-Desktop “pinnen”. Wenn Sie Daten pinnen, werden diese nicht mehr automatisch durch IPFS gelöscht.

Suchmaschinen

Ein System wie IPFS ist ohne eine Suchmaschine nicht so richtig brauchbar - das ist wie in den Anfangstagen des Web: Sie mussten einen URL irgendwo “finden”, um auf eine Webseite zu stoßen.
Bei IPFS ist es ähnlich - um Inhalte abzurufen, benötigen Sie einen Content-Identificator (auch CID oder Hash genannt).

Zum Glück gibt es inzwischen schon einige Suchmaschinen für IPFS über die auch ohne Kenntnis eines Hashes Inhalte gefunden werden können. Welche gute Ergebnisse liefern, wird sich im Laufe der Zeit zeigen.

Ein Problem ist, dass Hashes manchmal nur eine kurze Lebensdauer haben - wenn Dokumente überarbeitet werden, ändert sich auch ihr Hash. Dieses Problem wird durch das IPNS (Inter-Planetary Name System) und durch DNSLink adressiert die beide dafür sorgen, dass man sich ändernden Inhalten feste Namen geben kann.
Unter Umständen bevorzugen die Suchmaschinen DNSLink und IPNS, so dass das Problem nicht so gravierend ist.
Und: Oft abgerufene Inhalte bleiben ganz automatisch im Netz erhalten. Diese sind dann natürlich über die Suchmaschinen auch gut zu finden.

Einige Beispiele für IPFS Suchmaschinen:

Wie können Sie selbst Inhalte veröffentlichen?

Das ist ganz einfach. Im IPFS-Desktop können Sie Dateien oder fremde CIDs pinnen.

Im Menü auf der linken Seite finden Sie den Datei-Eintrag (Files). Auf der zugehörigen Seite gibt es den Hinzufügen-Button (“Add”). Dort können Sie Dateien von Ihrem Computer zum IPFS hinzufügen. Nach dem Hinzufügen erscheint die Datei zusammen mit ihrem CID in der Liste auf dieser Seite.
Um das Löschen dieser Dateien im IPFS zu verhindern können Sie auf die drei Punkte rechts neben dem Eintrag klicken und dort “Pin” auswählen. Damit ist das Dokument dann fest im IPFS verfügbar (solange Ihr IPFS-Desktop läuft).

Sie können auch oben im Eingabefeld des IPFS-Desktop einen CID eingeben - dieser wird dann eventuell angezeigt oder aber zum Download angeboten. Wenn Sie dann auf den erwähnten Button (diesmal heißt er “More”) klicken, können Sie auch diesen CID in ihrem IPFS-Client pinnen.

Da Ihr IPFS-Desktop vermutlich nicht ständig läuft, gibt es inzwischen schon mindestens drei kommerzielle (aber sehr preiswerte) Pinning-Dienste, die dafür sorgen daß die Inhalte ständig verfügbar sind. Das wären zur Zeit:

Wenn Sie dort einen (vorhandenen) CID pinnen lassen, holen die Services die Dokumente von Ihrem Rechner (oder von anderen Rechnern) und stellen sie ebenfalls im IPFS-Netzwerk bereit.

Was hat das alles mit meinem Blog zu tun?

Ganz einfach - ich publiziere meinen Blog jetzt auch über IPFS. Wenn Sie den IPFS Companion und IPFS Desktop installiert haben, benutzen Sie das ganz automatisch, sobald Sie meinen Blog aufrufen.

Der IPFS-Companion ändert dann die Adreßzeile Ihres Browsers zum Beispiel von https://frank.tegtmeyer.net/ in http://localhost:8080/ipns/frank.tegtmeyer.net/

Das bedeutet, dass der Browser jetzt über Ihren lokalen IPFS Gateway auf meine publizierten IPFS-Inhalte zugreift.
Sie können das übrigens für jede einzelne Webseite ein- und ausschalten, wenn Sie auf das IPFS Companion Icon klicken, das rechts oben in Ihrem Browser angezeigt wird:

IPFS companion
  • Ein-/Ausschalten für eine Webseite mit dem Schalter (“Enable on …")
  • Sie können auch die Ressource dauerhaft pinnen (PIN IPFS resource”)
  • Über den Schalter ganz oben (unter IPFS Companion") können Sie die Benutzung von IPFS auch ganz ausschalten.
  • “Redirect to Gateway” sollte eigentlich immer eingeschaltet sein - wenn etwas nicht funktioniert, schalten Sie lieber IPFS für die Webseite aus

Den Blog für IPFS tauglich zu machen, war ganz schön aufwändig - falls Sie irgendwo noch Restprobleme feststellen wäre es nett, mir die mitzuteilen.

Beachten Sie aber, dass das Kommentar-Formular auf IPFS nicht funktioniert.

Und nun: Viel Spass mit IPFS!

Fakten zum IPFS

Hier die wichtigsten Fakten zum IPFS:

  • Benutzung von P2P (peer-to-peer) Technologie
    P2P verbindet Computer direkt miteinander, ohne Mitwirkung eines zwischengeschalteten Servers. Unter Umständen unterhält sich Ihr Computer direkt mit dem Ihres Nachbarn, um IPFS-Inhalte zu laden.
  • Kostenersparnis für Anbieter
    Heute müssen Inhalte schnell zum Kunden transportiert werden. Dazu werden normalerweiser CDN (content delivery networks) eingesetzt, die die Inhalte physisch “dichter” zu den Kunden bringen um den Transport durch das Internet zu vermeiden. All das kostet natürlich Geld. Durch P2P kann man ähnliche Effekte erreichen, abhängig von der Anzahl der Teilnehmer und der Popularität der abgerufenen Inhalte.
  • Leistungs-Steigerung
    Durch die P2P-Arbeitsweise ist es möglich, dass sich enorme Geschwindigkeitssteigerungen ergeben. Die Inhalte müssen unter Umständen nicht von einem schlecht angebundenen weit entfernten Server geladen werden, sondern von Leuten in der Nähe die besser erreichbar sind.
    Das hängt natürlich von der Anzahl der Teilnehmer und von der Popularität des angefragten Inhalts ab.
  • Inhaltsbasierte Adressierung
    Eine Webseite oder ein Bild, Video etc. wird nicht aufgefunden indem man weiß, wo etwas gespeichert ist. Stattdessen wird eine “Kurzbeschreibung” oder ein “Fingerabdruck” des Inhalts generiert. Dieser Fingerabdruck ist weltweit eindeutig. Mit Hilfe des Fingerabdrucks können Inhalte gefunden und geladen werden.
  • Deduplizierung von Inhalten
    Da Inhalte über ihren Fingerabdruck gefunden werden, ist der Inhalt aus der Sicht des Nutzers immer nur einmal vorhanden - nicht wie im traditionellen WWW, wo sich ein gewünschtes Video bei Youtube, Vimeo, Twitter, Instagram oder auf einer beliebigen anderen Webseite befinden kann, von der man dann immer wissen muß.
    Haben Sie bei IPFS einen Fingerabdruck, ist es Ihnen egal, woher der Inhalt geladen wird.
  • Bessere Privatsphäre
    Durch die P2P-Technologie ist es schwieriger, Ihre Kommunikation zu belauschen.
  • Zensur-Resistenz
    Die Inhalte werden verteilt im gesamten Internet gespeichert - je häufiger sie abgerufen werden, desto mehr verteilen sie sich. Damit wird es sehr schwierig, Inhalte wieder aus dem Netz zu entfernen.


(optional, wird nicht veröffentlicht)

Geben Sie hier Ihren Kommentar ein:

Die Kommentare werden von mir manuell geprüft und eingearbeitet. Es kann also eine Weile dauern, bis Ihr Kommentar hier auf der Seite erscheint.
Achtung: Wenn Sie über IPFS zugreifen, funktioniert das Kommentarformular nicht.