Verteilter Speicher: Dokumente an der Blockchain

Die Kombination von Smart Contracts und Distributed File Storage bietet viele Möglichkeiten, Daten kostengünstig, aber dennoch sicher abzulegen und schnell verfügbar zu machen.

In Pocket speichern vorlesen Druckansicht 11 Kommentare lesen
Verteilter Speicher: Dokumente an der Blockchain
Lesezeit: 12 Min.
Von
  • Frank Polster
Inhaltsverzeichnis

Distributed-File-Storage-Anwendungen haben ihren Ursprung in den Peer-to-Peer-Netzwerken (P2P). Der Begriff ist spätestens durch die bekannte Blockchain-Anwendung Bitcoin stärker in den Fokus gerückt. Mit Ethereum und der Implementierung sogenannter Smart Contracts ist es salonfähig geworden.

P2P-Architekturen sind jedoch viel länger etabliert. In der Vergangenheit kamen sie primär für den direkten Datenaustausch zwischen Clients zum Einsatz. Dabei legte Shawn Fanning 1999 mit der Musiktauschbörse Napster den Grundstein. Clients haben sich mit einem Server verbunden und ihre Dateien angeboten oder Daten von anderen Clients abgerufen. Das Prinzip war einfach, aber mit der zentralen Instanz schnell Ziel von Copyright-Klagen der Musikindustrie gegen den Betreiber. Letztlich stellte Napster unter dem Druck der Klagen von Künstlern wie Metallica den Dienst ein.

Doch Napster avancierte zum Vorbild für viele weitere P2P-Filesharing-Dienste, wie Audiogalaxy, Morpheus, Kazaa, edonkey, eMule und schließlich BitTorrent. Deren Popularität hing entscheidend von den Faktoren Nutzerfreundlichkeit, Angebot und Auswahl sowie Datendurchsatz ab.

Die Bedienung von BitTorrent ist etwas komplizierter als beispielsweise bei eMule, weil es sogenannte Torrent-Dateien benötigt. Das Angebot hing primär von den Angeboten der Nutzer im Netzwerk ab: ohne Torrent-Dateien keine Downloads. BitTorrent stach jedoch andere P2P-Filesharing-Dienste mit dem Trumpf des erhöhten Datendurchsatzes.

Mit dem Aufkommen von Blockchain entwickelte sich auch das P2P-Filesharing weiter. Das Projekt InterPlanetary File System (IPFS) hebt das Internet auf eine völlig neue Ebene und bedient sich dabei einer Abwandlung des BitTorrent-Netzwerks. Eine Integration von Git versioniert die Daten.

Der bestechende Vorteil zeigt sich in einem einfachen Szenario: Eine Gruppe eifriger Studierender tippt die Vorlesung gemeinsam in einem Google-Docs-Dokument mit. Bricht nun das Internet der Uni weg, können die Kommilitonen nicht mehr gemeinsam arbeiten, weil der Zugriff zum Google-Server unterbrochen ist; dass sich die Studenten weiterhin im selben Netzwerk befinden, spielt keine Rolle. Wäre Google Docs auf IPFS ausgerollt, könnten die Studierenden gemeinsam weiterarbeiten, da die Anwendung lokal läuft und die Datenhaltung innerhalb des Netzwerks erfolgt.

Die Philosophie eines P2P-Filesharing-Netzwerks ist im Prinzip ein Nehmen und Geben. Das funktioniert auf freiwilliger Basis leider nicht. Das wohl bekannteste Problem für P2P-Filesharing ist Leech and Disappear: Sogenannte "Leecher" (im Deutschen auch "Sauger" genannt) laden Daten aus dem P2P-Netzwerk, sind aber nicht bereit, als Gegenleistung ihre Ressourcen zur Verfügung zu stellen. Das Gegenteil eines "Leecher" ist der "Seeder". Er stellt anderen Benutzern die Dateien auch längerfristig zum Download bereit. Das Leechen stellt eine Gefahr für die Benutzbarkeit von Tauschbörsen dar, führt letztendlich zu einer Zentralisierung und verlangsamt das Netzwerk insgesamt.

Um dem vorzubeugen, bietet beispielsweise das Blockchain-Netzwerk Filecoin dem Nutzer finanzielle Anreize für das Bereitstellen von Inhalten. Filecoin befindet sich eine Ebene über IPFS. "Filecoins" dienen als Währung, um Inhalte zu erwerben und zu verdienen.

Neben IPFS haben sich eine Vielzahl von Projekten entwickelt, die Distributed File Storage und Blockchain-Anwendungen verbinden, etwa das SAFE Network von MaidSafe, StorJ, Sia und Swarm. Sie haben es sich zur Aufgabe gemacht, das Prinzip von IPFS zu erweitern. MaidSafe hat mit dem SAFE Network ein Netzwerk geschaffen, das nicht nur dem Tausch von Dateien, sondern der Bereitstellung ganzer Anwendungen dient.

Sia und StorJ sind sogenannte Consumer-File-Storage-Projekte. Beide Projekte entstanden mit der Motivation, Cloud-Storage abzulösen. Die Software verschlüsselt Kundendaten lokal und legt sie auf verschiedenen Rechnern des Netzwerks in gesicherten Containern ab. Es werden dabei Verträge mit Hostern geschlossen, die zum Teil eine Provision hinterlegen müssen, wenn sie Dateien von Kunden hosten. Die Verträge liegen in einer Blockchain und enthalten Key-Performance-Indikatoren, etwa zur Up-time, Bandbreite und Größe des Speicherplatzes. Eine Übersicht über aktuelle Provider für Distributed File Storage gibt es bei Smith + Crown Analysis.

Letztes Jahr stellten Programmierer auf der Ethereum-Entwicklerkonferenz Devcon2 das Projekt "Swarm" vor, das Pendant von IPFS für Ethereum. Swarm basiert auf dem Netzwerkprotokoll devp2p von Ethereum. Es bietet darüber hinaus beispielsweise eine verschlüsselte Verbindung. Statt einer eigenen Kryptowährung sorgen unterschiedliche auf Ethereum gehostete Verträge für Anreize innerhalb des Netzwerks. Das Anreizsystem besteht aus den drei Teilen: "Swap, Swear & Swindle".

"Swap" steht für Swarm Accounting Protocol und bezeichnet einen Smart Contract in Form eines Scheckbuchs. Es hält fest, wer Daten versendet beziehungsweise empfangen hat. Über diesen Smart Contract lassen sich Schecks ausstellen und einlösen, die einen gewissen Ethereum-Wert repräsentieren. Das soll vor allem die Geschwindigkeit optimieren.

"Swear" ist die zweite Komponente des Anreizsystems von Swarm. Swear ist ebenfalls ein Smart Contract, der ermöglicht, dass Nodes als Langzeitspeicher fungieren, indem sie eine Sicherheitseinzahlung (eng. "Collateral") veranlassen. Anschließend können die Nodes versprechen, dass sie Daten bereitstellen.

Die dritte Komponente "Swindle" steht für "Storage With Insurance Deposit, Litigation and Escrow". Sie regelt im Streitfall, ob der Hoster seine Kaution verliert oder nicht. Daten können auf dem Weg zum Hoster verloren gehen, etwa wenn die Übertragung über einen anderen Node erfolgt. Der Hoster kann seine Unschuld belegen, indem er einen Beweis der Datenaufsicht erbringt. Alternativ kann er beweisen, dass ein anderer für die Speicherung der Daten zuständig ist, was beispielsweise in einer Transaktion auf der Blockchain hinterlegt ist.