2

I know that selecting transactions with confirmations first are much better than spending transactions with 0 confirmations direct.

But why is that?

2

Many wallet implementations prefer spending confirmed inputs over unconfirmed inputs. There are multiple reasons for this preference:

  1. Bitcoin Core (and perhaps other software as well) does not propagate chains of unconfirmed transactions beyond a certain depth. If you continuously reuse unconfirmed UTXOs, eventually your transactions will not be seen on the network until some predecessors confirm.

  2. Transactions using unconfirmed inputs are susceptible to become invalid due to a parent transaction being replaced or doublespent.

  3. A transaction building on top of an unconfirmed change cannot be confirmed until the parent transaction is confirmed. This dependency is used by child-pays-for-parent transactions positively to increase the priority of the parent transaction, but can also be a handicap, when a low fee transaction essentially puts the onus on the recipient to bump the transaction in order to gain access to their funds.

1

If you spend zero conf transactions, the spend will not confirm until the transaction they source confirms. You can end up with a chain of transactions all waiting for the first one to confirm. Computers are ok with this, but people get confused. :)

  • is it the only reason? Because what I that if you received unconfirmed transaction you can push it by re-spending that transaction with higher fee. – Adam Jan 4 '18 at 17:21
  • This is a different question, but in brief, there are ways to push the transactions along (child pays for parent (cpfp), replace by fee (rbf), miner accelerators). – harrym Jan 4 '18 at 21:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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