I'm giving a presentation on bitcoins tomorrow and I gave a dry run this morning and I got stuck on one particular question. I have read the Wikipedia entry, I have read the
https://en.bitcoin.it/wiki/Mining entry and I don't see exactly the issue that I'm asking.
If new transactions are arriving all the time, and the longest block is one that is accepted, then it seems like there's an endless treadmill of new transactions arriving while the hash is being calculated - what cuts off how many transactions are in a block? It seems like you could have so many transactions arriving that no one can ever calculate a hash?
Like I read this entry from this article
http://codinginmysleep.com/bitcoin-mining-in-plain-english/So the basic concept of Bitcoin mining is that there’s a little chunk of each block that contains meaningless random data, and Bitcoin miners take all the data in the current block, shuffle up that random chunk and calculate the hash of the whole thing. Remember that while hashes are easy to reproduce, they’re impossible to predict and they seem to function completely randomly, so the miner has no way of predicting what chunk of random data will produce what hash, he just has to keep changing that chunk until he gets the result he’s looking for. Eventually, some miner somewhere finds a chunk of random data that produces a hash that is smaller than a certain value, as determined by the difficulty, and submits this block and its accompanying hash to the Bitcoin network. Once the network confirms the solution is correct, the miner is rewarded with a number of Bitcoins.
What prevents an endless flood of transactions from preventing the calculation of a block?
Thanks in advance for your patience in answering a somewhat-technical but still very basic newbie question.