Firstly, correct me if I'm wrong.
When a miner finds a solution for the block and broadcasts it to the other node, all the other nodes verify if it is a correct solution or not.
It's very trivial to validate the PoW, just hash the block header and then count how many "leading zeros" that hash contains (note that such description is theoretical. ...
worker is analogous to the number of connections.
username is just a way of identifying specific miners in the list of connections and
to which account on the pool they belong to. They don't have any
impact on the work given.
If a solution is found by a miner, does the miner have the control to which nodes is it broadcasted?
Certainly, they can control the first level of peers they broadcast a solution to. However, they have no control over which peers will receive the block from the peers they have sent it to.
It is in a miner's best interests to broadcast it to as many nodes ...
I read somewhere that if mining pools find a solution, then peer miners in that pool don't verify the solution and straight away go for the mining of next block on top of it. This is kinda unfair for the other miners. Do we have any system to check if a miner has validated the solution or not?
The miner would submit the valid block to the pool operator, who ...