In tackling double spending, does the protocol enforces that only the first transaction (and by first i mean the first transaction to be send to the network) is considered as valid ?

1 Answer 1


No, not really.

First of all, there is no clear way for everyone to agree on which was the first transaction to be sent to the network. If the attacker was to send two conflicting transactions (call them A and B) to different nodes almost simultaneously, then depending on how the propagate, some nodes might see A first, and others B.

For the Bitcoin Core reference client, if it receives A first and later receives B, it will ignore B and will not relay B to its peers. This hampers a double-spend attack somewhat. But if a client later receives a mined block that contains the transaction B, it will accept it in place of A. And a miner has total freedom which of the two transactions to include in a block.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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