Die eigene WEB3-Site im InterPlanetary File System (IPFS)

Kontinent oder Ozean

Eine eigene "Internet"-Seite, die weder gehackt bzw. zerstört und auch nicht von Regimen geblockt werden kann? Die zudem kaum Kosten verursacht, geht so etwas überhaupt?

Wovon man im WEB2, unserem gewohnten Internet, nur träumen kann, ist im InterPlanetary File System (IPFS) des WEB3 schon längst State of the Art. Und das IPFS ist völlig neu konstruiert und nicht etwa ein Internet mit ein paar Verbesserungen. Ein paar Vergleiche sollen dies verdeutlichen:

Das WEB2 hat sich über lange Zeit zu dem heutigen zentralen Netzwerk entwickelt, das zwar vielen Bedürfnissen gerecht wird, aber auch zunehmend Schwächen zeigt. Statische Internetseiten, die mit HTML-Kenntnissen erstellt werden, verschwinden zugunsten von dynamischen Präsenzen mithife komplexer CMS (Content-Management-System), die mit ihren Effekten und Funktionen die Aufmerksamkeit von Besuchern besser erlangen und fesseln können. 

Zum Vergleich, die ersten Internetseiten, die ich erstellt habe, bestanden aus vielleicht 10 Dateien. Das Fotoarchiv Tenckhoff wird aktuell mit dem CMS Drupal im Internet präsentiert und umfasst derzeit 74660 Dateien, die zentral auf einem Server gehostet und unter einer festen IP-Adresse erreichbar sind. Auch wenn das professionelle Drupal CMS zu den sichersten Systemen gehört, ist die Zentralisierung eine Schwachstelle, wie ca. 100 Angriffe pro Tag auf meinen Server aus verschiedenen Ländern der Welt zeigen, und das Fotoarchiv Tenckhoff ist natürlich von geringerer Bedeutung, als z.B. die Firmenseiten großen Unternehmen und Institutionen. Zudem haben Regime in der Welt leichtes Spiel, die zentralen Internetseiten unbequemer Bürger oder ganzer Länder zu sperren usw.

