Author

Topic: Using duplicated of a signed bitcoin transaction more than once (?) (Read 169 times)

legendary
Activity: 2268
Merit: 18771
Before that, you can sign a transaction offline without any knowledge of previous inputs that a bitcoin address may have on the blockchain...
No, you can't. You can sign a transaction offline only with specific reference to previous transactions which create the UTXOs you want to spend. As soon as those UTXOs are spent, then it does not matter what other coins are present on the address(es) in question. Previously confirmed transactions will not be valid again because the specific UTXOs they spend have been spent.

If it were possible to rebroadcast a transaction and take more bitcoin from the same address, then anyone who withdrew anything from a centralized exchange's hot wallet could just rebroadcast their withdrawal transaction over and over and over until the hot wallet was empty. Obviously this doesn't happen.
legendary
Activity: 4424
Merit: 4794
signatures are not just signing an address.. they are signing a txid of tx data. where the txid is a form of the data contents of the tx, where certain rules apply

by adding an input changes the txid. and this invalidates the transaction if the signature does nt match the rules

by this i mean if i had a 'anyonecanspend'
which only counts the first input. and all outputs when forming the txid
the TXID check would only hash the first input with the outputs and check the signature matches the txdata of such and says that the first input can be spent because the key used is also the inputs associated public key when it signed the tx data of input+outputs

but adding another input without a second signature that matches the new txid(created by adding another input). tells validators that the second input cannot be spent because the new txid is not the same as old one(obviously) and there is no second signature to validate the tx containing 2 inputs.
so the entire tx is then rejected.

yes you can have a tx which validates a first input and then keep it unconfirmed for any time you like. but if you want to add another input from a later utxo you then need to sign that second input into being valid in the new txdata of 2inputs and outputs, to then allow the tx of both inputs with both signatures to be a valid tx
legendary
Activity: 1122
Merit: 1017
ASMR El Salvador
But... a transaction spends previous inputs only when it enters the blockchain.
Before that, you can sign a transaction offline without any knowledge of previous inputs that a bitcoin address may have on the blockchain...
legendary
Activity: 3122
Merit: 2178
Playgram - The Telegram Casino
Just imagine, someone keeps all his signed transactions in a drive. And you happen to copy and backup all those files. Could one day you be lucky and have some of them enter the blockchain again if he reuses his addresses and happens to have funds again on those addresses?

No. From a technical perspective there's no "balance" that could be spent. A Bitcoin transaction spends previous inputs (ie. incoming transactions), so even if you were to reuse an old outgoing transaction and the address in question had sufficient funds, the inputs required to fund this transactions have already been used for the first original outgoing transaction.
legendary
Activity: 1122
Merit: 1017
ASMR El Salvador
Since a signed bitcoin transaction is not timestamped until broadcasted and entering the blockchain, does it make sense to keep old signed bitcoin transactions that other people did sign so that one day if those origin addresses have funds again you clear it again, broadcasting those signed transactions again and making them show up again in a new block?
Just imagine, someone keeps all his signed transactions in a drive. And you happen to copy and backup all those files. Could one day you be lucky and have some of them enter the blockchain again if he reuses his addresses and happens to have funds again on those addresses?

 
Jump to: