Miners generate hashes of block headers, until they find one that is below a certain target value. The target value is adjusted every 2016 blocks to maintain a 10minute block interval.
The header to be hashed is constructed by the miner. The header has all included tx’s committed to the merkle root field. These are selected from the current mempool or pool of valid unconfirmed tx’s.
A block is valid if the hash is below the target and the header and included transactions in the block are valid at the given height according to consensus rules.
Once a header is mined with valid POW, by iterating the header nonce field and other block bits (e.g. coinbase input data) and performing the hash anew each time, it is broadcast to the network for other peers to validate.
Based Blockchain Network