Welche Bedeutung hat die Signaturprüfung im Stack während der Ausführung des Bitcoin-Skripts?

Während der Ausführung des Skripts, dh ScriptSig + ScriptPub , ist der letzte Schritt die Überprüfung der Signatur anhand des vom Empfänger bereitgestellten öffentlichen Schlüssels. Wie funktioniert das und welche Bedeutung hat es, zwei Entitäten zu verifizieren, die demselben Benutzer gehören?

Antworten (1)

Wie funktioniert das

Bitcoin verwendet den Elliptic Curve Digital Signature Algorithm . Der Algorithmus ist auf Wikipedia beschrieben (verlinkt). Bitcoin verwendet speziell die elliptische Kurve secp256k1.

Welche Bedeutung hat es, zwei Entitäten zu verifizieren, die demselben Benutzer gehören?

Es gibt nicht zwei Entitäten.

Die Signatur beweist, dass der Besitzer des privaten Schlüssels, der dem öffentlichen Schlüssel entspricht, die Signatur über einer bestimmten Nachricht erstellt hat. Im Fall von Bitcoin ist die Nachricht der Hash der Transaktion (mit Ausnahme der Signaturen selbst, da sie noch nicht existieren). Dies stellt sicher, dass die Person, die die Ausgabe ausgibt, dies tun darf, und stellt die Integrität der Ausgabentransaktion selbst sicher.

Okay, aber nach meinem Verständnis werden sowohl die Signatur als auch der öffentliche Schlüssel von derselben Adresse bereitgestellt. Wie kann es also narrensicher sein?
Der scriptPubKey der Ausgabe, die ausgegeben wird, gibt an, dass der öffentliche Schlüssel in einen Hash gehasht werden muss, der durch den scriptPubKey angegeben ist.
Können Sie das bitte näher erläutern? Ich bin ein Anfänger in Blockchain und Bitcoin.
Jede Eingabe muss auf die Ausgabe einer vorherigen Transaktion verweisen, von der sie ausgegeben wird. Diese Ausgabe enthält ein Ausgabeskript namens scriptPubKey. Dieser scriptPubKey wird mit dem Eingabeskript scriptSig kombiniert und als Programm ausgeführt. Der scriptPubKey gibt normalerweise den Hash des öffentlichen Schlüssels an, der die Transaktionsausgabe ausgeben darf. Die Person, die diese Ausgabe ausgibt, hat keine Kontrolle über den scriptPubKey; es wird von der Person bereitgestellt, die die Ausgabe erstellt.
Eine ähnliche Nachricht und ein Link zu Andreas 'Buch, denn hier alles zu erklären, würde den Platz verschwenden ... bitcoin.stackexchange.com/questions/69062/…