I've always wondered how each ASIC guesses the solution to a block. Like if I had 2 ASICs, 1 very powerful and 1 very weak, do they both start at the same hash and continue incrementing up until a solution is found? If that were the case, the weaker ASIC would never find the solution, so surely that isn't how it works.
So if both of the ASICs are making different random guesses, what controls the guesses? In other words, how is each ASIC choosing what to input in the hashing function to see if it hashes into the correct solution to the block?
I don't even know if I'm explaining myself clearly for anyone to even understand me lol I'm sure I'm saying something wrong...but if anyone is able to make sense out of that question, and are able to answer, I would be most grateful!