This article has been translated from English to German.

In dieser Lektion werden wir lernen, wie eine digitale Signatur in Bitcoin und anderen Kryptowährungen tatsächlich funktioniert.

Um an diesen Punkt zu gelangen, mussten wir zunächst einige technische Konzepte erlernen, da sie die "Bausteine" sind, die zur Erstellung einer digitalen Signatur benötigt werden:

Wenn du mit diesen Konzepten NICHT vertraut bist, wurden sie in früheren Lektionen auf eine für Anfänger verständliche Weise erklärt. Klicke auf die obigen Links, um mehr zu erfahren.

Wie wird eine digitale Signatur erstellt?

Schauen wir uns Schritt für Schritt an, wie eine digitale Signatur erstellt wird:

  1. Wenn du Bitcoins senden möchtest, erstellt deine Wallet eine Transaktionsnachricht. Diese Nachricht enthält Informationen wie die Anzahl der Bitcoins, die du senden möchtest, und die Adresse des Empfängers.
  2. Diese Nachricht wird durch eine Hash-Funktion geleitet.
  3. Die Hash-Funktion erzeugt eine Ausgabe,dieals"Nachrichten-Hash"oder einfach als"Hash" bezeichnet wird.
  4. Dieser Nachrichten-Hashwird dannmit deinem privaten Schlüsselverschlüsselt.
  5. Der verschlüsselte Nachrichten-Hash wirdzur "digitalen Signatur".

Hier ist ein Flussdiagramm dieses Prozesses:

How a Digital Signature is Created

Am Ende dieses Prozesses hat deine Wallet also zwei "Elemente" erstellt:

  1. Transaktionsnachricht
  2. Digitale Signatur (ein verschlüsselter Hash der Transaktionsnachricht)

Zu diesem Zeitpunkt wurde noch nichts an das Bitcoin-Netzwerk gesendet.

Falls du es noch nicht bemerkt hast, wird die Transaktionsnachricht selbst als "Zutat" benötigt, um die digitale Signatur zu erstellen.

Du verwendest also nicht nur deinen privaten Schlüssel, um eine digitale Signatur zu erstellen, sondern deinen privaten Schlüssel UND den Hash der Transaktionsnachricht.

Das bedeutet, dass du diese digitale Signatur nicht für eine andere Transaktion verwenden kannst. Wenn du versuchen würdest, diese digitale Signatur in einer zweiten Transaktion zu verwenden, würde sie vom Bitcoin-Netzwerk abgelehnt werden, da die digitale Signatur ausschließlich auf den Daten der ersten Transaktion basiert.

Jede digitale Signatur ist für eine bestimmte Transaktion eindeutig.

Wie wird eine digitale Signatur verifiziert?

Um Bitcoins von einer bestimmten Bitcoin-Adresse ausgeben zu können, muss man nachweisen, dass man "Eigentümer" (oder: im Besitz) des privaten Schlüssels ist, der mit dem öffentlichen Schlüssel dieser Adresse gekoppelt ist.

Aber du möchtest dies tun, ohne deinen privaten Schlüssel preisgeben zu müssen.

Mit einer digitalen Signatur kannst du BEWEISEN, dass du den privaten Schlüssel kennst, der mit einem öffentlichen Schlüssel verbunden ist, ohne den tatsächlichen privaten Schlüssel preisgeben zu müssen.

Schauen wir uns an, wie das funktioniert:

  1. Wenn du eine Bitcoin-Transaktion einleitest, stellt deine Wallet-Software dem Bitcoin-Netzwerk drei "Elemente" zur Verfügung: die ursprüngliche Transaktionsnachricht, die digitale Signatur und deinen öffentlichen Schlüssel (der mit der Adresse verknüpft ist, an der die Bitcoin, die du senden möchtest, derzeit gespeichert sind).
  2. Sobald ein Bitcoin-Knoten diese "Elemente" erhält, trennt er sie voneinander.
  3. Er nimmt die ursprüngliche Transaktionsnachricht und führt sie durch dieselbe Hash-Funktion, die du zuvor verwendet hast. (Alle Bitcoin-Software verwendet dieselbe Hash-Funktion.) Was die digitale Signatur betrifft, so wird sie den von dir bereitgestellten öffentlichen Schlüssel verwenden, um sie zu entschlüsseln.
  4. Beide Hashes werden dann verglichen.
  5. Stimmen beide Hash-Werte genau überein?
  6. Wenn beide Hashes übereinstimmen, beweist dies, dass du der tatsächliche Eigentümer des Bitcoins bist, den du senden möchtest.

Hier ist ein Flussdiagramm dieses Prozesses:

How a Digital Signature is Verified

Hier sind zwei Dinge hervorzuheben:

1. Die Fähigkeit, mit dem öffentlichen Schlüssel zu entschlüsseln, beweist die Identität des Absenders.

In Schritt 3 beweist die Tatsache, dass ein Knoten die digitale Signatur entschlüsseln kann, deine "Identität".

Da ein privater und ein öffentlicher Schlüssel mathematisch miteinander verknüpft sind, bedeutet dies, dass ich die Nachricht mit meinem privaten Schlüssel verschlüsselt habe, wenn du sie mit meinem öffentlichen Schlüssel entschlüsseln kannst.

Wenn du die Nachricht nicht entschlüsseln konntest, bedeutet dies, dass sie mit dem privaten Schlüssel einer anderen Person verschlüsselt wurde. Und das bedeutet, dass die Nachricht nicht von mir stammt.

2. Hashes, die exakt übereinstimmen, beweisen, dass die Nachricht nicht verändert wurde.

In Schritt 6 wird durch die Überprüfung, ob beide Hashes exakt übereinstimmen, sichergestellt, dass die ursprüngliche Nachricht nicht verändert wurde.

Dies ist wichtig zu wissen, da die ursprüngliche Transaktionsnachricht im Gegensatz zur digitalen Signatur, die verschlüsselt ist, im Klartext vorliegt, da alle Bitcoin-Transaktionen für alle sichtbar sind.

Denkt daran, dass jede noch so kleine Änderung einen völlig anderen Hash-Wert erzeugen würde. Wenn also jemand die ursprüngliche Transaktionsnachricht auf dem Weg zu einem Knotenpunkt abfangen und ändern würde (z. B. um die Bitcoin stattdessen an seine Adresse zu senden), würde die Nachricht, wenn sie die Hash-Funktion durchläuft, einen völlig anderen Hash-Wert als die digitale Signatur erzeugen.

Ähnlich wie eine handschriftliche Unterschrift eine Person mit einem bestimmten Dokument verknüpft,verknüpft eine "digitale Signatur" mithilfe von Kryptografie... kryptografisch ...die Identität mit einer bestimmten Nachricht.

Zusammenfassung

Da du nun weißt, wie eine digitale Signatur erstellt und verifiziert wird, folgt hier ein Überblick darüber, was das "Signieren" einer Transaktion eigentlich bedeutet und wie die "digitale Signatur" des Absenders verwendet wird, um den Besitz der Bitcoins zu verifizieren, die er/sie senden möchte:

Digital Signature Process