DIE BLOCKCHAIN-KOLUMNE

Fast so viele Möglichkeiten wie Atome im Universum

Börsen-Zeitung, 14.8.2020 Ein zentrales Element von Blockchain- und Distributed-Ledger-Technologie (DLT) ist das Thema Sicherheit und der Schutz gegen nachträgliche Manipulationen. Aus diesem Grund widmet sich die heutige Ausgabe der DLT- und...

Fast so viele Möglichkeiten wie Atome im Universum

Ein zentrales Element von Blockchain- und Distributed-Ledger-Technologie (DLT) ist das Thema Sicherheit und der Schutz gegen nachträgliche Manipulationen. Aus diesem Grund widmet sich die heutige Ausgabe der DLT- und Blockchain-Kolumne dem Thema der Private Keys und stellt in diesem Zuge zunächst auf die bekannteste aller Blockchains – die Bitcoin-Blockchain – ab.Zweifelsohne gehört der Private Key in Blockchain-Ökosystemen zu einem der wichtigsten Elemente – hat doch derjenige mit Zugriff auf diese Zahlenkombination gleichzeitig Zugriff auf alle Kryptowerte, die mit der zugehörigen Adresse assoziiert sind. Dies ist auch der Grund, warum es bei den bekannten “Hacks” von Kryptobörsen eigentlich immer nur darum geht, den Zugriff auf diese kostbare(n) Zahlenkombination(en) zu erlangen. 256 Nullen und Einsen Private Keys für die Bitcoin-Blockchain sind grundsätzlich 256 Bit lang, bestehen also aus einer Kombination von 256 aneinandergereihten Nullen und Einsen. Aber wie kommt man eigentlich an einen solchen Private Key? Das mag jetzt vielleicht ein bisschen komisch klingen – aber eine gute Möglichkeit wäre es beispielsweise, eine Münze zu werfen. 256 Mal. Und um ganz sicher zu gehen, dass Sie keine “Muster” beim Münzwurf aufweisen, sollten Sie zwischendurch auch mal Ihre Frau oder Ihren Mann oder Ihre Kinder werfen lassen. Nicht auf Rechnern speichernIrgendwann haben Sie dann Ihre 256 Nullen und Einsen, die Sie bestenfalls niemals auf einem Rechner speichern, aber trotzdem dergestalt sichern, dass diese Nummer erstens nicht verloren gehen und zweitens auch nicht zerstört werden kann. Denn alles, was irgendwie auf einem mit dem Internet verbundenen Rechner gespeichert ist, kann auch gehackt werden. Und nun kommt die Information, deren Verarbeitung bei den meisten Menschen einige Monate der “Akzeptanz” benötigt: Würde jemand ebenfalls 256 Mal eine Münze werfen (oder sonst irgendwie auf seine 256 Bits lange Zahl kommen) und exakt das gleiche Ergebnis erzielen, dann hätte derjenige oder diejenige auch Zugriff auf die mit diesem Private Key assoziierten Kryptowerte. Eine Vorstellung, die bei einem Netzwerk, mit welchem bereits aktuell mehr als 170 Mrd. Dollar verwaltet und gesichert werden, ziemlich abstrus anmutet.Und doch ist die Wahrscheinlichkeit einer gleichen Kombination aufgrund der großen Anzahl an Möglichkeiten – es sind fast so viele wie die Gesamtanzahl aller geschätzten Atome im Universum – so gering, dass es “hinreichend sicher” ist, seine Bitcoin mit einer Zahlenkombination zu sichern, die theoretisch jeder “erraten” könnte. Das klingt ganz schön verrückt, ist aber so (und auch Online-Banking beruht in weiten Teilen auf hinreichend großen Zufallszahlen). Vom Private zum Public KeyHat man diesen Private Key einmal erstellt, wird mittels asymmetrischer Kryptografie – im Falle von Bitcoin unter Zuhilfenahme einer elliptischen Kurve mit dem klangvollen Namen “secp256k1” – der sogenannte Public Key generiert. Das Spannende hieran ist, dass die Berechnung nur in eine Richtung funktioniert. Will heißen: Aus dem Private Key den Public Key zu “errechnen”, das ist ganz einfach, andersherum funktioniert das jedoch nicht. Der Public Key einer Bitcoin-Adresse hat, ebenso wie der Private Key, 256 Bits – er umfasst also 256 Nullen und Einsen.Oft wird propagiert, dass der Public Key das Gleiche wie die Adresse wäre. Das ist allerdings falsch. Vielmehr ist es so, dass die Bitcoin-Adresse erst aus dem Public Key generiert wird. Dies geschieht, indem der Public Key zunächst mit der auch an anderen Stellen in Blockchains vorkommende Hash-Funktion SHA256 “gehasht” wird. Man hätte an dieser Stelle nebenbei auch einfach “berechnet” sagen beziehungsweise schreiben können, aber die ITler benutzen eben genauso wie Rechtsanwälte oder Mediziner gern ihre eigene Sprache.Auch bei dieser Rechenoperation haben wir es nebenbei – genauso wie bei der bereits erwähnten asymmetrischen Kryptografie – mit einer Einwegsfunktion zu tun. Will heißen: Vom Public Key den Hash zu berechnen ist einfach, andersherum so gut wie unmöglich. Das Ergebnis (also der gehashte Public Key) wird dann noch einmal gehasht (dieses Mal allerdings mit dem RIPEMD160-Hash), was eine 160 Bit lange Zahlenkombination zur Folge hat. Diese wird mittels der Base58-Kodierung auf ein für Menschen leichter zu lesendes Format gebracht und voilà – schon haben wir unsere Bitcoin-Adresse.Zusammengefasst: Die “Sicherung” von Bitcoin und auch anderen Blockchain-basierten Systemen, die auf Wahrscheinlichkeiten beruht, “fühlt” sich erst einmal komisch an – und doch kann man diesem Sicherungssystem mehr vertrauen als allen anderen Sicherungssystemen dieser Welt. Zudem muss zwischen Private Key, Public Key und Adresse unterschieden werden – und Mathematik spielt dabei eine grundlegende Rolle. Sven Hildebrandt ist CEO der Blockchain-Spezialberatung DLC Distributed Ledger Consulting. Seine Blockchain-Kolumne erscheint monatlich.