Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: cyptomania on March 17, 2020, 12:52:03 AM



Title: 42 character Sigscript.
Post by: cyptomania on March 17, 2020, 12:52:03 AM
Hi Guys thanks for all your answers over the years,I have a question that's not really important but I can't find the answer.

Every so often when I check my transactions I run across a small Sigscript,it's short at only 42 characters long instead of the usual long ones,what is this ? I don't see how any public key info or any thing else can be in there.

Thanks for probably a stupid question but I'm trying to learn,please explain if you can,thanks.


Title: Re: 42 character Sigscript.
Post by: pooya87 on March 17, 2020, 04:41:11 AM
you should post the transaction that you had in mind for a more accurate answer, it could be a non-standard script. but 42 hexadecimal characters or 21 bytes seems is very close to the 22 bytes redeem script of spending a P2SH-P2WPKH output which is 0x0014{20_byte_hash}. does the transaction have any witnesses at the same index as the input signature you are looking at?
example: https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki#p2sh-p2wpkh
nVersion:  01000000
marker:    00
flag:      01
txin:      01 db6b1b20aa0fd7b23880be2ecbd4a98130974cf4748fb66092ac4d3ceb1a5477 01000000
     sig:     1716001479091972186c449eb1ded22b78e40d009bdf0089 feffffff
txout:     02 b8b4eb0b00000000 1976a914a457b684d7f0d539a46a45bbc043f35b59d0d96388ac
              0008af2f00000000 1976a914fd270b1ee6abcaea97fea7ad0402e8bd8ad6d77c88ac
witness    02 473044022047ac8e878352d3ebbde1c94ce3a10d057c24175747116f8288e5d794d12d482f02202 17f36a485cae903c713331d877c1f64677e3622ad4010726870540656fe9dcb01
              2103ad1d8e89212f0b92c74d23bb710c00662ad1470198ac48c43f7d6f93a2a26873
nLockTime: 92040000


Title: Re: 42 character Sigscript.
Post by: cyptomania on March 17, 2020, 11:15:53 PM
Hi,this is what it looks like,I don't know how the info needed can be kept in this short thing,curious,hope someone knows.It says it's a Base58(P2SH) at Blockchian.com running the wallet number,I've never seen this configuration.

 },
        "script_asm" : "001470eb5212b558chj10b31f0849ef88ecf17097ac1",
        "script_hex" : "16001470eb5212b558chj10b31f0849ef88ecf17097ac1",
        "witness" : [
          "30450221009931f96895b6ff7a486044095f8e09cc2bfb220e54bac67a2909e2e2f49e262b02201 7a4a5b34731cca29616d5013cf02ebbb096613dfd201b30b62a74a5d526b8f601",
          "0238288b60e8c50785809a69517ae3ca2fe3e407cac8b5868c5fb3803c233dfbcc"


Title: Re: 42 character Sigscript.
Post by: pooya87 on March 18, 2020, 03:39:08 AM
Hi,this is what it looks like,I don't know how the info needed can be kept in this short thing,curious,hope someone knows.It says it's a Base58(P2SH) at Blockchian.com running the wallet number,I've never seen this configuration.

it is because this is a special script form for pay to script hash pubscripts that was introduced back in 2017 as a part of Segregated Witness soft-fork. it is like a workaround to use SegWit while stay backward compatible since the address format is the same as before (base58 starting with 3).
the actual script is the "script_hex" part since the 0x16 push byte is a part of it and this whole thing is a redeem script and is accompanied by the signature placed in the witness part.


Title: Re: 42 character Sigscript.
Post by: nc50lc on March 18, 2020, 05:32:35 AM
        "script_asm" : "001470eb5212b558chj10b31f0849ef88ecf17097ac1",
        "script_hex" : "16001470eb5212b558chj10b31f0849ef88ecf17097ac1",
May I ask? There's no "42 character" string in that scriptSig;
Did you just added the invalid characters "hj" in the middle of the 'script_hex' and 'script_asm' that made them 44 and 46 characters?

If you remove 'h' and 'j', the pubkeyHash160 will be 19bytes that's impossible to happen.

Where did you get those strings?
Can you share the actual transaction or P2SH address like pooya suggested in post#2?