Estoy confundido sobre el marcador final al final de las firmas (en mi caso, firmas individuales para un Tx que gasta un P2SH) en pybitcointools
:
pybitcointools
: 304402204dae851c29a117383c5c535086a7fe899c9c5f0d927a4e680498fdd9b244cb15022058fea40a9f8c3988b17556fceacdce063860057fd8c6ad84de40758d2
Bitcore
: 304402204dae851c29a117383c5c535086a7fe899c9c5f0d927a4e680498fdd9b244cb15022058fea40a9f8c3988b17556fceacdce063860057fd8c6ad84de40758d2
Estas son dos firmas iguales (es decir, mismo Tx, entrada, clave privada). Solo pybitcointools
que, en 'implementación, tiene un 01 al final . ¿Por qué?
¿Quizás tiene que ver con el tipo de hash?
Gracias
Es del tipo hash, en este caso es SIGHASH_ALL . Para verificar la firma digital dentro del lenguaje Script, se requiere tener un tipo de hash adjunto al final de la firma digital. Sin embargo, si verifica la firma usando algo como openssl, la firma bitcore sería válida.
En bitcore-lib, el tipo sighash se agrega al crear el script de entrada (scriptSig) para la transacción, por ejemplo aquí: https://github.com/bitpay/bitcore-lib/blob/9e82395e71f8c1a9d4b1e4e4fc2b90085d5443d9/lib/script/script. js#L865-L886
Así como con el toTxFormat
método: https://github.com/bitpay/bitcore-lib/blob/764aa6d4e9f28969192db2e8c1c82326cdbb6a6b/lib/crypto/signature.js#L300-L305
hartmut
mago de ozzie
hartmut