If the miner with the strongest ability to solve the block wins, why doesn't the same miner win every time? Wouldn't that miner still have the strongest ability to perform the proof of work on the next block and thus win every block?


Mining is not won by the miner with the "strongest ability to solve the block". Mining is a random progress-free process. Each block candidate independently has a tiny chance to be a valid block.

Each miner is working on a separate, non-overlapping block candidate set. Block candidates assign the block reward to their author with an output in the Coinbase transactions and therefore each miner has their own transaction set differing to that of other miners. As everyone is working on a separate set of work, and every piece of work has an tiny chance of winning (independently of what else was tried!), mining is a Poisson process, rather than a linear stack of work that needs to be powered through. Therefore, the miner with the most hashing power has the greatest chance to win the block, but only probabilistically so.

Think of mining as buying a lottery ticket for each block candidate hashed. Only a fraction of the tickets in the pot are winning tickets, but somebody might draw a winner on their second try, while another has bought fifty losing tickets already. However, when you buy more tickets more quickly, your chance of winning is higher.

For a better overview what mining is, you can have a look at "What exactly is mining?".

  • Thanks Murch. So the stronger hash power allows you to enter into the pot more often? Feb 24 '15 at 1:38
  • 5
    Each hash is a lottery ticket. Hashes per second (hashrate) are lottery tickets per second. If you do more hashes per second then you will find blocks more often.
    – Dr.Haribo
    Feb 24 '15 at 7:23

Every miner is working a on different block. While they share some of the same data, there are several parts of a block which are completely up to the miner to decide, and those differences make the blocks different. This also means that they have different hashes so every miner is searching a different part of the SHA256d search space.

Although each of the blocks every miner is working on will share the same height and parent block, they will have different transactions, and may have different block version numbers, and timestamps.

But the most obvious thing is going to be the transactions, which are hashed into the merkle root. Just one transaction being different, or just one transaction in a different position, is going to cause the merkle root to change, which causes the block header to change, which thus makes the hash different. And every miner is going to have at least their coinbase transaction be different from everyone else's. This is because the coinbase transaction contains the output that pays the miner, so obviously every miner is going to make their coinbase transaction pay themselves, not someone else. From this simple fact, the transactions in the blocks that miners are working on are going to be different in at least the coinbase.

So because miners are all working on different blocks, every nonce that they try is going to result in a block hash that no other miner has seen yet. Thus a small miner could be lucky enough that the block they are trying has a nonce that makes the hash meet the PoW requirement before a larger miner finds such a nonce for their block.

  • 1
    Great answer, do you mind if we merge that into the duplicate target that Pieter linked above? I think it would make a great complement to the answer that's there already.
    – Murch
    May 12 '21 at 21:45
  • @Murch I'm fine with merging.
    – Andrew Chow
    May 13 '21 at 3:39
  • Okay, it was merged!
    – Murch
    May 13 '21 at 15:58
  • Does this mean that whenever a miner meets the PoW requirement and therefore his/her block is added to the blockchain, all the other miners have to throw away the work on their currently mined blocks because the parent block to append the next block to changed, therefore the hash of the next block will change? I hope this makes sense.
    – pkout
    Nov 16 '21 at 22:27
  • @pkout Yes, but they aren't really throwing away work. Mining is a progressless process, so all previous work done has no bearing on whether the miner would have found the block if someone else hadn't.
    – Andrew Chow
    Nov 17 '21 at 0:07

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.