Step 1: User-1 initiates the TXN-1 to pay to User-2 and the TXN is not yet confirmed with the ongoing block POW.

Step 2: What prevents fraudster (anyone a miner or someone listening/participating in the network), to double spend or divert the payment to User-3 with a new TXN-2 by copying the data from pending TXN-1 including the User-1's signature?

Step 3: if the miners reject both TXN-1 and TXN-2 as a suspicious or double spend activity in the current block POW, what prevents the same fraudster to issue a new TXN-3 by copying the TXN-2 with the next block POW?

Thanks in advance.


The signature corresponds to the transaction it signs. You can't use the same sig to send the money to another address, because that would require a different transaction for which the signature would not resolve to valid.

  • Ok, Thanks. That should work but not sure how it can be confined to the signing TXN. So, can you clarify bit further as to how it is confined or refer any relevant link(s). Thanks.
    – Hari.M
    Dec 13 '15 at 23:20
  • 1
    The signing process uses transaction data and the sender's private key to generate the signature. This can then be checked by anyone using the provided public key and the transaction data. If the transaction was changed the checking script will not resolve to valid. bitcoin.org/en/developer-guide#term-signature
    – Murch
    Dec 13 '15 at 23:59
  • I overlooked that fact when I went through the Wiki link. Got it now. Thanks.
    – Hari.M
    Dec 14 '15 at 3:25

Not the answer you're looking for? Browse other questions tagged or ask your own question.