DEV Community

Cover image for Blockchain und Bitcoin erklärt in 6 Episoden — Episode 5
Christian Ahrweiler
Christian Ahrweiler

Posted on Originally published at Medium

Blockchain und Bitcoin erklärt in 6 Episoden — Episode 5

Episode 5: Wie funktionieren digitale Signaturen?Episode 5: Wie funktionieren digitale Signaturen?### Wie eine Bitcoin-Wallet funktioniert

In Episode 3 haben wir Annas Wallet vereinfacht dargestellt:

Annas Wallet
Bitcoin 1,0 BTCDas reicht zunächst, um eine Bitcoin-Zahlung zu erklären.

Jetzt sehen wir genauer hin: Wie kommen die Bitcoin in Annas Wallet — und wie kann Anna sie wieder ausgeben?

Anna legt eine Wallet an

Beim Anlegen der Wallet werden ein Schlüsselpaar und eine dazugehörige Bitcoin-Adresse erstellt.

Annas Wallet
Bitcoin-Adresse
Öffentlicher Schlüssel
Geheimer SchlüsselJeder Bestandteil hat eine eigene Aufgabe:

Bitcoin-Adresse Bitcoin empfangen
Geheimer Schlüssel Transaktion unterschreiben
Öffentlicher Schlüssel Unterschrift prüfenDie Bitcoin-Adresse kann Anna weitergeben.

Der geheime Schlüssel bleibt in ihrer Wallet und darf niemandem mitgeteilt werden.

Anna empfängt Bitcoin

Anna gibt Anne ihre Bitcoin-Adresse.

Anne verwendet diese Adresse als Empfänger einer Transaktion:

Neue Transaktion
Betrag 1,0 Bitcoin
Empfänger Annas Bitcoin-AdresseNachdem die Transaktion geprüft und in einem Block gespeichert wurde, enthält die Blockchain einen verfügbaren Betrag für Annas Adresse:

Verfügbarer Betrag
Adresse Annas Bitcoin-Adresse
Betrag 1,0 BitcoinAnnas Wallet erkennt, dass diese Adresse zu ihr gehört, und zeigt den Betrag an:

Annas Wallet
Bitcoin 1,0 BTCDie Bitcoin wurden dabei nicht als Datei auf Annas Gerät übertragen. Der Betrag ist weiterhin in der Blockchain verzeichnet.

Die Wallet zeigt ihn an, weil sie die zugehörige Adresse und die passenden Schlüssel verwaltet.

Anna möchte Bitcoin ausgeben

Anna möchte nun 0,3 Bitcoin an Paul senden.

Ihre Wallet erstellt eine neue Transaktion:

Neue Transaktion
Verwendet 1,0 Bitcoin von Anna
An Paul 0,3 Bitcoin
Zurück an Anna 0,6999 Bitcoin
Gebühr 0,0001 BitcoinBevor das Netzwerk diese Transaktion akzeptieren kann, muss es eine Frage beantworten:

*Wurde die Ausgabe von der Wallet freigegeben, zu der Annas Adresse gehört?*Dafür verwendet Annas Wallet den geheimen Schlüssel.

Die digitale Signatur

Annas Wallet berechnet aus der Transaktion und ihrem geheimen Schlüssel eine digitale Signatur.

Transaktion

  • geheimer Schlüssel ↓ Digitale SignaturDie Signatur gilt nur für genau diese Transaktion.

Anschließend sendet Annas Wallet folgende Daten an das Bitcoin-Netzwerk:

Transaktion
Digitale Signatur
Öffentlicher SchlüsselDer geheime Schlüssel wird nicht übertragen. Er bleibt in Annas Wallet.

Die erste Prüfung

Die Bitcoin wurden zuvor an Annas Adresse gesendet.

Der Node muss deshalb zunächst prüfen, ob der mitgesendete öffentliche Schlüssel zu dieser Adresse gehört.

Zwischen Annas öffentlichem Schlüssel und ihrer Bitcoin-Adresse besteht eine überprüfbare Verbindung. Vereinfacht wird die Adresse aus einem Hash des öffentlichen Schlüssels gebildet.

Öffentlicher Schlüssel

Hash berechnen

Bitcoin-AdresseDer Node führt diese Berechnung selbst durch.

Mitgesendeter öffentlicher Schlüssel

Bitcoin-Adresse berechnen

Mit bisheriger Adresse vergleichenStimmen die Adressen überein, weiß der Node:

Dieser öffentliche Schlüssel gehört zu der Adresse, welcher der Betrag zugeordnet wurde.### Die zweite Prüfung

