Hacker News new | ask | show | jobs
by 0x000000001 1711 days ago
It's not about double spend. It's entirely possible two miners successfully mine a block simultaneously but one of the miners didn't include your transaction in the block they mined. Now there's two competing blockchains and every miner chooses which one is the truth... longest blockchain wins, so whichever gets the most participants is likely to be the final blockchain

Now your transaction may not be included until a future block or be lost forever, though I'm not certain what it takes to be dropped from the mempool.

1 comments

> It's not about double spend.

The wait for confirmation is exactly to avoid double spend (but not only), as the Bitcoin wiki says[0].

> It's entirely possible two miners successfully mine a block simultaneously but one of the miners didn't include your transaction in the block they mined.

The example you make would work with just 1 block of confirmation, just keep try to include the transaction into the next block.

> longest blockchain wins, so whichever gets the most participants is likely to be the final blockchain

It's more about hashrate power rather than number of participants, however the longest blockchain of confirmed blocks wins, unconfirmed blocks may be invalidated and transactions pushed to the next ones or dropped.

> I'm not certain what it takes to be dropped from the mempool.

After 2 weeks[1] the transaction is considered invalid and should get dropped from the mempool (not all nodes use the same software version or they may run a fork with different settings)

[0] https://en.bitcoin.it/wiki/Irreversible_Transactions

[1] https://github.com/bitcoin/bitcoin/pull/9312

EDIT: grammar

You make good points I wasn't considering when I wrote that, and thanks for the mempool expiration info