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.

Nick ODell
  • 29,396
  • 11
  • 72
  • 130
Enthusiast
  • 443
  • 1
  • 9
  • 16

2 Answers2

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.

Steven Roose
  • 11,841
  • 8
  • 45
  • 73
  • 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.

Meni Rosenfeld
  • 19,700
  • 37
  • 70
  • 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 http://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
  • 1
    @Pacerier: That's silly. Take every mention of "storage" and replace it with "ECDSA verification", the points will still be relevant (except for #2). – Meni Rosenfeld May 25 '14 at 08:51
  • 1
    The answer as it is now made no mention of "ECDSA verification" but only talks about storage. – Pacerier May 25 '14 at 15:44
  • 1
    @Pacerier: Why do I have to repeat myself? Replace "storage" with "ECDSA verification" and you're done. "The answer as it is now" is not what matters, what matters are the arguments within. The arguments apply equally well to ECDSA verification (1. Full nodes will have better hardware than consumer PCs. 3. Off-chain payments. 4. The amortized total cost per tx is low. 5. Hardware will improve with Moore's law.) I could have repeated the arguments here, but why should I when they're all already written? – Meni Rosenfeld May 29 '14 at 11:26
  • 1
    You are missing the point. The question in that thread is "Are there any studies into the size of the blockchain scaling over time?". Your answer in that thread as it is made no mention of "ECDSA verification" but only talks about storage. Perhaps you expect the reader to mind-replace "storage" with "ECDSA verification" while reading your answer. That's fine, except, your answer in that thread as it is made no mention of "ECDSA verification" but only talks about storage. – Pacerier May 29 '14 at 15:05
  • 1
    @Pacerier: Which reader? The linked question was about storage, so my answer to that question was about storage. In the discussion here with you, I said there are multiple factors that will prevent the cost of ECDSA verification from becoming unbearable, and that these are the same factors as those mentioned in the linked answer, so I linked it instead of repeating the arguments. The only person I asked to make the leap from "storage" to "ECDSA verification" is you, and you repeatedly refused to do so. I have no idea what it is that we are arguing about, so it's probably best if we stop here. – Meni Rosenfeld May 29 '14 at 20:56
  • 1
    @Pacerier: Perhaps the point you're missing is that the linked question was, in fact, about storage? If you read the question you'll notice this point. – Meni Rosenfeld May 29 '14 at 20:57
  • 1
    I see we have talked past each other. I am in fact referring to the linked post, not this one. "readers" of course would mean the readers of the thread http://bitcoin.stackexchange.com/q/2798/1475 . Do read the question again carefully. It is clear that it is asking about the scalability of the size of the blockchain, misassuming that storage is the only factor. But data storage is a red herring as the scalability of the size of the blockchain has much much more to do with "time" than "storage". – Pacerier May 30 '14 at 02:31
  • 1
    @Pacerier: Maybe. I think that question was specific enough to warrant an answer to the question itself (which did make multiple references to storage), rather than speculating about different potential challenges for scalability. – Meni Rosenfeld May 30 '14 at 08:42