1BergmanN: Wie man im Meer der Wahrscheinlichkeit seine Wunsch-Adresse findet

Mit Vanitygen kann man sich seine Wunsch-Bitcoin-Adresse bilden. Wir haben das getestet, um eine neue Spendenadresse fürs Blog zu generieren – und nutzen es, um über Vanitygen, Adressen und die Magie der (Un)Wahrscheinlichkeit zu schreiben.

Vor gut einer Woche habe ich mir vorgenommen, meine Spenden-Adresse zu ändern. Das wollte ich als Gelegenheit nutzen, um eine sogenannte „Vanity Adresse“ zu bilden. Das ist eine Bitcoin-Adresse mit einer bestimmten Buchstabenkombination. Mein Ziel war es, eine Adresse zu haben, die etwa damit anfängt: 1Bergmann……

Man kann solche Wunschaddressen mit einer Wallet wie „Bither“ geneieren, aber viel effektiver ist ein Tool namens „Vanitygen„. Man kann es für Linux mit „apt-get install vanitygen“ installieren, für Win 32 gibt es Installationsdateien. Mit Windows 10 oder Win 64 ist es etwas komplizierter, aber machbar.

Was Vanitygen – zu deutsch: Eitelkeits-Generator – macht, ist einfach zu erklären: Es erzeugt eine Adresse nach der anderen. Das bedeutet: Es bildet einen privaten Schlüssel, berechnet aus diesem den öffentlichen Schlüssel, jagt das erst durch einen SHA256-, dann durch einen RIPE-MD-160-Hashalgorithmus, bildet die Prüfsumme, hängt diese an die Hash an und übersetzt es dann in das Base58-Format. Würde ein Mensch dies machen, würde er vermutlich je Adresse einen ganzen Tag brauchen.

Ein Computer kann das dagegen rasend schnell. Meine 8-Kern-CPU berechnet etwa zwei Millionen Adressen je Sekunde. Mit einer guten Grafikkarte kann man angeblich mehr als 60 Millionen Adressen je Sekunde erzeugen, wenn man Grafikkarten verbindet, dürften auch mehrere hundert Millionen Adressen je Sekunde möglich sein. Aber das Programm mit Grafikkarten laufen zu lassen, ist nicht eben einfach. Ich zumindest habe es nicht geschafft und musste mich also mit „nur“ zwei Millionen Adressen je Sekunde begnügen.

Von 1Berg zu 1Bergmann

Aber auch damit kommt man schon relativ weit. Wenn ich zum Beispiel nach einer Adresse suche, die mit „1Berg“ beginnt, werde ich nach wenigen Sekunden fündig:

1BergwbNJ8Wg98E19hapZnWE1jYDqzEvKQ.

Eine Adresse mit „1Bergm“ dauert dagegen schon einige Minuten, in denen meine acht Prozessorkerne mit Volldampf arbeiten:

wie 1Bergm7nZv1RFHeL8pRUQrZkDsDK3bLUfM

Wenn ich dagegen nach „1Bergmann“ suche, kann ich mit einigen hundert Tagen rechnen. Für die Kombination „1ChristophBergmann“ braucht es schließlich gut 10 Millionen Jahre, bis ich eine vernünftige Erfolgschance habe.

Daher habe ich mich für „1Bergman“ entschieden, nicht ganz perfekt, aber gut genug, um aufzufallen.

Vanitygen zeigt an, dass es nach gut drei Tagen Rechnen eine Chance von 50 Prozent gibt, meine Wunschadresse zu generieren. Also lasse ich das Programm laufen, nehme hin, dass mein Rechner ein Stückchen langsamer ist, und warte ab. In dieser Zeit denke ich ein wenig über die Magie der Wahrscheinlichkeitsrechnung nach.

Oktillionen und Prozente: Unwahrscheinliche Verwirrung

Mein Computer sucht einen galaktisch großen Raum an möglichen Adressen mit einem rasend schnellen Tempo ab. Nach etwa ein bis zwei Tagen hat er rund eine Billion Möglichkeiten durchprobiert.

Aber das ist nur ein winziger Ausschnitt von dem, was möglich ist: Es gibt 2^160 mögliche Adressen. Das ist so, als würde man das berühmte Spiel mit dem Schachbrett, auf dem sich die Reiskörner je Feld verdoppeln, mit mehr als zwei Schachbrettern spielen. Umgerechnet sind das gut 1,46×10^48 Adressen, eine Zahl mit 48 Nullen, eine sogenannte „Oktillion“. Mit Vanitygen bewegen wir uns im Raum der unendlich großen Zahlen, von dem wir immer nur winzige Ausschnnitte beleuchten können.

