Wie man aufhört, von Servern abhängig zu sein, und auf IPFS umsteigt
Stellen Sie sich vor, Sie hätten ein cooles Nebenprojekt oder eine Dokumentation hochgeladen, und einen Monat später ist der Link tot. Oder der Server, auf dem Ihr Inhalt gehostet wurde, ist plötzlich offline gegangen. Im Web, das wir gewohnt sind (HTTP), suchen wir nach Daten anhand der Adresse: Wir gehen zu einem bestimmten Server und hoffen, dass die Datei noch dort ist. IPFS bietet an, dieses Schema auf den Kopf zu stellen.
Was ist die Kernidee
IPFS (InterPlanetary File System) ist nicht nur ein weiterer Cloud-Speicher. Es ist ein Protokoll, das die Art und Weise verändert, wie wir nach Dateien suchen. Anstatt zu fragen „Welcher Server hat diese PDF?", fragen wir das Netzwerk „Wer hat die Datei mit diesem Hash?"
Wenn Sie etwas auf IPFS hochladen, wird die Datei in Blöcke aufgeteilt, und jeder erhält einen eindeutigen kryptografischen Bezeichner (CID). Wenn zwei Personen dieselbe Datei hochladen, hat sie denselben CID. Dies löst automatisch das Duplikatproblem und ermöglicht es Ihnen, Teile einer Datei von mehreren Nodes gleichzeitig herunterzuladen, wie beim guten alten BitTorrent.
Wie funktioniert das in der Praxis
Das Hauptmerkmal hier ist die Inhaltsadressierung. Im normalen Internet sieht ein Link so aus: https://mysite.com/cat.jpg. Wenn ich die Katze durch einen Hund ersetze, bleibt der Link gleich. Bei IPFS ist der Link an den Inhalt selbst gebunden. Wenn sich die Datei auch nur um ein Byte ändert, ändert sich auch ihre Adresse.
Dies bietet mehrere coole Vorteile:
- Inhalt kann nicht heimlich ersetzt werden.
- Wenn eine Datei beliebt ist, wird sie von Hunderten von Nodes verteilt, was Ihren Hauptserver entlastet.
- Daten existieren so lange, wie mindestens ein Netzwerkteilnehmer sie benötigt.
Übrigens existiert das Projekt seit 2014. Im Laufe der Zeit ist ein ganzer Technologie-Stack darum gewachsen, wie IPLD für die Arbeit mit Datenstrukturen und libp2p für Netzwerkverbindungen.
Wo man mit der Entwicklung beginnt
Wenn Sie praktisch mit der Technologie arbeiten möchten, ist der einfachste Weg, eine Desktop-App oder einen CLI-Client zu installieren. Nach der Installation wird Ihr Computer zum vollständigen Netzwerk-Node.
Das Hinzufügen einer Datei zum Netzwerk über die Konsole sieht extrem einfach aus:
ipfs add my_photo.jpg
# На выходе получаем CID: QmZtmWQZFB...
Jetzt kann jeder auf der Welt, der diesen Hash kennt, die Datei vom Netzwerk anfordern. Wenn Sie nicht möchten, dass Benutzer spezielle Software installieren müssen, können Sie öffentliche Gateways verwenden. Der Link sieht ungefähr so aus: https://ipfs.io/ipfs/QmZtmWQZFB....
Wo dies wirklich nützlich ist
Ich sehe IPFS oft für das Hosten von statischen Websites verwendet. Sie pushen einfach den Build Ihrer React- oder Vue-App zu IPFS, und voila – Ihre Website ist über das Netzwerk verteilt. Kein einzelner Ausfallpunkt, keine Abhängigkeit von einem bestimmten Hosting-Anbieter.
Ein weiterer Anwendungsfall ist das Speichern von Metadaten für NFTs oder andere digitale Assets. Bilder auf der Blockchain zu speichern ist teuer, und einen Link zu einem normalen Server zu geben ist riskant (der Server kann ausfallen). IPFS ist hier perfekt: Der Link ist permanent und unveränderlich.
Das Protokoll funktioniert auch hervorragend bei verteilten wissenschaftlichen Berechnungen oder Archiven, wo es wichtig ist, zu garantieren, dass Daten im Laufe der Zeit nicht manipuliert wurden.
Gibt es Nachteile
Natürlich. IPFS ist kein „kostenloser USB-Stick in der Cloud". Wenn Sie eine Datei hinzugefügt und Ihren Computer ausgeschaltet haben, kann die Datei aus dem Netzwerk verschwinden, wenn es niemand anderem gelungen ist, sie herunterzuladen oder zu „pinnen". Für dauerhafte Speicherung nutzen Menschen normalerweise spezielle Dienste (Pinning-Services) oder betreiben ihren eigenen Server-Node, der immer online ist.
Ein weiterer Punkt ist die Geschwindigkeit. Die Suche nach einer seltenen Datei in einem riesigen P2P-Netzwerk kann Zeit dauern. Es ist nicht die sofortige Antwort eines zentralisierten CDN, an das wir gewöhnt sind.
Lohnt es sich, es zu versuchen
Wenn Sie eine dezentrale App (dApp) entwickeln oder einfach davon genervt sind, dass Links in Ihren Projekten ständig sterben, lohnt es sich definitiv, IPFS zu lernen. Es ist ein kraftvoller Paradigmenwechsel in der Art und Weise, wie wir mit Informationen im Netzwerk arbeiten.
Der beste Ort zum Starten ist die offizielle Dokumentation unter docs.ipfs.tech. Dort finden Sie gut geschriebene Konzepte und klare Installationsanleitungen. Das Projekt lebt, mit einer großen Community und Open Source unter der MIT-Lizenz, sodass Sie sich endlos hineingraben können.
Ähnliche Projekte