Untypisches Eingabeskript

Es gibt viele untypische Input scriptDaten in der Blockchain. Was bedeutet das?

Zum Beispiel Transaktion:

4A253F17E5F4B24B41F72A6AE46DD1BCB25F7F33769C2AA5D50C6A6A7CF9F76E( Link )

hat sein Eingabeskript:

3046022100EE238CAD1E8AC7F14661760B1B1FB2CF171F41AFB31E3B59D3CED2284A1C2A71022100BEF7FB989CCFB00A65C009A77B46BC818D2E80458668F73DA0072966AAA28B620103B2ABE09A1C4E67C3EB9ACD5596452A5D785C6E5A772FBEA9A29CA95C15598EA6

Wenn ich versuche, diese Rohdaten zu analysieren, ist das Ergebnis:

30

46

02

21

00EE238CAD1E8AC7F14661760B1B1FB2CF171F41AFB31E3B59D3CED2284A1C2A71– Sig.r

02

21

00BEF7FB989CCFB00A65C009A77B46BC818D2E80458668F73DA0072966AAA28B62– Sig

01

03

B2ABE09A1C4E67C3EB9ACD5596452A5D785C6E5A772FBEA9A29CA95C15598EA6Unbekannte Daten .

Was sind die unbekannten Daten? Dies ist kein öffentlicher Schlüssel, aber was ist das?

PS Ich habe überprüft, dass diese unbekannten Daten kein Teil des öffentlichen Schlüssels sind (X-Koordinate des öffentlichen Schlüssels, wie ich denke). Nach der Berechnung der Y-Koordinate (auf EC) des öffentlichen Schlüssels erhalte ich 9F203515694856269C76C797D8E8E784EBDB927B650705E348F6FBA07DC56FAF. Nachdem ich die Signatur (Sig) damit überprüft habe:

Public Key = B2ABE09A1C4E67C3EB9ACD5596452A5D785C6E5A772FBEA9A29CA95C15598EA6, 9F203515694856269C76C797D8E8E784EBDB927B650705E348F6FBA07DC56FAF

Transaction hash for this Sig = 59E4367A829551DE94594777789B9274BFBDAC9F66550B02B85639945F21BE3A.

Dann berechne ich xund yaus Public Key, Hashund Generatorpunkt G. Stimmt aber xnicht mit den Sig rRohdaten überein. Dieser Weg hat also nicht funktioniert.

Antworten (1)

Es ist ein öffentlicher Schlüssel. Ich denke, Sie analysieren diese Transaktion falsch - was Sie erhalten sollten, ist, dass es zwei Elemente gibt. Das erste ist eine Signatur und 73 Byte lang und beginnt mit. 3046022100ee238c...Das zweite Element ist ein öffentlicher Schlüssel und 33 Byte lang und beginnt mit03b2abe09a1c4e67...


Hier ist die Transaktion, die Sie verlinkt haben, aufgeteilt in Sig und Pubkey.

Ausführung

01000000

Vin zählen

01

Endpunkt

3abe215f943956b8020b55669facbdbf74929b7877475994de5195827a36e45900000000

Skript len

6c

Push sofort 73 Bytes

49

Bytes

3046022100ee238cad1e8ac7f14661760b1b1fb2cf171f41afb31e3b59d3ced2284a1c2a71022100bef7fb989ccfb00a65c009a77b46bc818d2e80458668f73da0072966aaa28b6201

Push sofort 33 Bytes

21

Bytes

03b2abe09a1c4e67c3eb9acd5596452a5d785c6e5a772fbea9a29ca95c15598ea6

Reihenfolge

ffffffff

(Alles unten ist Teil der Ausgaben.)

0206cfbb9f0f0000001976a914a66ba35c1d9bdcc8dfeb0fb8bedb16e1a570487d88ac09165612000000001976a914b420350a7b274e059d7ba5c97e8887d447b7287588ac00000000
Ja, er sieht sich bereits zerlegte Daten an. Nicht das vollständige Skript in Hex.
Der öffentliche Schlüssel ist ein Punkt, der zwei 32b-Nummern hat, aber diese unbekannten Daten haben nur eine Nummer. Es gibt keinen Fehler, denn ich schaue mir diese Daten auf den Block-Explorer-Sites an und es sind die gleichen wie in meiner Frage.
@Denis Dies ist ein komprimierter Schlüssel, der aus einer einzelnen 32b-Zahl und einem einzelnen Bit besteht. Siehe bitcoin.org/en/glossary/compressed-public-key und bitcoin.stackexchange.com/questions/3059/…
@NickODell, wie ich verstehe, ist der komprimierte Schlüssel die X-Koordinate des unkomprimierten Schlüssels?
@Denis Ja, das stimmt. Siehe davidederosa.com/basic-blockchain-programming/… für Informationen zur Komprimierung.