I’ve been finding out Bitcoin transaction signatures and seen some fascinating patterns when analyzing transactions involving the identical tackle in numerous contexts. Listed here are my observations.
Case 1: Similar tackle, two totally different transactions (T1 and T2)
As anticipated, for 2 separate transactions originating from the similar tackle, I noticed the next witness information:
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 totally different as a result of every signature is tied to the precise 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 information (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 similar tackle, I noticed the next witness information:
30450221008dbd2c3c33413a58d0217897daa9cfe75a7aaad3d80d915ed74dbfbc7dc70d43022034a8328a99065ff8f47acb9da4ce213ee6bf90448580cfd5129e36f39a985c3801
023b6bdc0869a329e9d0cb036257eff362aeab11512668090746bf31647a42039e
3045022100cc584f8b3c0a23d5531d1e46b15e10be7138409c46c04a16716af89ea8a653ec02202a1e364f7c2b0f4f6e995bf73b65a4ed86e5166f9c7544a397a6c38b8db4a43301
023b6bdc0869a329e9d0cb036257eff362aeab11512668090746bf31647a42039e
On this case:
- The signatures are totally different, regardless that each inputs are from the identical tackle.
- The public secret’s equivalent for each inputs, as anticipated.
This means that the signature isn’t for all the transaction however fairly for every enter individually. Plainly every enter indicators a particular “message”.
Questions:
- Why are the signatures totally different for every enter inside the similar transaction?
- Does this imply {that a} signature isn’t generated for all the transaction however fairly 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 indirectly a SPECIFIC UTXO?
- Why is the Witness information 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 similar, whereas the unlocking script (witness) will likely be totally different as a result of it depend upon the SPECIFIC SINGLE INPUT of a transaction?
Any clarification on this habits and the underlying mechanisms can be tremendously appreciated. Thanks!