Ich habe darüber nachgedacht, parallel zu meinem Computer noch einen alten Laptop anzuwerfen. Der würde mit seinen zwei Kernen vermutlich 50 bis 100 Tage brauchen, um eine realistische Chance zu haben, die Adresse zu finden. Dennoch dürfte er, theoretisch, helfen, etwas zu finden: Schließlich sucht auch er den Raum ab, und je mehr Stichproben ich mache, desto größer ist meine Chance, etwas zu finden. Aber gleichzeitig beschleunigt seine Arbeit nicht die Arbeit meines Computers, während er selbst nicht vor diesem fündig wird. Deshalb dürfte seine Leistung effektiv nicht bemerkbar sein. Ich vermute, sie äußert sich darin, dass es eine winzige, kaum wahrnehmbare, aber existente Chance gibt, die Adresse durch einen Glücksgriff vorzeitig auf dem Laptop zu finden.

Ähnlich kniffelig ist es, wenn man darüber nachdenkt, den Computer auszumachen. Ich habe im Lauf der vergangenen Woche zweimal den PC heruntergefahren, beide Male war er bei einer Chance von gut 20 Prozent angelangt. Das Programm fängt zwar jedesmal wieder von vorne an. Aber da es jeweils mit einem zufälligen Punkt im unendlichen Raum der Wahrscheinlichkeit beginnt, müsste sich die Arbeit ebenfalls addieren. Ob dies in der Wirklichkeit auch so ist, konnte ich aber nicht nachprüfen.

Überhaupt verwirrt mich die Angabe der Erfolgschance ungemein. Zunächst arbeitet das Programm darauf zu, eine Chance von 50 Prozent zu erreichen, um die Adresse zu finden. Das dauert bei „1Berg“ einige Sekunden, bei „1Bergman“ gut drei Tage, bei „1Bergmann“ 180 Tage. Exponentielles Wachstum ist gemein. Was aber die 50 Prozent bedeuten, ist mir überhaupt nicht klar. Meint es, dass das Programm die Hälfte aller Adressen, die nicht meine Wunschkombination enthalten, abgesucht hat? Und wenn ich 100 Prozent erreiche – dann dürfte ich doch den privaten Schlüssel für fast alle bekannten Adressen einmal im Speicher gehabt haben. Das kann nicht sein.

Noch verwirrender wird es, wenn man die 50 Prozent überschritten hat. Ich habe ja zunächst 20 Prozent erreicht, ausgeschalten, nochmal begonnen, aber erneut bei gut 20 Prozent aufgehört. Beim dritten Anlauf war ich irgendwann bei etwa 54 Prozent. Diese Zahlen kann man nicht addieren. Sobald die 50 Prozent erreicht sind, springt das Ziel auf 75 Prozent, das in weiteren drei Tagen erreicht ist. Danach springt es auf 80 Prozent, dann auf 90, dann auf 95. Wie es dann weitergeht, weiß ich nicht. Aus irgendeinem Grund verlangsamt sich der Fortschritt exponentiell oder quadratisch.

Um Glück zu haben, muss man es nicht verstehen

Insgesamt habe ich nicht verstanden, was die Angaben der Wahrscheinlichkeit konkret bedeuten. Ich kann mir zwar vorstellen, wie es ist, einen Wahrscheinlichkeitsraum zu durchsuchen, begreife aber nicht konkret, was die Erfolgschancen bedeuten.

Bevor ich mir noch weiter den Kopf darüber zerbrechen musste, hatte ich gestern Abend Erfolg. Bei etwa 55 Prozent hat Vanitygen eine Adresse gefunden: 1BergmanNpFqZwALMRe8GHJqGhtEFD3xMw. Wie man sieht, ist dabei etwas sehr unwahrscheinliches geschehen: Nach meiner Zeichenkombination „1Bergman“ ging es mit einem „N“ weiter. Die Chance, dass es ein „n“ oder ein „N“ gibt, steht bei 1:29. Damit habe ich beinah die Kombination, für die ich ansonsten einige hundert Tage gebraucht hätte. Manchmal hat man Glück.