Author

Topic: Что подписывается в транзакции? (Read 300 times)

legendary
Activity: 2618
Merit: 2304
У которой публичный ключ
Quote
039d25ab79f41f75ceaf882411fd41fa670a4c672c23ffaf0e361a969cde0692e8
Это координата ИКС (32 байта) в схеме ECDSA secp256k1 и ещё один служебный байт в начале. Каким образом верифицируете подпись?
newbie
Activity: 58
Merit: 0
Как понимаю за это отвечает BIP 143.

Нашел в примерах
https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki#native-p2wpkh

Все что до hash preimage понятно

Code:
   outpoint:     ef51e1b804cc89d182d279655c3aa89e815b1b309fe287d9b2b55d57b90ec68a01000000
    scriptCode:   1976a9141d0f172a0ecb48aee1be1f2687d2963ae33f71a188ac
    amount:       0046c32300000000
    nSequence:    ffffffff

А вот тут вот не ясно:

Почему берется первый индекс входа? для outpoint и  nSequence. Что с нулевым входом делается?
Code:
outpoint = vin[1][txid] + vin[1][index]

Что такое scriptCode
Code:
scriptCode:   1976a9141d0f172a0ecb48aee1be1f2687d2963ae33f71a188ac

Откуда взялась сумма?
Code:
amount:       0046c32300000000


newbie
Activity: 58
Merit: 0
Что-то не получается проверить сигнатуру транзакции.

Допустим есть транзакция
http://learnmeabitcoin.com/browser/transaction/json.php?txid=c586389e5e4b3acb9d6c8be1c19ae8ab2795397633176f5a6442a261bbdefc3a

У которой публичный ключ
Quote
039d25ab79f41f75ceaf882411fd41fa670a4c672c23ffaf0e361a969cde0692e8

А сигнатура
Quote
30450221008604ef8f6d8afa892dee0f31259b6ce02dd70c545cfcfed8148179971876c54a02207 6d771d6e91bed212783c9b06e0de600fab2d518fad6f15a2b191d7fbd262a3e01

Что используется в качестве дайджеста для верификации?

scriptSig текущей транзакции?
scriptPubKey выхода предыдущей транзакции?
PubKey?
Всё тело транзакции?

Что-то не одно из значений не проходит валидацию. Они претерпевают каких-то модификаций? Хешируются?

Судя из параметров signrawtransaction там еще разные варианты есть
       "ALL"
       "NONE"
       "SINGLE"
       "ALL|ANYONECANPAY"
       "NONE|ANYONECANPAY"
       "SINGLE|ANYONECANPAY"

В чём преймущество каждого из них, где они применяются, а где нет.
Jump to: