<p>There is an unlimited number of possible candidate blocks since changing any one detail, either the order in which it is presented within the block or, by one bit difference will make a separate candidate block because the random guess and the hash for that block will be completely different. In practice there is usually only one candidate block in existence at a time, sometimes two. Another name for candidate block is potential tip.</p>

<p>Some people refer to the block that a miner is trying to mine as the candidate block, in which case every miner has their own individual candidate block that they work on until it is either a) mined or, b) replaced because a new tip is received.</p>

CC BY-SA 3.0
2018-01-27T00:24:17.443Z
Thanks for that informative answer! I figured out a bit more about the question (homework problem) and I wish to share the details with you:
So we know that the header for a potential tip requires the version, the hash of the prior block, and the target. The question asks us to keep these constant. Next, we also need the Merkle root of transactions, the timestamp, and the nonce value. Since the question says per second, the timestamp can be left constant. If there are n txn we can have n! Merkle roots. But how many nonces can we have. I think that's what the question is asking.
DeltaBourne
CC BY-SA 3.0
2018-01-27T00:30:19.120Z
I just found out that a nonce is only 4 bytes (2^32 values) long. So there is a way to run out of them. So I think the total values = n! * 2^32. But the question is, how many of them are valid, given that the target is fixed?
DeltaBourne
CC BY-SA 3.0
2018-01-27T00:53:45.207Z
From here: https://en.bitcoin.it/wiki/Block_hashing_algorithm 'Whenever Nonce overflows (which it does frequently), the extraNonce portion of the generation transaction is incremented, which changes the Merkle root.'
Willtech
CC BY-SA 3.0
2018-01-27T00:59:30.903Z
@DeltaBourne Reading your comment, it seems that the actual answer is, it depends on the number of hashes computed per second. I presume however that you are supposed to come up with a numeric value meaning what is the technical limit. The answer should be the technical limit of sha256(sha256(x)). The interesting question is, does hashing a hash reduce its resolution? If the answer is supposed to be limited to the number of possible blocks meeting consensus rules per second, then it depends on the current difficulty and the number of hashes computed per second.
Willtech
CC BY-SA 3.0
2018-01-26T23:54:14.713Z
2018-01-26T23:59:34.673Z
2018-01-26T23:59:34.673Z
Willtech
<p>Given a set of transactions, and other parameters required to create a block, how many candidate blocks are possible per second? How many of them are valid?</p>

<block>
Calculating number of candidate blocks
DeltaBourne
# Calculating number of candidate blocks

(Asked by: username_0 on 2018-01-26)

Given a set of transactions, and other parameters required to create a block, how many candidate blocks are possible per second? How many of them are valid?

**Tags:** block


---

## 1 answers

### Answer by username_1 on 2018-01-26. Score: 1 | Accepted answer

There is an unlimited number of possible candidate blocks since changing any one detail, either the order in which it is presented within the block or, by one bit difference will make a separate candidate block because the random guess and the hash for that block will be completely different. In practice there is usually only one candidate block in existence at a time, sometimes two. Another name for candidate block is potential tip.

Some people refer to the block that a miner is trying to mine as the candidate block, in which case every miner has their own individual candidate block that they work on until it is either a) mined or, b) replaced because a new tip is received.

> **Comments:**
> **username_0**: Thanks for that informative answer! I figured out a bit more about the question (homework problem) and I wish to share the details with you: So we know that the header for a potential tip requires the version, the hash of the prior block, and the target. The question asks us to keep these constant. Next, we also need the Merkle root of transactions, the timestamp, and the nonce value. Since the question says per second, the timestamp can be left constant. If there are n txn we can have n! Merkle roots. But how many nonces can we have. I think that's what the question is asking.  
> **username_0**: I just found out that a nonce is only 4 bytes (2^32 values) long. So there is a way to run out of them. So I think the total values = n! * 2^32. But the question is, how many of them are valid, given that the target is fixed?  
> **username_1**: From here: https://en.bitcoin.it/wiki/Block_hashing_algorithm 'Whenever Nonce overflows (which it does frequently), the extraNonce portion of the generation transaction is incremented, which changes the Merkle root.'  
> **username_1**: @username_0 Reading your comment, it seems that the actual answer is, it depends on the number of hashes computed per second. I presume however that you are supposed to come up with a numeric value meaning what is the technical limit. The answer should be the technical limit of sha256(sha256(x)). The interesting question is, does hashing a hash reduce its resolution? If the answer is supposed to be limited to the number of possible blocks meeting consensus rules per second, then it depends on the current difficulty and the number of hashes computed per second.  

---