Das WEB3, das auf dem InterPlanetary File System (IPFS) basiert, löst dieses Problem elegant mit Hilfe des mathematischen Konstrukts von Merkle trees, die zu einer völlig dezentralen Struktur führen. Dateien, die dem IPFS zugefügt werden, das über sogenannte gateways erreicht wird (z.B. https://ipfs.io/ipfs/...), verteilen sich auf viele verschiedene "Nodes" die mittlerweile in der ganzen Welt bestehen. Geht eine Node offline, z.B. auf Grund eines Hackerangriffs oder schlicht eines Stromausfalls, ist die Datei noch auf vielen weiteren Nodes (Servern) verfügbar. 

Dieser Umstand ist natürlich für WEB3-Präsenzen ideal, die sich mit HTML/CSS-Techniken erstellen und in das IPFS laden lassen. So entsteht eine HTML-Seite für das WEB3, die sich dezentral auf Nodes verteilt und nicht mehr durch Hacker zerstört oder durch Regime geblockt werden kann. So wird das IPFS z.B. auch zur Erstellung eines Spiegels der Wikipedia-Projekte verwendet, um Menschen in repressiven Regimen ungehinderten Zugang zu deren unverfälschten Inhalten zu ermöglichen.

Eine weitere Besonderheit liegt in der Eindeutigkeit der HTML/CSS-Dateien und Bilder, denn diese werden nun anhand ihres Hashwertes (und nicht anhand ihres Dateinamens) abgelegt. Dieser ist das Ergebnis einer komplexen mathematischen Operation mit der Anzahl und Folge aller bits der Ursprungsdatei - eine Änderung der Originaldatei führt unweigerlich zur Änderung dieses Hashwertes und sie würde nicht mehr zum Web3-Auftritt beitragen. Schlechte Karten für Hacker, die ihren kriminellen Code einschleusen wollen!

Eine Web3 Seite wird im IPFS anhand einer langen Folge von Zeichen repräsentiert. Die Beispiel-Seite des Fotoarchivs Tenckhoff besteht aus diesen Dateien: 

  1. about.html
  2. fat.css
  3. favicon
  4. frontage.webp
  5. index.html
  6. privacy.html
  7. red-tori.webp.html.

Diese würden im Internet eine "normale" HTML-Seite bilden.

Die Dateien befinden sich in einem Ordner mit der Bezeichnung pat und können nun mit verschiedenen Methoden dem IPFS zufügt werden. Auf einer IPFS-Node liegen sie dann folgendermaßen vor:

QmPAHuKTEKYL9Pw8cdU9HFMZVFSPB1ShNy4K3AdMERVcxe pat/about.html
QmVr1zcCGAzJSEzt7x8buHuYzzMAfocQ88XnJQm9zKrjFa pat/fat.css
QmcNrNBmW7o5i9XBWf8Jqj5HyLufpXXnHqvaMQCvbcmJqH pat/favicon.ico
QmRYY7qWZxXMHgVMoSCwNDETKrd4ZSeq1sQdfBGAP7qwzT pat/frontpage.webp
QmVQBshCGGRnyN7q681SUUDg8cPpmoU5BKdAtG9ykiGePQ pat/index.html
QmctsCZTng5C28xH9vLRrZa3SM6kM1i3oGCxhSuoXnJdYt pat/privacy.html
QmenLVXAko73gds61JpgpeCLpmXohtDe546PeKk45JAtPb pat/red-trori.webp
QmexsSbrW4PxV4Vp2W55Zq1dZCvtgPNArYe2hTLYYqwZ6c pat

Jetzt sind alle Dateien unter ihrem unveränderlichen Hashwert im IPFS abgelegt und zugänglich und, da sie in dem Ordner pat mit dem eindeutigen Hashwert QmexsSbrW4PxV4Vp2W55Zq1dZCvtgPNArYe2hTLYYqwZ6 liegen, der sich aus allen in ihm befindlichen Dateien ableitet, kann unsere WEB3-Seite nun auch unter dem Hashwert von pat aufgerufen werden:

https://ipfs.io/ipfs/QmexsSbrW4PxV4Vp2W55Zq1dZCvtgPNArYe2hTLYYqwZ6c/

Das geht in dieser Form allerdings nur so lange gut, wie sich keine Datei im Ordner pat verändert oder weitere Dateien dem Ordner zugefügt wurden. Dann ändert sich auch der Hashwert des Ordners pat und er wird nun nicht mehr unter der o.a. Adresse im WEB 3 gefunden werden können. Um eine WEB3-Seiten dennoch weiterentwickeln und ergänzen zu können, gibt es analog zum Internet auch im WEB3 ein Domain Name System (DNS), das hier IPNS (InterPlanetary Name System) heißt. Hier erhält man eine einzigartige Adresse, die auf den Ordner pat zeigt. Verändert sich dieser, so bleibt dennoch die Zuordnung im IPNS erhalten. Für die Beispielseite des Fotoarchivs Tenckhoff lautet der Eintrag im IPNS z.B.:

https://ipfs.io/ipns/k2k4r8nhjfot9nkidj6vdj09lvv2y47t1bzoyr83vybhg2fl2okw2205/

Dieser bleibt erhalten, auch wenn neue Dateien im WEB3-Auftritt hinzugekommen sind, das Bild ausgetauscht wurde oder Texte verändert wurden.

Doch merken kann man sich die langen Zeichenfolgen wohl kaum. Da hilft es z.B., eine vorhandene Subdomain im WEB2 einfach auf die WEB3-Seite umzuleiten.

So gelangt man zu unserer WEB3-Beispielseite auch über

https://web3.tenckhoff.de

Das IPFS, das natürlich auch für die Bilder und Symbole von Non-fungible Token (NFT) genutzt wird, ist ein hervorragender Evolutionssprung, der viele Probleme des aktuellen WEB2 löst. Komplexe CMS wird es hier auf absehbare Zeit wohl nicht geben, aber wer weiß, wie sich diese neuartige Technologie noch weiterentwickeln wird. Denkt man an das BTX in den 80er Jahren als Einstieg in die Internetwelt mit bunten ASCII-Zeichen, mit seiner Geschwindigkeit von 1200 bit/s im download und 75 bit/s im upload, dann wird uns in den kommenden Jahren das IPFS noch mit vielen Evolutionssprüngen überraschen. Die mathematischen Grundlagen des IPFS sind dazu eindeutig in der Lage.

Bild 1: Das World Wide IPFS
Bild 2: Künstliche Intelligenzen mögen das IPFS, das InterPlanetary File System