Author

Topic: Unconfirmed transactions. I dont understand. (Read 1295 times)

vip
Activity: 1302
Merit: 1042
👻
January 23, 2013, 07:19:07 AM
#2
1. When you push a transaction, it goes to peers you are connected with. They then push the transaction to peers they know. In a while, it'll get to every connected peer.

2. Yes, unconfirmed transactions are stored by each peer.

3. The miner can choose what TX goes in the next block! But in reality, all known by miner & unconfirmed transactions that meets the fee criteria will be in the next block. Of course, they have to be valid.

4) If a transaction is never confirmed, you can always just spend the coins again at any time. Sadly, Bitcoin-qt and Blockchain.info does not allow you to do this.

5) Well, it's up to nodes / miners which one goes through.

6) Each block references the previous block. Let's say we have this chain:

Block ACE -> Block 2EF -> Block 8X2

Then, some miner makes Block 72Z referencing 8X2.
Another miner makes Block EEM referencing 8X2.

Now, another miner connected to the first miner then makes Block 36E referencing 72Z.

ACE -> 2EF -> 8X2 -> 72Z -> 36E
ACE -> 2EF -> 8X2 -> EEM

The first chain is longer, and that is accepted. Transactions in EEM will be unconfirmed, and it will be up to the next block to include them.

If this has helped, free feel to tip to firstbits 1GLados Smiley
full member
Activity: 163
Merit: 100
Luk, soy tu padreeee
Hello,
I want to understand all the bitcoin sending process. I think that the process after the first
confirmation (and the confirmation itself) is clear. But...

1) When I push a transaction, where it goes? All the nodes?
2) Is there a "store" of unconfirmed transactions?
3) I understand the mining process, but what transactions are included in the "next block"?
I mean, all the past 10 minutes transactions? Its not clear to me if a miner tests all nonces from 0, if
it includes a new transaction, the miner must start to test from 0. If a new transaction arrives... new start.
New transactions are happening all the time... how the decision of stopping including transactions is taken?
4) What happens with unconfirmed transactions? If a transaction is never confirmed, when you can consider
that the bitcoins are returned to the sender (imagine a 0 fee transaction)?.
5) I think the less strong think of the satoshi protocol are the unconfirmed transactions. If you "double-spend"
bitcoins sending the same inputs in two transactions before they are mined... how the nodes/miners refuse it?
What transaction (if anyone) is the one that is included in the chain? The first one?
6) Last, its not clear to me the aspect of "the longest (in difficulty) chain is accepted by the nodes" when
two miners find the nonce for a block at the same time. What is the long difficult and what is the difference
with the longest chain (in number of transactions)?

Thanks for your help
Jump to: