So, what are the exact values? Because I tried different combinations (including SIGHASH_ANYONECANPAY), and something is still wrong. If I understand correctly, in this case, that kind of sighash will not change anything (because there is only one input). Which means, we first put the previous output in the scriptSig, so we have this transaction:
decoderawtransaction 0100000001395d705a36b122c01c9be97f8c69994c03bb8a0531990411ce7ac78f34e87f23000000001976a91446c3747322b220fdb925c9802f0e949c1feab99988acffffffff02af63f8ffffffff7f1976a91490e8d5ba1c2a301824b18d383dead728b13ea7b788acaf63f8ffffffff7f1976a9142c72c4b5e0cbf9b6435f2cec9df8668c5075121588ac00000000
{
"txid": "afb7902164a1cae625082e2bfa7b8e9a85e2afc7fa1dc35edef52e8db8b31fa2",
"hash": "afb7902164a1cae625082e2bfa7b8e9a85e2afc7fa1dc35edef52e8db8b31fa2",
"version": 1,
"size": 144,
"vsize": 144,
"weight": 576,
"locktime": 0,
"vin": [
{
"txid": "237fe8348fc77ace11049931058abb034c99698c7fe99b1cc022b1365a705d39",
"vout": 0,
"scriptSig": {
"asm": "OP_DUP OP_HASH160 46c3747322b220fdb925c9802f0e949c1feab999 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a91446c3747322b220fdb925c9802f0e949c1feab99988ac"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 92233720368.54277039,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 90e8d5ba1c2a301824b18d383dead728b13ea7b7 OP_EQUALVERIFY OP_CHECKSIG",
"desc": "addr(1EDDEGtrZ5877WPsLU5o9TwjJDqaUqhvte)#h50rucd6",
"hex": "76a91490e8d5ba1c2a301824b18d383dead728b13ea7b788ac",
"address": "1EDDEGtrZ5877WPsLU5o9TwjJDqaUqhvte",
"type": "pubkeyhash"
}
},
{
"value": 92233720368.54277039,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 2c72c4b5e0cbf9b6435f2cec9df8668c50751215 OP_EQUALVERIFY OP_CHECKSIG",
"desc": "addr(1542Dgx5EeurzHP8cT57fK6hBTQq2dgTEu)#squqxq0e",
"hex": "76a9142c72c4b5e0cbf9b6435f2cec9df8668c5075121588ac",
"address": "1542Dgx5EeurzHP8cT57fK6hBTQq2dgTEu",
"type": "pubkeyhash"
}
}
]
}
And then, we append "a8000000", and apply SHA-256 on that, so we get this:
0100000001395d705a36b122c01c9be97f8c69994c03bb8a0531990411ce7ac78f34e87f23000000001976a91446c3747322b220fdb925c9802f0e949c1feab99988acffffffff02af63f8ffffffff7f1976a91490e8d5ba1c2a301824b18d383dead728b13ea7b788acaf63f8ffffffff7f1976a9142c72c4b5e0cbf9b6435f2cec9df8668c5075121588ac00000000a8000000
39b2ebcbae59ced2b0b3fb0e3e8c095a0678c5a3e8adfce818f7d11bb37247b5
0f74c87ba2a7fad26dc08f85229e546b87011858d08ee77d02f9b173d519b7ea
But: if we use this value to calculate the public key "z*G", then it will give us the wrong value.
s=(z+rd)/k
sk=z+rd
z=sk-rd
z*G=sR-rQ
der1=3045022100
r=db8ccad098467a80bdb9ae16fca82aa4214a66c1ee24b62b696073e7e4f68793
der2=0220
s=5ad02d53231be18c5d6a77ffdb39476a5b5da4be70f0acc6794b181f4e38027c
sighash=a8
Q=026b5d97aeed2979207f4ca7d9e75cdebf9ebb2a47d0b715370645f6845edfa7ad
R1=02db8ccad098467a80bdb9ae16fca82aa4214a66c1ee24b62b696073e7e4f68793
R2=03db8ccad098467a80bdb9ae16fca82aa4214a66c1ee24b62b696073e7e4f68793
rQ=db8ccad098467a80bdb9ae16fca82aa4214a66c1ee24b62b696073e7e4f68793*026b5d97aeed2979207f4ca7d9e75cdebf9ebb2a47d0b715370645f6845edfa7ad
rQ=02B458A37F8F640F8F4CF14D441F96643F0664BEC62758D0B68D513A198ACBBB08
-rQ=03B458A37F8F640F8F4CF14D441F96643F0664BEC62758D0B68D513A198ACBBB08
sR1=5ad02d53231be18c5d6a77ffdb39476a5b5da4be70f0acc6794b181f4e38027c*02db8ccad098467a80bdb9ae16fca82aa4214a66c1ee24b62b696073e7e4f68793
sR1=0292413FDACE01B90D343EDA1C91473A88F92437FE67CEA645FC7F8962C146831E
sR2=5ad02d53231be18c5d6a77ffdb39476a5b5da4be70f0acc6794b181f4e38027c*03db8ccad098467a80bdb9ae16fca82aa4214a66c1ee24b62b696073e7e4f68793
sR2=0392413FDACE01B90D343EDA1C91473A88F92437FE67CEA645FC7F8962C146831E
z1*G=sR1+(-rQ)
z1*G=0292413FDACE01B90D343EDA1C91473A88F92437FE67CEA645FC7F8962C146831E+03B458A37F8F640F8F4CF14D441F96643F0664BEC62758D0B68D513A198ACBBB08
z1*G=03CAFF9C05621FF0D3879A93D7E9BAB054699DB8772F18C5B4FB926ABE2EDCDDF2
z2*G=sR2+(-rQ)
z2*G=0392413FDACE01B90D343EDA1C91473A88F92437FE67CEA645FC7F8962C146831E+03B458A37F8F640F8F4CF14D441F96643F0664BEC62758D0B68D513A198ACBBB08
z2*G=03994E79407E8CB50F9D0A41E5647D13445F154B542199B8ED22975F7FBFC60BB8
And then, we finally have two options:
z1*G=03CAFF9C05621FF0D3879A93D7E9BAB054699DB8772F18C5B4FB926ABE2EDCDDF2
z2*G=03994E79407E8CB50F9D0A41E5647D13445F154B542199B8ED22975F7FBFC60BB8
But if we use 0f74c87ba2a7fad26dc08f85229e546b87011858d08ee77d02f9b173d519b7ea calculated previously, it doesn't match any of those keys. Any ideas, where is the mistake?