¿Cómo se evitaría este ataque de doble gasto?

Lo sé, que un usuario no puede crear una bifurcación en la cadena.

Además, se dice que dado que cada transacción se anuncia públicamente, cualquier intento de doble gasto en la misma cadena sería rechazado ya que la red sabría que estos bitcoins se han gastado previamente en la cadena. Pero, ¿cómo determinaría la red que estos bitcoins se gastaron anteriormente porque no se conoce la identidad del pagador y el beneficiario? Solo las direcciones recién creadas se conocen en el momento del gasto, que luego se pueden cambiar durante el doble gasto.

Por ejemplo, si Alice envía 10 BTC a Bob usando 0000ab578c4 como su dirección y esto forma parte del bloque 50 en la cadena de bloques. Ahora, nuevamente, gastó 10 BTC a Bob usando otra dirección 004325bda en el bloque 67 de la misma cadena, ¿cómo determinaría la red que se trata de un gasto doble? (Nadie sabe a quién pertenece 004325bda).

Si tiene 10 BTC en dos direcciones separadas, entonces tiene 20 BTC en total y, por lo tanto, puede enviar 10 BTC dos veces a Bob.

Respuestas (1)

Las transacciones crean Salidas de transacciones no . UTXO son identificables de forma única. Las UTXO son indivisibles, se destruyen por completo cuando se gasta dinero de ellas. ( Es por eso que debe enviarse el cambio a usted mismo ). Naturalmente, esto también significa que no puede elegir desde qué dirección envía dinero, de hecho, la "dirección de envío" solo existe implícitamente al ser la dirección que recibió el pago de financiación.

Entonces, juntando todo esto, cada vez que alguien intenta gastar dinero, los nodos de la red verifican si las UTXO correspondientes están disponibles para gastar, es decir, listadas en el conjunto de UTXO.

Si alguien intentara gastar dinero dos veces, la UTXO ya se habría consumido en la primera transacción y, por lo tanto, ya no figuraría en el conjunto de UTXO.