
I’ve been finding out Bitcoin transaction signatures and observed some attention-grabbing patterns when analyzing transactions involving the identical tackle in numerous contexts. Listed below are my observations.
Case 1: Similar tackle, two completely different transactions (T1 and T2)
As anticipated, for 2 separate transactions originating from the identical tackle, I noticed the next witness knowledge:
30450221008dbd2c3c33413a58d0217897daa9cfe75a7aaad3d80d915ed74dbfbc7dc70d43022034a8328a99065ff8f47acb9da4ce213ee6bf90448580cfd5129e36f39a985c3801 023b6bdc0869a329e9d0cb036257eff362aeab11512668090746bf31647a42039e
3045022100cc584f8b3c0a23d5531d1e46b15e10be7138409c46c04a16716af89ea8a653ec02202a1e364f7c2b0f4f6e995bf73b65a4ed86e5166f9c7544a397a6c38b8db4a43301 023b6bdc0869a329e9d0cb036257eff362aeab11512668090746bf31647a42039e
Right here, I assume/guess that:
- The first hexadecimal string within the witness is the signature, and
- The second hexadecimal string is the general public key.
As anticipated:
- The signatures are completely different as a result of every signature is tied to the particular transaction.
- The public key is identical because it corresponds to the tackle.
This is sensible as a result of the signature technology course of incorporates the transaction knowledge (or its hash)…. however:
Case 2: A transaction (T3) with two inputs from the identical tackle
Once I analyzed a single transaction with two inputs, each originating from the identical tackle, I noticed the next witness knowledge:
30450221008dbd2c3c33413a58d0217897daa9cfe75a7aaad3d80d915ed74dbfbc7dc70d43022034a8328a99065ff8f47acb9da4ce213ee6bf90448580cfd5129e36f39a985c3801
023b6bdc0869a329e9d0cb036257eff362aeab11512668090746bf31647a42039e
3045022100cc584f8b3c0a23d5531d1e46b15e10be7138409c46c04a16716af89ea8a653ec02202a1e364f7c2b0f4f6e995bf73b65a4ed86e5166f9c7544a397a6c38b8db4a43301
023b6bdc0869a329e9d0cb036257eff362aeab11512668090746bf31647a42039e
On this case:
- The signatures are completely different, though each inputs are from the identical tackle.
- The public key’s equivalent for each inputs, as anticipated.
This implies that the signature shouldn’t be for the complete transaction however relatively for every enter individually. Plainly every enter indicators a selected “message”.
Questions:
- Why are the signatures completely different for every enter throughout the identical transaction?
- Does this imply {that a} signature shouldn’t be generated for the complete transaction however relatively for every enter independently?
- What precisely is being signed in every enter, and what function does UTXO play on this course of? Does the signature have a reference ultimately a SPECIFIC UTXO?
- Why is the Witness knowledge solely represented by hex binary? I could not discover any converter to “human” Script directions. Is there any?
- So principally, is it right to say that, for a similar tackle, the locking script would be the identical, whereas the unlocking script (witness) can be completely different as a result of it rely upon the SPECIFIC SINGLE INPUT of a transaction?
Any clarification on this conduct and the underlying mechanisms could be vastly appreciated. Thanks!