Actualmente estoy teniendo un momento rubio.
ScriptPubKey proporciona una versión codificada de la clave pública del receptor.
scriptPubKey OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG
Sin embargo, si le doy a alguien mi dirección de bitcoin para que me envíe dinero, ¿cómo recupera el remitente mi clave pública y luego la codifica? Como pubKeyHash != mi dirección de bitcoin
Probablemente me estoy olvidando de algo muy obvio, pero me ha dejado perplejo esta mañana.
Las direcciones son en realidad solo abreviaturas de scripts particulares. El tipo de dirección estándar (que comienza con un '1' en la red principal) de hecho corresponde al tipo exacto de secuencia de comandos que proporcionó anteriormente.
Si decodifica en base58 dicha dirección, termina con una cadena de bytes de la forma 0x00 + [hash de 20 bytes] + [suma de comprobación de 4 bytes]. El script correspondiente es OP_DUP OP_HASH160 [hash de 20 bytes] OP_EQUALVERIFY OP_CHECKSIG.
Entonces, en cierto modo, su dirección contiene el hash de la clave pública.
El remitente no necesita conocer su clave pública, solo la dirección de bitcoin que proporciona, que puede ser diferente cada vez. Utiliza la clave pública más tarde para canjear los fondos y enviarlos a otra dirección.
tim s