Können Sie eine nlockTime-Transaktion "rückgängig machen", indem Sie ein einzelnes UTXO davon ausgeben, bevor die Blockierung von lockTime auftritt?

Nehmen wir an, ich habe eine Brieftasche X mit Geld aus 3 nicht ausgegebenen Ausgängen (UTXOs) A, B und C.

Ich mache eine nlocktime-Transaktion, um 2 meiner 3 UTXOs (A & B) für Wallet Y auszugeben, 1 Monat in der Zukunft, unterschreibe es und gebe es jemandem (eigentlich dem Besitzer von Wallet Y), damit diese Person es übertragen kann später.

Nehmen wir an, eine Woche später, bevor die Blockierung von nlocktime auftritt, gebe ich einen der UTXOs der nlocktime-Transaktion aus (A), aber nicht den anderen (B).

Wird die Person, die die 1. Transaktion erhält, den UTXO B am Ende ausgeben können? Oder würde meine 2. Transaktion die gesamte 1. Transaktion ungültig machen?

Vielen Dank

Antworten (2)

Da eine der Eingaben der nLockTimeTransaktion bereits ausgegeben wurde, nLockTimewird die Transaktion ungültig, da nicht alle referenzierten Eingaben für Ausgaben verfügbar sind.

Dies wird im Bitcoin-Entwicklerhandbuch explizit als Möglichkeit beschrieben, eine Locktime-Transaktion abzubrechen:

Wenn einer der Unterzeichner seine Meinung ändert, kann er eine neue Non-Locktime-Transaktion erstellen. Die neue Transaktion verwendet als eine ihrer Eingaben eine der gleichen Ausgaben, die als Eingabe für die Sperrzeittransaktion verwendet wurde. Dadurch wird die Locktime-Transaktion ungültig, wenn die neue Transaktion zur Blockchain hinzugefügt wird, bevor die Zeitsperre abläuft.

Bevor die für die Transaktion festgelegte Zeit oder Blockhöhe nLockTimeerreicht ist, gilt die Transaktion als ungültig und wird nicht gespeichert oder von (anderen) Knoten weitergeleitet. Dies wurde in 0.9.0 abgeschwächt, sodass Transaktionen innerhalb eines Blocks nLockTimefür die Weiterleitung akzeptiert werden, aber noch nicht für die Aufnahme.

Beachten Sie, dass, wenn dieses Verhalten (Möglichkeit zur vorzeitigen Ausgabe) unerwünscht ist, Lightning Network dies beispielsweise verhindert, indem die Coins in einem (2-von-2-Multisig ODER 1 zeitgesperrte Signatur)-Skript gesperrt werden, sodass eine vorzeitige Ausgabe nur möglich ist, wenn beide Parteien sich einigen.

Brieftasche Y erhält keine Zahlung, bis die nLockTime-Bedingung abgelaufen ist und die Transaktion in einen Block aufgenommen wurde.

AFAIK die meisten Peers werden nlocktime nicht mit 1 Monat in der Zukunft weitergeben. https://bitcoin.stackexchange.com/a/26983/12049

Sobald die Transaktion in die Blockchain aufgenommen wurde, kann sie nicht mehr rückgängig gemacht werden.

Also ist die zweite Transaktionsausgabe B gültig, und die erste Transaktionsausgabe A+B ist ungültig DOPPELTE AUSGABE!