IPFS ist ein verteiltes Dateisystem, das auf einem Protokoll namens InterPlanetary Linked Data (IPLD) aufbaut. IPLD ermöglicht es, Daten auf eine eindeutige und persistente Weise zu identifizieren und zu verknüpfen. Dabei werden die Daten in einem weltweit verteilten Netzwerk von IPFS-Nodes (Peers) gespeichert.
Wenn eine Datei auf IPFS hochgeladen wird, wird sie in kleine Blöcke aufgeteilt und jeder Block wird mit einem eindeutigen Hash-Wert versehen. Diese Blöcke werden dann auf Peers im Netzwerk verteilt und können über den Hash-Wert identifiziert und abgerufen werden. Da die Daten peer-to-peer verteilt werden, ist IPFS dezentralisiert und kann robust gegen Ausfälle und Zensur sein.
Wenn ein Benutzer eine Datei von IPFS abrufen möchte, wird der Hash-Wert an das Netzwerk gesendet und die Peers im Netzwerk suchen nach dem Block mit diesem Hash-Wert. Sobald der Block gefunden wurde, wird er zum Benutzer zurückgeschickt. Wenn die Datei aus mehreren Blöcken besteht, wird jeder Block separat heruntergeladen und zusammengesetzt, um die vollständige Datei zu erhalten.
IPFS bietet auch Funktionen wie die Wiedergabetreue (Pinning), die es Benutzern ermöglicht, Daten dauerhaft auf ihrem eigenen Node zu speichern, sowie eine Suchfunktion, die basierend auf den Hash-Werten der Daten arbeitet. Darüber hinaus können Entwickler IPFS mit Anwendungen und Tools integrieren, um dezentrale Anwendungen und Dienste zu erstellen.