Mit dem Release von Geth 1.5 integriert Ethereum die Alpha Version von Swarm in den wichtigsten Client. Swarm soll ein verteilter Cloud-Speicher und Teil der Ethereum-Vision von Web3 werden.
Das langfristige Ziel von Ethereum geht weit über die Erschaffung einer Währung hinaus. Die Entwickler wollen ein dezentrales Internet bilden, das sie Web3 nennen. Während Ether, die Kryptowährung und Blockchain, bereits als Gas dazu dient, Transaktionen und Verträge zu bilden, sind die weiteren Bestandteile vo Web3 noch in der frühen Entwicklung. Ein Teil hat es nun in einen Release des Ethereum-Client geth gebracht: Swarm.
Swarm ist, wie der Entwickler Viktor Trón erklärt, „eine verteilte Speicher-Plattform und ein Content-Distributions-Service; eine native Basis-Schicht im Ethereum Web3 stack.“ Swarm ist wie eine DropBox oder ein FTP-Server, mit deren Hilfe man Datei hoch- und herunterladen und teilen kann. Aber eben vollständig Peer to Peer. Keine Downtime, kein DoS, keine Zensur, kein Vertrauen, keine Überwachung.
Ein eingebautes System von Anreizen soll es den Teilnehmern von Swarm erlauben, Ressourcen wie Bandbreite oder Speicher gegen Ether zu verkaufen. So soll sich das System von selbst erhalten. Sobald es einmal steht, kann es, idealerweise, nicht mehr aus der Welt geschafft werden.
Technisch eine komplizierte Geschichte
Das vorrangige Ziel von Swarm ist es, Ethereums öffentliche Daten zu speichern. Etwa den Code von Dapps oder die Blockchain-Daten. Aber es dient zugleich als dezentrale Dropbox und kann Webseiten hosten.
Durch die grundsätzliche Integration in das Multi-Protokoll-Netzwerk von Ethereum kann Swarm der Blockchain helfen, zu skalieren, indem Daten ausgelagert werden, und Verträge und Operationen mit Daten zu verbinden, ohne diese auf jedem Knoten zu speichern oder einem externen Oracle vertrauen zu müssen. Mit Swarm können ganz neue Blockchain-Anwendungen möglich werden, etwa dezentrale Video-Plattformen oder dezentrale Soziale Netzwerke.
Wie Swarm technisch funktioniert, ist eine komplizierte Story. Die Knoten haben ein Protokoll namens „bzz“ auf dem Ethereum-Netzwerk. Bzz setzt eine Reihe von Regeln, die die Interaktion der Knoten bestimmt. Die Swarm-Nodes nehmen Daten, etwa Dokumente, Mp3 oder Videos, teilen sie in sogenannte „chunks“ einer bestimmten Größe (4 Kilobyte), geben den Chunks eine Adresse, hashen sie, bilden aus den Hashes einen Merkle Tree und schreiben eine Manifest-Datei, die einen spezifischen Pfad erlaubt, mit dem man die Chunks im Netzwerk finden und zusammensetzen kann.
Der zweite Teil vo Swarm sind Smart Contracts. Diese geben den Swarm Knoten zum einen die Möglichkeit, ihren Service als Datenspeicher und Dropbox zu verkaufen. Zugleich können Smart Contracts Sicherheit schaffen, dass die Knoten zuverlässig die Daten speichern, indem sich ein Knoten etwa registriert und gleichzeitig eine bestimmte Summe als Sicherheit hinterlegt. Das Ergebnis ist, so Trón, dass eine Datei, sobald sie in den Swarm hochgeladen wurde, „nicht mehr ungesehen gemacht, zurückgezogen oder gelöscht werden kann“.
Heftig Alpha
Derzeit ist Swarm noch schrecklich alpha. Die erste Integration in Geth ist nur etwas für technisch Eingeweihte, die Swarm in der Ropsten Testchain benutzen können. Das Anreiz-System der Smart Contracts ist noch nicht integriert. Um zu demonstrieren, dass es funktioniert, betreibt die Ethereum Foundation jedoch die Swarm Homepage mit einem Cluster aus 35 Knoten auf Basis der Azure Cloud.
Der Weg, den Swarm noch zu gehen hat, um als dezentraler Datenspeicher weitläufig Erfolg zu haben, ist noch weit. Aber wenn dies geschieht, und wenn Swarm nativer Teil des graphischen Interfaces von Ethereum-Clients wird, dann kann es Anwendungen ermöglichen, die derzeit nur schwer vorstellbar sind. Es könnte Teil eines neuen, dezentralen Internets werden.

