Talk:Block
Each block contains all recent transactions, a nonce (random number), and the hash of the previous block.
The nonce is a seed that starts at zero and is incremented until the block hashes below the target. Hence, it should not be called "random".
What if I'm 1% towards calculating a block and...?
"There's no such thing as being 1% towards solving a block. You don't make progress towards solving it."
Is this true? I don't know if there's a nonce which will solve any given block, but for a block that is solvable, it's possible to be 1% of the way towards finding it. Supposing it takes 10 million attempts to 'solve' a block, then after 100,000 attempts you could say you were 1% towards solving it. You're certainly closer to solving it than you were before those 100,000 failed attempts, aren't you? Dooglus 05:05, 15 January 2011 (GMT)
- No one can know how many tries it will take to solve the block. After the fact you might say that at some point you had finished 1% of the necessary calculation for that block, but this was not really "progress".
- If you go back in time after completing a block and don't generate for one of the days that you did originally, then you could actually end up getting the block sooner, as the work required is random. theymos 11:06, 15 January 2011 (GMT)
Probabilistically speaking, one can make a "best guess" for how long it will take to solve a block. A problem with probabilistic estimation, for example, is that it may say it will take 10 hours to solve the block, with a standard deviation of 15 hours. How much more work do you have when you've worked on it for 10 hours? The answer is that you have ~10 hours more work :).
But assuming all incorrect hashes are exhausted first, the maximal number of tries needed to solve the block is ~2256. So, there exists an upper limit (albeit, it is an obscenely large one!) on the amount of work you can do. Progress is made, just very slowly. --Dlo 20:28, 11 April 2011 (GMT)
- That's not the maximum. You can't predict the hash outcome, so you could try forever and still get values above the target. You'd get repeat hash values from the same input. theymos 03:47, 18 April 2011 (GMT)
- I can predict the hash outcome by calculating SHA-256 with my mighty x86 processor. :) IMO "predicting" is irrelevant here. Dlo is assuming that the hash function is injective, therefore the number of incomes (giving outcome above the target) <= 2^256. But the hash function is not injective (by the cardinality argument: the set of incomes is infinite and the set of outcomes is finite). --Shrewdwatson 13:49, 23 April 2011 (GMT)