Schlagwort-Archive: Mathematik

Bitcoin und die enorm großen Zahlen

Das hier ist mal wieder eine kleiner Einsteiger-Exkurs, weil manchmal muss man sich auch noch einmal mit den Basics befassen. Dieses Mal geht es um die faszinierenden Prinzipien mit denen Bitcoin-Adressen gegen Diebstahl geschützt werden, obwohl jede Adresse theoretisch vollkommen frei zugänglich ist.

Der Zufall ist ein mächtiger Gegner

Bitcoin-Adressen werden nämlich nicht zentral vergeben, sondern vollkommen zufällig erzeugt. Wie aber kann nun verhindert werden, dass jemals dieselbe Adresse ein zweites Mal erzeugt wird und damit auch der Private Key, mit dem jemand meine Bitcoins stehlen könnte?

Ganz einfach: mit Hilfe unvorstellbar großen Zahlen, die es absolut unwahrscheinlich machen, dass das jemals passieren wird. Und weil diese Zahlen so unvorstellbar groß sind, gibt es immer wieder interessante Bilder und Vergleiche, die veranschaulichen sollen wie absolut unwahrscheinlich es ist, dass jemals eine Bitcoin-Adresse ein zweites Mal generiert werden wird. Zum Beispiel, dass es schon lange kein Leben mehr auf der Erde geben wird, bevor das passiert.

Kein Piratenschatz ist so gut versteckt wie Bitcoins

Wem diese Erklärung zu flach ist, dem empfehle ich dieses wirklich richtig gut gemachte Bitcoin 101-VideoQuindecillions & The Amazing Math Of Bitcoin’s Private Keys“. Darin geht es nämlich viel mehr um Piraten, Schatzkisten, sexy Nummern und wertvolle Schubladen als um dröge Mathmatik mit abstrakt großen Zahlen.

Bitcoin-Adressen aus dem Taschenrechner

Matt Whitlock hat ein Programm für seinen alten TI-89 Taschenrechner geschrieben, das es ihm erlaubt mit Hilfe eines zwölfseitigen Würfels sichere Bitcoin-Adressen zu erzeugen. Möglich ist das, weil Bitcoin-Adressen keine Zauberei sind, sondern Mathe und sicher sind sie, weil die Architektur des Taschenrechners vergleichsweise simpel ist und die ausgegebenen Daten niemals auf einer Festplatte, in einem Speicher oder einem Netzwerk auftauchen.

Die Musik des Videos ist recht anstrengend, die zugehörigen Reddit-Diskussion aber ziemlich spannend.

Aus der Videobeschreibung: „I wrote a program for the TI-89 graphing calculator to read die rolls from the user, convert them into a Bitcoin private key via base conversion, and derive the public Bitcoin address. Elliptic-curve point multiplication is dog slow on the TI-89’s Motorola 68000 processor, but it’s just math, so of course it still works. (The computation of the public key is shown in this video at 10x speed.)

The program in written in C for the TIGCC compiler.

Source code: mattwhitlock.com/diceware/diceware.c
Compiled code: mattwhitlock.com/diceware/diceware.89z