The Bitcoin Cash mining process seeks to alter a proposed block until its hash, when interpreted an a number, is below a calculated target.
The block header is modified in two ways to achieve a new hash.
Primarily, the nonce
field is modified and can take any of its 232 possible values.
Then, as needed, the merkle root is changed by modifying the coinbase message to include an extra nonce.
In addition, the block timestamp is also updated occasionally to ensure that it remains reasonably current.
As the two nonces are rapidly and systematically changed, and the resulting block hash rapidly changes to seemingly random values each time, there is an increasing likelihood that one of the hashes will be below the specified target.
Once such a hash is found, the block is then broadcast to the network in hopes that no one else found a suitable block in the passing time.
Due to the various incentives for mining blocks, miners have employed a variety of techniques to maximize their profits.