En un intento de doble gasto, ¿cómo se elige la transacción válida?

Supongamos que publico la clave privada de una dirección que contiene 1 bitcoin. Si dos personas intentan transferir este bitcoin a otra dirección antes de que se encuentre un nuevo bloque, ¿quién lo obtiene? ¿Cómo se toma esta decisión?

Respuestas (2)

Cuando un nodo recibe dos transacciones en conflicto, solo transmitirá la primera que recibió, descartando la otra. Si una transacción se propaga por completo a través de la red antes de que se envíe la otra, la primera evitará que la segunda llegue a ningún nodo minero.

Si ambas transacciones se envían aproximadamente al mismo tiempo, la red no estará de acuerdo sobre cuál es válida. Esto se resolverá una vez que un nodo minero encuentre un bloque e incluya cualquier transacción de la que haya oído hablar primero.

Los mineros no están obligados a incluir ninguna transacción específica en un bloque.

Si una persona obtiene una ventaja inicial, cualquier nodo que no sea de minería no transmitirá el duplicado, por lo que el "primer motor" cortará rápidamente partes de la red de otros contendientes. Sin embargo, si ambas transacciones se crean aproximadamente al mismo tiempo, es posible que cada transacción duplicada llegue a los nodos que admiten grupos de minería a través de rutas diferentes.

Un grupo de minería puede incluir cualquier transacción que desee y tiende a ejecutar versiones personalizadas de bitcoind para optimizar la generación de bloques. Es en el mejor interés del minero tomar la transacción con la tarifa más alta en detrimento de otras transacciones. Por lo tanto, el uso de una tarifa de transacción podría aumentar la posibilidad de ser incluido en el siguiente bloque.

En última instancia, la transacción incluida en el bloque resolverá la "carrera".

El "corte" de la red puede omitirse enviando TX directamente a los grupos.