Possible attack: Keeping unconfirmed transactions



Summary:

There is a possible attack that involves storing an unconfirmed transaction for a few days before relaying it to the Bitcoin network. Transactions are often purged by nodes due to lack of fees, and this attack could be carried out on transactions that have not been included in the blockchain. For example, if Alice sells Bob a pizza and Bob pays with Bitcoin, the goal of the attack would be to store the unconfirmed transaction sent by Bob and then relay it to the network or mine it directly with Alice's own hashpower a couple of days later. If Bob forgets about the failed trade, Alice can use the signed transaction to gain access to the bitcoins and Bob will not know what happened to his money. This attack could also work with the Payment Protocol because when using it, Alice relays the transaction to the network instead of Bob. If Bob resends the payment, Alice could create another transaction and relay it to the network, while mining the first transaction a couple of days later. Alice would then have two payments and Bob would have no knowledge of what happened to his money. It is unclear if there is already a fix for this problem or if it is simply impossible to execute this kind of attack.


Updated on: 2023-06-08T23:48:56.534475+00:00