¿Cómo evita la firma de la transacción la duplicación de transacciones?

Digamos que Alice envía 1 BTC a Bob. Entonces tenemos una firma de (Alice envía 1 BTC a Bob) con la clave privada de Alice. ¿Qué impide que Bob duplique exactamente esta misma transacción y la envíe a la red para obtener otro BTC (o muchos más), dado que ya tiene la firma de Alice (Alice envía 1 BTC a Bob)?

Muchas gracias :)

Respuestas (1)

Cuando Alice crea una transacción de 1 BTC para Bob, le está dando un bitcoin específico mediante el uso de una salida de transacción no gastada de la que tiene la clave. La cadena de bloques rastrea el flujo de monedas de una transacción a otra, no tiene "saldos". Entonces, cuando Alice realiza una nueva transacción, proporciona una entrada a la transacción de al menos 1 BTC y pone la dirección de Bob en una salida.. Luego, esta transacción se extrae en un bloque, y Bob puede gastar la salida para la que tiene la clave, en otra transacción, y así sucesivamente. Pero después de que Alice transmite esa primera transacción, ha gastado las salidas que usó en ella, no puede volver a usarlas en otra transacción (doble gasto). Por lo tanto, si Bob intentara "reproducir" esa transacción, simplemente estaría reenviando lo mismo que antes, nada cambiaría porque la red ya habría visto y aceptado la transacción y Bob ya "tendría" el Bitcoin que Alice le envió. De hecho, ningún otro nodo estaría interesado en la transacción, ya que pueden ver que ya está escrita en la cadena de bloques.

Hola ! Muchas gracias por tu respuesta. La siguiente pregunta lógica es: ¿cómo divide su bitcoin "específico" existente (por ejemplo, 1 BTC) para enviar solo una parte (por ejemplo, solo 0,5 BTC). Encontré mi respuesta aquí: cryptocoinsnews.com/bitcoin-transaction-really-works en realidad gastas todo y creas una nueva salida para ti con el saldo restante.