Rechenleistung als Gegenleistung

Einleitung

Das Motto "Nix ist for free" gilt. Obwohl es viele kostenpflichtige Premium-Dienste im Netz gibt, ist der gemeine Benutzer daran gewöhnt, kein Geld für all die Informationen zu bezahlen, für die ein anderer kostbare Arbeitszeit aufwenden musste. Es erfordert ein gewisses Bewusstsein beim Konsumenten, um zu Zahlungen bereit zu sein. Doch bekanntermaßen ist der bewusste Konsument in der Regel ein Paradoxon und so ist das Raubkopieren ein Volkssport und Wikipedia muss sich regelmäßig in die erniedrigende Position des Bettlers begeben. Bisher ist daher Werbung der zentrale Motor des WWW. Ich kenne die genauen Zahlen nicht, aber zweifellos stellt Werbung den mit Abstand größten Wirtschaftssektor im Internet dar. Die größten Internetkonzerne profitieren noch heute hauptsächlich oder gar ausschließlich von dem Schalten von möglichst attraktiver Werbung. Es gibt bereits "mündige" Alternativen wie die Spendendienste Flattr und Patreon, aber ich bin pessimistisch, was deren Marktanteil in der Zukunft angeht. Natürlich liegt immer maximale Mündigkeit bei allen Menschen in meinem Interesse und am liebsten hätte ich ein einheitliches Spendensystem und eine komplett Werbebanner-freie Welt, aber ich möchte dennoch in den folgenden Abschnitten mögliche Alternativen zur Werbung diskutieren, die sich mit der bestehenden Unmündigkeit vereinbaren lassen.

Alternative 1: Crypto-Währungen

Das wohl einfachste System besteht darin, kleine Bitcoin-Miner oder ähnliche Programme in Webseiten einzubetten. Das mag auf dem ersten Blick unrealistisch erscheinen, aber tatsächlich wird genau das bereits getan. Es gibt Portierungen von Mining-Programmen in JavaScript, die sich somit (für den Benutzer unsichtbar) in HTML-Dokumenten einbetten lassen. Denkbar wäre auch eine Implementierung in einer effizienteren Technik wie zum Beispiel WebAssembly, Adobe Flash oder Java. Wer etwas Ahnung von Mining oder gar Rechnerarchitekturen als solche hat, wird nun bemerken, wie vergleichsweise ineffizient die Berechnung im Hauptprozessor (CPU) ist. Für einen Bitcoin müssen viele millionen Hash-Werte berechnet werden. Und die können praktisch komplett parallel berechnet werden. Statt die durchschnittlich 4 Prozessorkerne zu belegen, ist es also viel effizienter, die hunderte Shader-Kerne zu verwenden, die sich im Grafik-Prozessor befinden. Und genau das ist dank WebGL oder gar WebCL vollkommen machbar. Der Benutzer wird im Idealfall nur einen lauteren Lüfter, ein wärmeres Gerät oder einen höheren Energieverbrauch wahrnehmen.

Alternative 2: Schlüssel-Knacken

Um Daten geheim zu halten, werden Verschlüsselungen verwendet. Ohne den richtigen Schlüssel lassen sich die Daten nicht herausfinden. Und hat ein interessierter dritter (Hauptsächlich Geheimdienste oder Hacker) den Schlüssel nicht, so bleibt ihm in der Regel nurnoch die Brute-Force-Methode: Ausprobieren aller möglichen Schlüssel. Betrachtet ein Naivling den notwendigen Rechenaufwand zum Durchprobieren aller Schlüssel, mag er sich die Jahrhunderte vorstellen, die ein einzelner PC dafür brauchen würde. Und das stimmt ja auch: Selbst der schnellste Prozessor bräuchte Jahrhunderte oder gar Jahrtausende um alle möglichen 256-Bit-Schlüssel durchzuprobieren. Für einen 257-Bit-Schlüssel bräuchte er doppelt so lange. Für einen 512-Bit-Schüssel bräuchte er noch deutlich länger. Aber was die meisten nicht bedenken: Das Ausprobieren von Schlüsseln lässt sich komplett parallelisieren. Man könnte einen kleinen Teil des verschlüsselten Datensatzes an tausende Rechner schicken, die dann ein jeweils individuelles Spektrum an Schlüsseln ausprobieren. Die Entschlüsselung wäre damit immernoch extrem aufwändig und teuer, aber durchaus machbar. Oma Ernas Daten würden damit sicherlich nicht erkämpft werden. Aber geht es um höhere Dinge von militärischer Relevanz, sähe das schon ganz anders aus.

Alternative 3: Sonstige Rechen- und Speicher-Leistungen

Ähnlich dem BitTorrent-Protokoll ließen sich große Mengen an Daten verteilt speichern und abrufen. Und es wäre auch möglich, Netzdienste dezentral zu hosten. Besonders in Form einer App könnte so der Benutzer einen gewissen Teil seines Speicherplatzes und Datenvolumes gegen die primäre Leistung der App eintauschen. Microsoft hat genau dies für Windows-Updates getan. Um an den eigenen Servern zu sparen, haben die standartmäßig aktiviert, dass Windows-Rechner die heruntergeladenen Updates an andere Rechner weiter-übertragen können. Der in der Regel Ahnungs-lose Benutzer hat diese Option natürlich nicht deaktiviert und lässt so andere von seinen Ressourcen profitieren.