I get how the blockchain network can reject stale blocks by waiting for 6 new block confirmations.
However, if the two blocks successfully mined at the same time by two different miners but contain the same transaction data and previous hash, why not accept the block with the lowest hash value? Does it really take more time to spread both blocks to all nodes before a new block gets created?
Stale blocks are not rejected after 6 new blocks, but rather as soon as one of the chains gets longer. I think you are confusing the 6 block confirmation rule with stale blocks. 6 block confirmation is considered safe as it is very unlikely for 2 miners to mine a new block at the same time 6 times in a row.
Miners don’t necessarily have to have the same transactions in their blocks. The bitcoin network does not care which hash is lower, both blocks are valid within the current difficulty.
Yes. It takes time for the network to fully synchronize due to the propagation that needs to occur. When you find a new block you can’t just send it to everyone all at one. It has to hop from one peer to another, until all other peers get the newest block. In the mean time another block can be mined and we then have a collision of truth.
Thank you Mauro for answering my question and also for clearing some of the misconceptions!