Diferencia de script de entrada

¿Cuál es la diferencia o el significado de estos dos encabezados de scripts de entrada?

1) 4730440220 2) 4830450221

Veo muchos de ellos en las transacciones, pero no entiendo la diferencia.

Gracias

Respuestas (2)

Básicamente es la longitud de una firma. En este esquema de codificación encontramos valores R o S para firmas, que pueden tener una longitud diferente, haciendo que la cadena completa tenga una longitud de 72, 73 o 74 bytes.

Pieter lo describió aquí: ¿Por qué la firma siempre tiene 65 (1+32+32) bytes de largo?

y aquí: ¿Cuáles son las partes de un script de "Entrada" de transacción de Bitcoin?

Creo que el tx más antiguo incluso tenía 0x49 al principio, entonces los valores R y S tendrían una longitud de 33 bytes. No puedo encontrar el enlace, pero tenía la impresión de que, desde la versión 13 del núcleo de bitcoin, esta longitud ya no aparece (para ser verificada).

También hay una referencia más antigua aquí: https://bitcointalk.org/index.php?topic=8392.0

Para la mayoría de las transacciones, el scriptSig de entrada será una pulsación de la firma seguida de una pulsación de la clave pública. La parte "push" se realiza con códigos de operación de secuencias de comandos que indican cuánto tiempo es, y la firma se codifica como DER.

47/48 son los códigos de operación push, es decir, seguirán 0x47 o 0x48 bytes. Luego, la firma se codifica como: 0x30 [total-length] 0x02 [R-length] [R] 0x02 [S-length] [S] [sighash-type]Entonces, la longitud total en sus ejemplos es 0x44 o 0x45, y la longitud R es 0x20 o 0x21.

Entonces, ¿hacen lo mismo de dos maneras diferentes? Si es así, ¿por qué no usar una forma?
No, uno de ellos es si la longitud R es 0x21 y el otro es para la longitud R 0x20. Depende de cuánto tiempo esté R en la firma.