5

The number of blocks formed is 1 every 10 minutes. As the number of transactions increase, wouldn't the time taken for a transaction to confirm become slower?

I am asking this because this the number of people transacting increases but how fast blocks get generated is constant. Or am I going about it all wrong?

From what I read, I understand that a block is generated whenever a proof of work is submitted by a miner; this happens when the miner processes a transaction. So in addition to the transaction, he also gets some bitcoins which are once again added to the block chain.

2 Answers 2

3

I understand that a block is generated whenever a proof of work is submitted by a miner; this happens when the miner processes a transaction

That's not correct. The miners doesn't submit a found block (proof-of-work) when he processes a transaction. He does when he found a block hash that was valid.

That can take a long time and in the time he looks for a good block, he will receive probably thousands of transactions.

He will verify those as they come in and put them in the block he is currently working on, all of them, one by one (until the limit is reached). When he then finds a valid block hash, he will submit the entire block consisting of all, or most of, the transactions he received.

So, to answer your questions, transactions do not necessarily get slower over time, on the condition that the upper limit of transactions in a block is high enough. If the limit is too low, there can arise a bottleneck for transactions trying to be verified.

FYI: You can see that all miners have all those transactions in their working block, but only one of them can submit the block. To prevent transactions from occurring twice, once a miner receives a new valid block from a fellow miner, he checks what transactions in his pool are also in that block. He will remove them from his pool and continues mining for the next block with the transactions from his pool that were not in the block of the fellow miner.

2
  • 1
    @Steven, Isn't it possible that in the near future we would have so much transactions that it takes over an hour merely to process the transactions?
    – Pacerier
    Commented May 23, 2014 at 14:24
  • 1
    Well, hopefully, when the amount of transaction grows, the processing performance of the mining servers will as well. But you are right that Bitcoin is not very much made to scale to very large transaction sizes. Ripple does a much better job at that. Commented May 24, 2014 at 21:11
2

Miners don't process transactions one at a time, they process blocks which contain many transactions. Currently each block can contain about 2000 transactions, if needed this figure might be increased.

13
  • 1
    How long does it take to process 2000 transactions?
    – Pacerier
    Commented May 23, 2014 at 14:19
  • 1
    @Pacerier: The main work required per transaction is verifying the ECDSA signatures. I don't know the exact number but verifying 2,000 transactions should take a few seconds on a decent computer. Commented May 23, 2014 at 14:53
  • 1
    Hmm, this means that verifying transactions could be a bottleneck when bitcoin is broadly adopted in the future right?
    – Pacerier
    Commented May 23, 2014 at 14:58
  • 1
    @Pacerier: It would be something to consider. But I'm not really worried about Bitcoin's scalability, as I explained in bitcoin.stackexchange.com/a/2800/575 (though that answer focused on data storage). Commented May 23, 2014 at 15:44
  • 1
    I consider that answer as irrelevant (despite its upvotes) because it focused on data storage which is a red herring. Scalability has much much more to do with "time" than "storage".
    – Pacerier
    Commented May 23, 2014 at 16:04

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.