I've been wondering about this for a while. It might even be impossible due to hash value of block being SHA256 value of SHA256 value of the block data, as far as I know (or is this only for Bitcoin addresses?) and there simply might not be a SHA256 value that produces 0 when it's hashed again, unless SHA256 outputs are very well distributed, which they might be in this case.

I have seen on some blockchain explorers that for the genesis block the previous reference block is 0. I thought that perhaps this would mean that Bitcoin blockchain might loop unexpectedly, but I figured out that coinbase transaction has 50BTC as an output, which would I guess make it invalid now that the block reward is bellow that.

Would there be any special problems with this? Obviously if the difficulty gets too high, block hashes will start overlapping which could create these loops, right? But I do understand that it is very likely that difficulty would have to grow quite unreasonably high for this, which it never might.

  • Words like "could" and "might" are misleading here. If you try to determine the probabilities of this actually happening, you will understand why software is designed with the assumption that it never will. – Nate Eldredge Feb 7 '18 at 18:17
  • Welcome to Bitcoin.SE! An interesting topic to consider. I have not looked at the genesis block, however, usually, a block hash is many characters long making a new block having a hash of a simple one 0 an impossibility. I sure hope that the code does not think of block hashes as a numeric representation! – Willtech Feb 8 '18 at 11:38

The probability of a block hash being all zeros is the same of all being ones, and the same of odd digits being ones and even digits being zeros, and the same of being every other number.

So the problem created by a future block having the same hash as the genesis block or the block the genesis block points to as its previous block is the same problem of any future block having the same hash as any existing block today. It would not be a special problem.

It's currently believed this have a very low probability to happen, as there are not known SHA256 weakness.

In the practice, however, if something so unlikely happens, maybe some software like wallets or block explorers use the 'zero' value to identify the genesis block and present some bug or erratic behavior. Maybe some miner even mines another block on top of it, and then it broadcasts the new block to the network, where it may be rejected as a sibling of the genesis block, being regarded as part of orphaned chain.

| improve this answer | |

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.