I’ve been finding out Bitcoin transaction signatures and observed some attention-grabbing patterns when analyzing transactions involving the identical tackle in several contexts. Listed here 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 smart as a result of the signature era 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, regardless that each inputs are from the identical tackle.
- The public secret is an identical for each inputs, as anticipated.
This implies that the signature shouldn’t be for your entire transaction however quite for every enter individually. Plainly every enter indicators a particular “message”.
Questions:
- Why are the signatures completely different for every enter inside the identical transaction?
- Does this imply {that a} signature shouldn’t be generated for your entire transaction however quite for every enter independently?
- What precisely is being signed in every enter, and what position does UTXO play on this course of? Does the signature have a reference not directly 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 mainly, is it appropriate to say that, for a similar tackle, the locking script would be the identical, whereas the unlocking script (witness) shall be completely different as a result of it rely on the SPECIFIC SINGLE INPUT of a transaction?
Any clarification on this conduct and the underlying mechanisms can be significantly appreciated. Thanks!