Wenig bekannte Bitcoin-Anwendungen

Bitcoin und Zufallszahlen

Eine Zahl zufällig zu ziehen scheint trivial, bis zu dem Moment, in dem man Fremden beweisen muss, dass die Ziehung nicht manipuliert wurde. Bitcoin erzeugt etwa alle zehn Minuten eine Zahl, die niemand vorhersagen oder nachträglich ändern kann und die jeder überprüfen kann. Das macht es zu einer nützlichen öffentlichen Zufallsquelle, sofern man ihre Hauptschwäche kennt.

Ein Computer kann Zahlen erzeugen, die zufällig aussehen. Das Problem ist nicht, Zufall für sich selbst herzustellen, sondern einen, den andere als ehrlich akzeptieren. Wenn Sie eine Lotterie veranstalten, wie können die Teilnehmer sicher sein, dass Sie das Ergebnis nicht im Voraus gewählt oder die Ziehung wiederholt haben, bis Sie das passende erhielten?

Dieser Bedarf, öffentlicher Zufall, den niemand kontrolliert, taucht überall auf: Lotterien, Zuteilung begrenzter Plätze, Auswahl einer zu prüfenden Stichprobe, Online-Spiele, gewisse Computerprotokolle. Die naive Lösung, dem Veranstalter zu vertrauen, hält nicht, sobald etwas auf dem Spiel steht. Es braucht eine externe Quelle, unvorhersehbar und überprüfbar.

Bitcoin bietet eine solche Quelle fast zufällig. Dieser Artikel erklärt warum, wie man sie nutzt und warum diese Quelle, so verlockend sie ist, eine Schwäche birgt, die jeder ernsthafte Nutzer kennen muss, bevor er sich auf sie verlässt.

Warum ehrlicher Zufall schwierig ist

Guter geteilter Zufall muss drei Eigenschaften vereinen. Er muss unvorhersehbar sein: Niemand soll das Ergebnis erraten können, bevor es feststeht. Er muss überprüfbar sein: Einmal bekannt, muss jeder bestätigen können, dass er echt ist. Und er muss unmanipulierbar sein: Wer ihn erzeugt, darf nicht unter mehreren Ergebnissen das ihm genehme wählen können.

Diese Anforderungen widersprechen sich oft. Ein privat geworfener Würfel ist unvorhersehbar, aber unüberprüfbar. Eine von einer Autorität veröffentlichte Zahl ist überprüfbar, setzt aber Vertrauen voraus. Mehrmals zu ziehen, bis ein günstiges Ergebnis kommt, ist eine unsichtbare Manipulation. Genau diese letzte Falle, das diskrete Wiederholen der Ziehung, ruiniert die meisten improvisierten Lösungen.

Ideal wäre eine öffentliche Quelle, erzeugt durch einen Prozess, den niemand beherrscht, deren Ergebnis zu einem genauen Zeitpunkt erscheint und danach für alle einsehbar bleibt. Eine Zufallsuhr gewissermaßen, gespeist von einem unparteiischen äußeren Phänomen. Genau diese Rolle kann die Bitcoin-BlockchainBlockchainÖffentliches, geteiltes Hauptbuch, das alle Bitcoin-Transaktionen in kryptografisch miteinander verketteten Blöcken aufzeichnet. Jeder Teilnehmer im Netzwerk hält eine eigene Kopie.Im Lexikon ansehen → spielen.

Der Block-Hash als Zufallskeim

Jeder Bitcoin-Block endet mit einem HashHash (Prüfsumme)Funktion, die Daten beliebiger Grösse in eine Prüfsumme fester Länge überführt. Gleicher Input ergibt immer gleichen Output, der Rückweg ist jedoch nicht möglich.Im Lexikon ansehen →, einer langen Zahl, die durch Verdichten des gesamten Blockinhalts entsteht. Damit ein Block gültig ist, muss dieser Hash mit einer Reihe von Nullen beginnen, was die MinerMinerComputer oder Computerfarm, der das kryptografische Rätsel löst, um einen neuen Block zur Blockchain hinzuzufügen, als Gegenleistung für eine Bitcoin-Belohnung.Im Lexikon ansehen → durch das Ausprobieren von Milliarden Kombinationen erreichen. Das Endergebnis ist für einen Beobachter völlig unvorhersehbar, bis der Block gefunden ist.

Dieser Hash hat alles von einem guten Würfel. Niemand kennt ihn, bevor der Block gemint ist. Einmal veröffentlicht, ist er für alle sichtbar und in der Kette fixiert. Man kann also im Voraus vereinbaren: Der Gewinner der Lotterie wird durch den Hash des Blocks Nummer soundso bestimmt, der noch kommt. In dem Augenblick, in dem dieser Block erscheint, offenbart sich das Ergebnis, ohne dass ein Veranstalter die Hand darauf hatte.

