obtener la clave pública de cualquier transacción sin procesar: ¿de qué ocuparse?

Necesito recuperar la clave pública del remitente de la transacción.

ahora sé que hay 03 pubkeys comprimidas y 04 sin comprimir.

pero, ¿cómo funciona esto con direcciones segwit y multisig?

¿Puede indicarme qué posibles combinaciones podría haber, de modo que esté listo para cualquier posible transacción para obtener siempre la clave correcta?

¡muchas gracias!

Respuestas (1)

He resumido algunos tipos de pago populares en mi libro "Grokking Bitcoin" . Hay 6 tipos de pago estándar:

p2pkh : pago a hash de clave pública. La clave pública es el segundo (último) elemento en scriptSig.

p2pkh


p2sh : pago por hash de secuencia de comandos. Las claves públicas se empaquetan en el script de canje, que es el último elemento en scriptSig. Para obtenerlos, debe analizar el script de canje (que en sí mismo es un script) y buscar patrones clave (empuje de 33 bytes).

p2sh


p2wpkh : Hash de clave pública de pago para testigos. La clave pública se encuentra en el testigo de la transacción. Más específicamente, en el segundo elemento del campo testigo con el mismo índice que la entrada que está investigando (el testigo contiene un campo testigo para cada entrada. Solo hay un campo testigo en este ejemplo, porque solo hay una entrada).

p2wpkh


p2wsh : Pay-to-witness-script-hash. Las claves públicas se empaquetan en el script testigo, que es el último elemento en el campo testigo correspondiente de la entrada. Para obtenerlos, debe analizar el script testigo (que en sí mismo es un script) y buscar patrones clave (empuje de 33 bytes).

p2wsh


p2wpkh anidado en p2sh : la clave pública está en el mismo lugar que en p2wpkh.

p2wpkh-anidado


p2wsh anidado en p2sh : la clave pública está en el mismo lugar que en p2wsh.

ingrese la descripción de la imagen aquí

espero que esto ayude

gran respuesta. gracias. También sería útil para su libro vincular transacciones de ejemplo de cada caso. muchas gracias de nuevo
Necesitaba esto para construir esta herramienta: free-online-app.com/bitcoin-2-ethereum-address-converter y esta herramienta: free-online-app.com/bitcoin-ethereum-private-key-converter tal vez tomes un busque y encuentre algún error o cosas que me perdí por completo. gracias
@brocard, ¿podría marcar mi respuesta como aceptada si cree que responde a su pregunta? Gracias.
No tengo suficientes representantes para calificar. Lo haré cuando tenga suficiente!! tu respuesta fue muy util!