Suchen

P2P-Supercomputer oder nur ein großer Blender-Renderer? Was ist Golem Network?

Autor / Redakteur: Mirco Lang / Florian Karlstetter

Golem ist eines der spannendsten Projekte im Bereich Cloud Computing und Blockchain – im Grunde eine Konkurrenz zu Amazon AWS oder Microsoft Azure, allerdings dezentralisiert betrieben von den Anwendern selbst.

Firmen zum Thema

Golem Network: dezentralisierter Supercomputer auf P2P-Basis. Das Projekt ist noch in der Entwicklung, verfolgt aber große, wenngleich ehrgeizige Ziele.
Golem Network: dezentralisierter Supercomputer auf P2P-Basis. Das Projekt ist noch in der Entwicklung, verfolgt aber große, wenngleich ehrgeizige Ziele.
(Bild: Golem Network)

Golem wurde 2016 in Polen gegründet und hat durch Crowdfunding ansehnliche 8,6 Millionen US-Dollar eingenommen – Grund genug, sich Golem näher anzusehen. Golem setzt auf der Ethereum-Blockchain auf und so lief auch die Finanzierung auf dem Blockchain-typischen Weg: Mit der Ethereum-Kryptowährung Ether konnten Golem Network Tokens (GNT) erworben werden, die später als Zahlungsmittel innerhalb von Golem dienen werden. Aber als Zahlungsmittel wofür?

Möchte man es überspitzt formulieren, könnte man Golem kurz und knapp als aufgemotztes eMule bezeichnen – falls das nicht mehr bekannt ist: eMule war eines der Standardwerkzeuge zu Peer-to-Peer-Filesharing-Hochzeiten. Man konnte mit allen Teilnehmern im P2P-Netzwerk Dateien tauschen und musste dafür entsprechend ein wenig Bandbreite für Uploads und Speicherplatz für Dateien abtreten. Auch Golem ist ein P2P-Netzwerk, an dem einfach durch Installation des Clients teilgenommen werden kann. Allerdings wird hier nicht Bandbreite oder Speicherplatz pauschal und kostenlos anderen Nutzern zur Verfügung gestellt, sondern Rechenleistung gegen Bezahlung.

Bei Golem gibt es so zwei Arten von Nutzern: Provider bieten einen Teil ihrer Rechenleistung an, also beispielsweise zwei von ihren vier Prozessorkernen, und werden von den Requestors, die diese Leistung abrufen, mit GNT bezahlt.

Rechenleistung aus der Cloud? Genau das bieten eben auch AWS, Azure und Google Cloud an. Der große Vorteil von Golem: Es es ein komplett dezentralisiertes Netzwerk, ohne einen zentralen Anbieter wie eben Amazon, Microsoft oder Google, dem völliges Vertrauen entgegen gebracht werden müsste. Aber wo Geld fließt, gleich ob Euro, Dollar oder Kryptowährungen wie Bitcoin oder GNT, muss es Sicherheit geben. Und diese wird über die aktuell durch jedes Dorf getriebene Sau namens Blockchain gewährt, hier die öffentliche Kette von Ethereum.

Die Beziehung zwischen Anbieter/Provider und Käufer/Requestor wird über Smart Contracts geregelt, also kleine Programme, die regeln, wer wem welche Beträge für welche Leistungen zu zahlen hat – und diese Transaktionen natürlich auch selbst durchführen. Genügend Teilnehmer vorausgesetzt, ließe sich so von Jedermann ohne große Formalia Rechenleistung-On-Demand einkaufen, etwa um eine DNA-Analyse durchzuführen – nun, bislang ließe sie sich nur visualisieren ...

Technik und Projektphasen

Golem befindet sich derzeit noch in einer frühen Alpha-Phase und das Netzwerk kann bislang lediglich Rechenleistung für das Rendering von Blender- und LuxRender-Projekten zur Verfügung stellen, was als Proof of Concept und Grundlage für den Lernprozess dient. In diesem Brass Golem genannten Status können entsprechende Aufgaben definiert und die benötigten Dateien ausgetauscht werden. Die Verarbeitung der Dateien, also die beauftragte Rechenleistung, wird dann auf dem Client in einem abgeschotteten Docker-Container erledigt – so ist das System auf dem Client-Rechner vor etwaigen Übergriffen geschützt. Nicht geschützt sind die Dateien und Aufgaben hingegen vor neugierigen Providern, die einsehen können, was genau die von ihnen vermieteten Ressourcen erledigen.

Zu guter Letzt gesellt sich noch ein Verifikationssystem zu dem Workflow, um die gelieferten Ergebnisse auf Korrektheit überprüfen zu können. Derzeit läuft dies über ein probalistisches System, welches Teilaufgaben auf dem Rechner des Requestors zum Vergleich löst. Über ein Reputationssystem können Nodes dann einsehen, wie zuverlässig andere Nodes arbeiten. Zugriff auf Golem gibt es sowohl über Command-Line- als auch User-Interface; letzteres ist allerdings ebenfalls noch nicht final.

Die nächste Phase heißt Clay Golem, soll der Planung nach 15 Monate nach Beendigung des Crowdfunding beginnen und als eine Art Spielwiese für Early Adopters dienen. Geplant ist unter anderem eine echte Aufgaben-API, um Berechnungen abseits der ersten Rendering-Tests durchführen zu können. Entsprechend soll auch ein Modell für Transaktionen aufgesetzt werden. Eigene Anwendungen können in einer Art Appstore registriert werden. Auf technischer Seite soll noch die Delegation von Unteraufgaben verbessert werden und Berechnungen sollen alternativ zum Docker-Container in Virtuellen Maschinen als Sandbox genutzt werden können. Vor allem aber dürften die angekündigten Tutorials für Software-Entwickler samt Beispiel-Implementierungen sein. Wer zu den ersten Golem-Marktteilnehmern gehören will, sollte spätestens hier einsteigen. Aber Achtung, Golem selbst rechnet in dieser Phase mit Einbußen bei Stabilität und Sicherheit.