Technisch nimmt man die Ziffern des Hashes und verwandelt sie in eine Ziehung: eine Zahl zwischen eins und tausend, die Wahl eines Gewinners aus einer Liste, eine Rangfolge. Da alle denselben Hash sehen und dieselbe öffentliche Regel anwenden, kann jeder das Ergebnis neu berechnen und feststellen, dass es korrekt ist. Der Zufall wird zu einer öffentlichen Tatsache, nicht zu einem gegebenen Wort.

Wozu dieser öffentliche Zufall dient

Die unmittelbarste Anwendung ist die transparente Lotterie oder Ziehung. Ein Verein, der Preise verteilt, ein Projekt, das Teilnehmer auswählt, ein Wettbewerb, der einen Gewinner bestimmt, können die Regel ankündigen und dann einen künftigen Block entscheiden lassen. Jeder überprüft danach, dass das Ergebnis tatsächlich aus dem angekündigten HashHash (Prüfsumme)Funktion, die Daten beliebiger Grösse in eine Prüfsumme fester Länge überführt. Gleicher Input ergibt immer gleichen Output, der Rückweg ist jedoch nicht möglich.Im Lexikon ansehen → folgt.

Dieselbe Idee findet sich in technischeren Kontexten. Manche Protokolle brauchen eine gemeinsame, unvorhersehbare Zahl, um Aufgaben zu verteilen, ein Komitee zu wählen, Teilnehmer ohne Bevorzugung zu ordnen. Der Block-Hash dient dann als neutraler Schiedsrichter, für alle im selben Augenblick zugänglich, ohne zentralen Server, den man korrumpieren könnte.

Der Reiz ist stets derselbe: ein Versprechen, vertrau mir, durch einen Beweis, überprüf selbst, zu ersetzen. In einer Welt, in der Misstrauen gegenüber Veranstaltern häufig ist, ist eine Zufallsquelle, die niemand besitzt, ein echter Vorteil, sofern man ihre Schwäche richtig handhabt.

Die Schwäche: ein Miner kann betrügen, zu einem Preis

Die Quelle ist nicht perfekt, und das zu vernachlässigen wäre ein Fehler. Wer einen Block findet, wählt dessen Inhalt und beeinflusst damit teilweise seinen HashHash (Prüfsumme)Funktion, die Daten beliebiger Grösse in eine Prüfsumme fester Länge überführt. Gleicher Input ergibt immer gleichen Output, der Rückweg ist jedoch nicht möglich.Im Lexikon ansehen →. Hat er ein Interesse an der Ziehung, etwa einen hohen Einsatz auf ein Ergebnis, kann er theoretisch einen gültigen Block, dessen Hash ihm nicht passt, verwerfen und weiter minen, um einen anderen zu finden.

Auf einen gefundenen Block zu verzichten heißt, auf seine Belohnung zu verzichten, die sich auf Zehntausende Euro beläuft. Die Manipulation hat also hohe Kosten, was sie irrational macht, solange der Einsatz der Ziehung unter diesen Kosten bleibt. Doch bei einer Lotterie mit enormen Gewinnen hört der Angriff auf, theoretisch zu sein. Die Vorsichtsregel ist einfach: niemals den Hash eines einzigen Blocks für eine Ziehung verwenden, deren Einsatz die Belohnung eines Blocks übersteigt.

Gegenmaßnahmen gibt es. Man kann mehrere aufeinanderfolgende Blöcke kombinieren, was die Kosten einer Manipulation vervielfacht. Man kann den Bitcoin-Hash mit Beiträgen anderer Teilnehmer nach einem Schema mischen, bei dem sich jeder festlegt, bevor er das Ergebnis kennt. Spezialisierte Dienste für öffentlichen Zufall, gegen diese Art Angriff ausgelegt, existieren ebenfalls. Der Block-Hash bleibt ein ausgezeichneter Baustein, den man bewusst nutzen sollte statt als unfehlbare Blackbox.

Hinweis

Rein bildender und informativer Inhalt: weder Anlage-, Steuer- noch Rechtsberatung. Bitcoin birgt erhebliche Risiken, darunter hohe Volatilität und der mögliche Verlust des eingesetzten Kapitals. Jeder Leser bleibt für seine Entscheidungen selbst verantwortlich; im Zweifel eine qualifizierte Fachperson in der eigenen Jurisdiktion konsultieren.


Zum Weiterlesen

Um den Kontext zu vertiefen: