en bip143 definen una firma de testigo. En el primer ejemplo hay un testigo desglosado
witness 00
02 47304402203609e17b84f6a7d30c80bfa610b5b4542f32a8a0d5447a12fb1366d7f01cc44a0220573a954c4518331561406f90300e8f3358f51928d43c212a8caed02de67eebee01 21025476c2e83188368da1ff3e292e7acafcdb3566bb0ad253f62fc70f07aeee6357
este formato no parece estar definido en ninguna parte de este documento? mi pregunta es especificamente
¡¡Muchas gracias por adelantado!!
este formato no parece estar definido en ninguna parte de este documento?
El formato sigue el script estándar de Bitcoin. La principal diferencia entre la pila de testigos y el script tradicional de Bitcoin es que, en lugar de enviar cosas a la pila a través de un script, simplemente se proporciona la pila. Entonces, todas las codificaciones son como si fuera un script de Bitcoin.
cual es la segunda pieza entera "21025476c2e83188368da1ff3e292e7acafcdb3566bb0ad253f62fc70f07aeee6357"
Esa es la clave pública, antepuesta con su longitud.
la primera parte es la firma, pero ¿cuáles son los bytes adicionales en el frente y terminan específicamente en 0x47 y 0x01?
0x47
es la longitud de la firma, incluido el byte adicional al final
0x01
es un byte específico de Bitcoin llamado tipo sighash. Esto como una enumeración que indica qué datos deben incluirse en el mensaje que se codifica para la firma, también conocido como sighash.
¡¿Lo más importante es que la firma es demasiado larga?! es de 70 bytes en lugar de 64.
No, esta firma está codificada en DER , por lo que termina habiendo bytes adicionales para indicar el tipo y la longitud.
nadie392