Nun verwendet der Node den öffentlichen Schlüssel, um die digitale Signatur zu prüfen.

Transaktion

  • digitale Signatur
  • öffentlicher Schlüssel ↓ Signatur prüfenIst die Signatur gültig, weiß der Node:

*Die Wallet mit dem zugehörigen geheimen Schlüssel hat diese Transaktion freigegeben.*Damit sind beide notwendigen Verbindungen geprüft:

Öffentlicher Schlüssel
gehört zu Annas Adresse

Digitale Signatur
gehört zur Transaktion

Anna darf den Betrag ausgeben### Zwei zusammengehörende Schlüssel

Der geheime und der öffentliche Schlüssel bilden ein Schlüsselpaar.

Mit dem öffentlichen Schlüssel kann eine Signatur geprüft werden. Eine neue Signatur lässt sich nur mit dem geheimen Schlüssel erstellen.

Aus dem öffentlichen Schlüssel lässt sich der geheime Schlüssel nicht zurückberechnen. Deshalb kann Annas Wallet den öffentlichen Schlüssel zusammen mit der Transaktion versenden, ohne ihren geheimen Schlüssel preiszugeben.

Dieses Verfahren mit zwei unterschiedlichen, aber zusammengehörenden Schlüsseln wird asymmetrische Kryptografie genannt.

Gibt es einen Key-Server?

Bitcoin benötigt keinen Key-Server und kein zentrales Verzeichnis für öffentliche Schlüssel.

Beim Empfangen gibt Anna nur ihre Bitcoin-Adresse weiter:

Bitcoin empfangen
Anna gibt ihre Adresse weiterWenn sie den Betrag später ausgibt, sendet ihre Wallet den öffentlichen Schlüssel und die digitale Signatur mit der Transaktion:

Bitcoin ausgeben
Öffentlicher Schlüssel wird mitgesendet
Digitale Signatur wird mitgesendetJeder Node kann die notwendigen Prüfungen selbst durchführen.

Eine Wallet kann viele Adressen besitzen

Für unsere Erklärung verwenden wir nur eine Adresse und ein Schlüsselpaar.

Eine moderne Wallet kann mehrere Adressen und die dazugehörigen Schlüssel verwalten.

Annas Wallet
Adresse 1 Schlüsselpaar 1
Adresse 2 Schlüsselpaar 2
Adresse 3 Schlüsselpaar 3Die Wallet ermittelt die verfügbaren Beträge aller eigenen Adressen und zeigt Anna die Gesamtsumme an.

Was passiert bei Verlust der Wallet?

Geht Annas Gerät kaputt, verschwinden die Bitcoin nicht. Die Beträge sind weiterhin in der Blockchain verzeichnet.

Anna benötigt aber ihre geheimen Schlüssel, um die Beträge ausgeben zu können.

Beim Anlegen einer Wallet wird deshalb normalerweise eine Folge von zwölf oder 24 Wörtern angezeigt. Sie wird Wiederherstellungsphrase oder Seed Phrase genannt.

Aus dieser Phrase kann eine Wallet ihre Schlüssel und Adressen erneut ableiten.

Wiederherstellungsphrase

Schlüssel wiederherstellen

Zugriff wiederherstellenWer die Wiederherstellungsphrase besitzt, kann die Wallet auf einem anderen Gerät wiederherstellen und die zugehörigen Bitcoin ausgeben.

Es gibt keine zentrale Stelle, die eine verlorene Phrase zurücksetzen kann.

Signieren ist nicht Verschlüsseln

Eine Verschlüsselung soll einen Inhalt verbergen.

Eine digitale Signatur soll nachweisen, dass bestimmte Daten mit dem passenden geheimen Schlüssel freigegeben wurden.

Bitcoin-Transaktionen sind normalerweise nicht geheim. Sie werden im Netzwerk verbreitet und in der öffentlichen Blockchain gespeichert.

Die digitale Signatur verbirgt die Transaktion nicht. Sie ermöglicht den Nodes zu prüfen, ob die Wallet mit dem passenden geheimen Schlüssel die Ausgabe freigegeben hat.

Damit wissen wir nun, was Annas Wallet tatsächlich macht: Sie verwaltet die Adressen und Schlüssel, mit denen Anna Bitcoin empfangen und ausgeben kann.

In Episode 6 sehen wir, wie Beaver Proof die Bitcoin-Blockchain verwendet, um nachzuweisen, dass eine Datei zu einem bestimmten Zeitpunkt bereits existierte und seitdem nicht verändert wurde.

Top comments (0)