¿En qué difiere el hash de una transacción de base de monedas para el mismo minero?

Según el formato de una transacción de base de monedas que se describe aquí: ¿ Cuál es el formato de la transacción de base de monedas? , no veo cómo todas las transacciones de coinbase para un minero determinado no tienen el mismo hash, suponiendo que el minero solo estaba usando una sola clave pública y las recompensas del bloque eran las mismas. Si todos tienen el mismo hash, cuando gasta uno de ellos, los usa efectivamente todos porque ese hash de transacción ahora se ha utilizado como entrada. Claramente, eso no tendría sentido, entonces, ¿cómo se garantiza que sean hashes de transacción únicos?

Estrechamente relacionado, casi duplicado: bitcoin.stackexchange.com/questions/30764/…

Respuestas (1)

El script de entrada a una transacción de coinbase puede contener hasta 100 bytes de datos arbitrarios. Después de BIP 34 , la altura del bloque debe ser lo primero en ese script. Dado que cada bloque tiene una altura diferente, esta regla garantiza que cada transacción de coinbase sea única, ya que las alturas de los bloques siempre serán diferentes.

Además, dado que los mineros pueden poner cualquier dato arbitrario que quieran en ese script de entrada, con frecuencia lo usan como un nonce adicional. En lugar de volver a seleccionar transacciones cuando todos los nonces están agotados, los mineros incrementarán un valor conocido como extranonce que se coloca en el script de entrada.


Además, antes de que BIP 34 se activara, de hecho hubo casos de transacciones de base de monedas idénticas en diferentes bloques. Solo se pueden gastar los resultados de la más reciente de estas transacciones idénticas de base de monedas. Gastar productos de estas transacciones no gasta todos los productos, solo los de la más reciente. Esto significa que las salidas de las bases de monedas anteriores no se pueden gastar y es probable que esas monedas se pierdan para siempre.

Ya veo, eso tiene sentido. Solo para aclarar una cosa, solo se garantiza que las alturas de los bloques sean diferentes para las transacciones de una base de monedas para el mismo minero porque las transacciones de una base de monedas para diferentes mineros podrían tener la misma altura de bloque en el caso de una bifurcación temporal.
Sí, las alturas de los bloques solo son diferentes para el mismo minero.