Benutzerverifizierung – öffentliche und private Schlüssel

Published by Martin Schuster on

Zunächst müssen wir jedoch sicherstellen, dass nur der richtige Benutzer die Erlaubnis zur Ausgabe einer Münze erteilt. So sollte Bob zum Beispiel nicht berechtigt sein, eine Transaktion für Münzen zu erstellen, die Alice gehören.

Um zu überprüfen, dass Alice eine Transaktion erstellt hat, muss sie diese mit einer digitalen Signatur unterschreiben. Digitale Signaturen unterscheiden sich ein wenig von schriftlichen Signaturen, haben aber das gleiche Ziel: ein Dokument oder eine Transaktion vor Fälschungen zu schützen.

Der erste Schritt bei der Erstellung einer digitalen Signatur ist die Erstellung eines geheimen Schlüssels (auch privater Schlüssel genannt). Alice erstellt also heimlich ihren geheimen Schlüssel und leitet daraus kryptografisch einen öffentlichen Schlüssel ab.

Erzeugung des öffentlichen Schlüssels

Die Erstellung eines geheimen Schlüssels ist recht einfach. Er besteht aus einer sehr großen Zufallszahl (in Bitcoin 256 Bit). Man kann dies tun, indem man 256-mal eine Münze wirft und jedes Mal, wenn die Zahl vorkommt, eine 1 aufschreibt, und wenn das Symbol vorkommt, schreibt man eine 0 auf. In der Realität werden schnellere Zufallsgeneratoren verwendet, und man muss sich nicht um die Erstellung geheimer Schlüssel kümmern.

Die Ableitung des öffentlichen Schlüssels ist ein einseitiger Prozess, der in Bitcoin mit elliptischen Kurven durchgeführt wird. Wir lassen die Mathematik beiseite, da sie wirklich schwer zu verstehen und für uns nicht wichtig ist. Wichtig ist jedoch, dass es unmöglich ist, den geheimen Schlüssel aus einem öffentlichen Schlüssel zu ermitteln! Es ist eine Einwegfunktion.

Mit einem solchen Schlüsselpaar kann Alice nun ihre Signatur erstellen.

Mit ihrem geheimen Schlüssel signiert sie die Transaktion. Auch hier ist die Mathematik, die dahintersteckt, ziemlich entmutigend; deshalb lassen wir das hier beiseite. Das Ergebnis ist eine Signatur, die ein sehr langer numerischer Wert ist. Alice sendet diese Signatur zusammen mit ihrer Transaktion und ihrem öffentlichen Schlüssel an Bob.

Bob und alle anderen Knoten können überprüfen, ob diese Signatur gültig ist, indem sie sie mit den von Alice bereitgestellten Informationen abgleichen.

Das Gute daran ist, dass Alice viele Transaktionen mit ihrem privaten Schlüssel signieren kann, aber niemand wird jemals herausfinden, was der private Schlüssel ist.

Ein weiteres Merkmal digitaler Signaturen ist, dass die Signatur bei jeder Transaktion anders ist, da sie vom Inhalt abhängt. Dies ist ein wesentlicher Vorteil gegenüber schriftlichen Signaturen, die kopiert und in ein anderes Dokument eingefügt werden können. Jedes Mal, wenn Sie die zu unterzeichnende Transaktion ändern, ist die Signatur eine andere.

Jeder Nutzer des Blockchain-Netzwerks erstellt ein solches Schlüsselpaar (geheimer Schlüssel und öffentlicher Schlüssel). Dabei helfen kleine Programme oder Apps, sogenannte Wallets.

Categories: