4 ms·
In case there are multiple conflicting transactions (for double-spending purpose), the network will only accept the first one and reject the rest. So the microp
by CalmStorm 6y ago
In case there are multiple conflicting transactions (for double-spending purpose), the network will only accept the first one and reject the rest. So the micropayment processor needs to wait for a few seconds when it receives the first transaction in the mempool. If no other conflicting transactions arrive, the first transaction will be acccepted. These few seconds give the first transaction big advantage over the double-spending ones, as it will most likely be included in the block.
If the attacker sends the legit transaction and double-spending one at the same time, it will be detected due to the few seconds wait by the payment processor.
- paulmd 6y agothere's no protocol-level guarantee of that, both transactions are perfectly valid, signed transactions and it's purely dependent on the good behavior of node operators to reject these and in fact it is quite common to accept "double-spending" since that is really the only way to increase fees to push through a "stuck" transaction. Otherwise you have to wait an indeterminate (potentially forever) period of time until it exits the mempool of all network participants
- CalmStorm 6y agoIf there are two valid, signed transactions that spend the same unspent input transaction (UTXO), only one of them will be included in the block. This is indeed guaranteed by the protocol [1]. [1] https://bitcoin.stackexchange.com/questions/81624/can-two-or-more-transactions-sent-from-the-same-address-be-mined-in-the-same-blo https://bitcoin.stackexchange.com/questions/81624/can-two-or...
- fxtentacle 6y agoYes, but "included in the block" means you either wait some hours or pay higher fees.
- sp332 6y agoYes but it is in the best interest of the node operators to behave well in that way, so it's reasonably trustworthy even without protocol-level guarantees.