Say I have an auction contract, highest bid wins after a certain time (# of blocks). Participants put in their bids.
Say 100 participants simultaneously puts in their bids (unlikely but let's assume), and their bids are 1-100, so perfectly spaced by 1.
So we have tons of miners constantly trying to pack blocks. Some may take 1 of these calls, some take 40, some none, etc. They all pack their blocks, then 1 miner wins and rest are uncles.
Those who packed different subsets of the auction contract calls will come out with different results - i.e., if the highest bid I had in my block is 50 then that guy wins the auction, if the highest is 51 then he wins, etc. So you get a ton of miners coming out with different, conflicting results.
So the participant who actually ends up winning the bid is very unlikely to be the the actual highest bidder.
Is this what actually happens? Or are there ways ETH has to mitigate this type of conflict? Thanks!