When a node discovers a new block, it will send an (unsolicited) inv
(inventory message) to announce the new block to its peers. The peers should then respond by sending a getdata
message requesting either the header, or the complete block.
The Developer Reference describes the exchanged messages in more detail.
The nodes will then check the header, and each included transaction for adherence to the consensus rules. Most likely they will immediately start mining new empty blocks on basis of the header (as they don't know which transactions are still unconfirmed), then switch to mining a non-empty block once the received block was validated.
Each block includes a transaction that sends the mining reward to its miner. Other nodes cannot change this transaction as the block wouldn't be valid anymore. See What is the coinbase?
When two blocks 1A
and 1B
are found at the same time, each chain-tip will be considered valid by a portion of the network. Once a new block 2
is found, it can only extend one of the two chain-tips (here 1A→2A
), thus distinguishing one of the two chain-tips as part of the chain with the most work. As nodes hear about this new block 2A
, they will discard their stale chain-tip 1B
and reorganize to "longest chain" 1A→2A
.
As it is unlikely that any chain building on 1B
will ever be able to overtake the 1A→2A
chain, miners would be wasting their power to continue to work on the obsoleted chain. Thus, the network is strongly incentivized to converge on the one chain with the most work.