Weitere neun Monate später soll der Abschnitt Stone Golem starten und rund ein Jahr laufen. Geplant sind hier vor allem Verbesserungen bei Stabilität und Sicherheit, um das System auf die produktive Nutzung vorzubereiten. Allerdings soll auch das bisherige Plattform-as-a-Service-Modell (PaaS) um Software-as-a-Service (SaaS) erweitert werden – um Aufgaben mit proprietärer Software zu ermöglichen.

Iron Golem

Der finale Golem wird dann ein Eiserner, der Iron Golem. Hier verspricht die Roadmap ein "robustes, gegen Attacken hoch resistentes, stabiles und skalierbares" Produkt – und eine ganze Reihe neuer Funktionen. Zwei davon sind für das Verständnis der Möglichkeiten besonders wichtig: Zum einen werden Aufgaben auch außerhalb von Sandboxen laufen können (etwa zeitkritische Anwendungen). Den dadurch entstehenden Risiken soll beispielsweise durch explizites Whitelisting von Aufgaben durch die Provider begegnet werden. Zum anderen wird es möglich sein, auf Software und Daten außerhalb von Golem zuzugreifen – so könnte nach den Plänen des Projekts im Grunde jede bereits heute laufende rechenintensive Anwendung von Golem profitieren. Freilich werden damit noch mehr Security-Fragen aufgeworfen. Als mögliche Antworten sind zum Beispiel Audits oder Observierungsstellen im Spiel.

Auch für Entwickler wird es spannend: Einerseits wird ein Developer Toolkit mit Test- und Diagnose-Werkzeugen angekündigt, um den Prozess der Software-Entwicklung zu beschleunigen. Andererseits dürfte es vor allem die Golem Standard Library (Golem STD) sein, die den benötigten Schwung bringen kann. Die STD ist als programmiersprachenunabhängiger Zugriff auf die Kernfunktionalitäten von Golem geplant, so dass unterschiedlichste Sprachen über Bindings für die Entwicklung genutzt werden können.

Anwendungsszenarien

Dezentralisierung hat nicht nur den bereits erwähnten Vorteil eines wegfallenden Mittelsmanns wie Amazon, sondern verspricht auch bessere Preise – so zumindest die Erwartung der Golem-Macher. Der Grund? Ein nahezu perfekter Wettbewerb: Sowohl Anbieter als auch Abnehmer haben jeweils nur einen kleinen Marktanteil, das Produkt Rechenleistung ist homogen und alle Informationen rund um Angebot und Nachfrage sind für alle Marktteilnehmer transparent. Zumindest in der Theorie sollten so in der Tat faire Preise entstehen.

Auf dem etablierten Cloud-Markt findet man freilich ein Oligopol und dass die großen Drei, Amazon, Microsoft und Google, damit entsprechende Gewinne einfahren wollen, ist auch kein Geheimnis. Auf dem dezentralisierten Markt sollen eben die Wenigen entfallen, die sich übermäßig bereichern – wohlgemerkt sollen! Wirft man etwa einen Blick in die Bitcoin-Welt, wo im Grunde dieselben Grundgedanken den Weg vorgeben, stellt man schnell fest, dass das Mining auf Privatrechnern längst nicht mehr attraktiv ist und wenige Mining-Farmen den Ton angeben. Einen ganz praktischen Vergleich zwischen kommerziellen Blender-Rendering-Farmen und Golem findet sich im Golem-Blog.

Nichtsdestoweniger hat das Golem-Konzept seinen Reiz: Egal, ob in Rechenzentren oder Privathaushalten, eine hundertprozentige Auslastung der Hardware ist selten. Wenn also der heimische 8-Kern-Rechner während der Betriebszeit sowieso nur Office auf einem und vielleicht einen Browser auf einem zweiten Kern betreibt, kann man diese auch vermieten. Und wenn man doch mal viel Rechenleistung auf einmal benötigt, lassen sich die eingenommenen Coins direkt wieder in Rechenleistung investieren.

In der Praxis wird es für Golem noch viel zu tun und zu erproben geben. Und das nicht nur auf Entwickler- und Code-Seite, auch Otto Normalverbraucher muss einen einfachen Zugang finden – denn eine P2P-Netzwerk-Idee ist nur so gut, wie seine Teilnehmeranzahl groß ist. Noch sind die Installationsanleitungen recht lang und zumindest hier gab es die eine oder andere Fehlermeldung. Unter Windows startet Golem zwar recht flott, noch ist die GUI aber kaum praktisch nutzbar.

Die Idee dezentraler Cloud-Dienste lässt sich so oder so nicht mehr wegdiskutieren, sei es dezentraler Speicher wie bei Storj oder eben ein dezentraler Supercomputer wie bei Golem – wobei genau genommen bereits die Basis Ethereum häufig als "Weltcomputer" bezeichnet wird. Aber erst durch Zugänge wie die Golem-Skizze, lässt sich dieser Weltcomputer auch praktisch einsetzen.

(ID:44796575)

Über den Autor

 Mirco Lang

Mirco Lang

Freier Journalist & BSIler