Cómo los mineros confirman la transacción si InputScript solo tiene la firma

Por favor, ayúdenme a entender cómo el cliente bitcoind verifica TX con el script de entrada que consiste solo en la firma.

Por ejemplo, TX 6D5DF6C0D66CFFC25CC1ABA3655952D7B081ED4E9EA3B70FCD964FDBBA01E91Etiene una entrada de D9A9C88110775B196CDAF6FC8113B33547C8E33E68519F60D9C9FF306E096473transacción (8 salidas) con Input Script 4730440220797681C6711BB3D97AE373FC5CFF47F06EEC928DD46B8A9892D92C30953C9DF3022079C36E9A4C32D4E36B9E3ACCED0D40D70D8F90890C0E9F8F4F9AC083AFFD21B301.

Este script solo tiene la firma (r,s) y no tiene ninguna representación de clave pública o dirección.

Según tengo entendido , Sigse crea con UnsignedTX doubleSHA256 hash, Random Numbery Private Key.

Sigverificando usando UnsignedTX doubleSHA256 hashy a Public Key, pero aquí no hay nada de eso.

También la pregunta es sobre "¿Dónde se almacena UnsignedTX doubleSHA256 hash?". Porque no es el hash de la transacción, porque el hash de TX es para la transacción firmada.

Respuestas (1)

La verificación de transacciones requiere las salidas de transacciones anteriores de las que gasta la transacción. El script de salida de las salidas de transacciones anteriores se recupera para cada entrada. La secuencia de comandos de entrada se ejecuta primero a través del intérprete de secuencias de comandos. Su pila resultante se usa luego como un estado inicial para el paso del script de salida de la transacción anterior a través del intérprete de script.

Para la transacción particular que ha elegido, la secuencia de comandos de salida de la transacción anterior tiene el formato

<pubkey> OP_CHECKSIG

y la entrada es de la forma

<sig>

Esto significa que la firma primero se empuja a la pila. Luego, la clave pública se empuja a la pila y luego OP_CHECKSIGse ejecuta en los dos elementos de la pila. La clave pública reside en el script de salida. Para otros tipos de salida, la clave pública se proporciona en el script de entrada como parte del gasto.

El hash que se firma como mensaje se produce a partir de la propia transacción de gasto. Contiene datos que se proporcionan en la transacción de gastos y el script de salida de la transacción anterior para que pueda generarse sobre la marcha. Puede consultar esta pregunta y responder ¿Cómo saber qué parte del tx anterior necesito hacer el hash para firmar un tx anterior? que desglosa cómo se genera ese hash para entradas que no son segwit.

Según entiendo por su respuesta, la transacción sin firmar se genera sobre la marcha y luego hace el doble sha256 Hash para la verificación de Sig.
Sí. Se crea la preimagen de sighash (versión modificada de la transacción sin firmar) y se codifica con SHA256d. Ese hash está firmado o verificado, según lo que quieras hacer.