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.

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.

  • 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 May 23 '14 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. – Steven Roose May 24 '14 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.

  • 1
    How long does it take to process 2000 transactions? – Pacerier May 23 '14 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. – Meni Rosenfeld May 23 '14 at 14:53
  • 1
    Hmm, this means that verifying transactions could be a bottleneck when bitcoin is broadly adopted in the future right? – Pacerier May 23 '14 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). – Meni Rosenfeld May 23 '14 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 May 23 '14 at 16:04

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.