Hello!
Could someone explain how <signature> and <public key> come out of scriptSig script? Of course, scriptSig in not equal concatenate(<signature>,<public key>). How is this information incorporated into scriptSig?
Thank you!
It's a script.
PUSHDATA opcode
Signature data
PUSHDATA opcode
Public key data
In this input of a transaction
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501
where is the public key?
That is just the signature. The output that it spends is from doesn't require a pubkey because the output script includes the pubkey:
PUSHDATA(65)
04283338ffd784c1 ... 8af332fe4d8cde20
CHECKSIG
Here is a typical raw scriptsig (
https://blockchain.info/tx/f1f1ce5a0411d890ee3c543df2302c2691129e700bb72fed9eac0fff9cc5a0d0):
48
3045022100b028b2 ... 9f49ad32a3b53e01
21
027ca78d2199b4fb6 ... 929e18f3276062e7