¿Puede "deshacer" una transacción nlockTime gastando un solo UTXO antes de que ocurra el bloqueo de lockTime?

Digamos que tengo una billetera X con dinero de 3 salidas no gastadas (UTXO) A, B y C.

Realizo una transacción nlocktime para gastar 2 de mis 3 UTXO (A y B) en la billetera Y, dentro de 1 mes, la firmo y se la doy a alguien (en realidad, el propietario de la billetera Y) para que esta persona pueda transmitirla. luego.

Ahora, digamos una semana después, antes de que ocurra el bloqueo de nlocktime, voy y gasto uno de los UTXO de la transacción nlocktime (A), pero no el otro (B).

¿La persona que recibe la 1ª transacción podrá gastar la UTXO B al final? ¿O mi segunda transacción invalidaría toda la primera transacción?

Gracias

Respuestas (2)

Dado que una de las entradas de la nLockTimetransacción ya se ha gastado, la nLockTimetransacción deja de ser válida, ya que no todas las entradas a las que se hace referencia están disponibles para gastar.

Esto se describe en la guía para desarrolladores de Bitcoin explícitamente como una forma de cancelar una transacción de tiempo de bloqueo:

Si alguno de los firmantes cambia de opinión, puede crear una nueva transacción sin tiempo de bloqueo. La nueva transacción utilizará, como una de sus entradas, una de las mismas salidas que se utilizó como entrada para la transacción locktime. Esto hace que la transacción de tiempo de bloqueo no sea válida si la nueva transacción se agrega a la cadena de bloques antes de que caduque el bloqueo de tiempo.

Antes de que se alcance el tiempo o la altura del bloque especificado para la nLockTimetransacción, la transacción se considera inválida y no será almacenada ni retransmitida por (otros) nodos. Esto se ha debilitado en 0.9.0 para que las transacciones dentro de un bloque nLockTimese acepten para retransmisión pero aún no para inclusión.

Tenga en cuenta que si este comportamiento (posibilidad de gasto anticipado) no es deseado, por ejemplo, Lightning Network evita eso al bloquear las monedas en un script (2 de 2 multisig O 1 firma con bloqueo de tiempo) para que el gasto anticipado solo sea posible si ambas partes de acuerdo.

Wallet Y no recibirá el pago hasta que pase la condición nLockTime y la transacción se incluya en un bloque.

AFAIK, la mayoría de los pares no transmitirán nlocktime con 1 mes en el futuro. https://bitcoin.stackexchange.com/a/26983/12049

Una vez que la transacción se incluye en la cadena de bloques, no se puede deshacer.

Entonces, la segunda transacción que gasta B es válida, y la primera transacción que gasta A+B no es válida. ¡DOBLE GASTO!