I never understood why this isn't the case already for competitive games. I'm not a game dev so I don't know if there are hidden complexities but for e.g. a game like CS:GO with a small number of moving parts, couldn't the server only send positions to a player if they are liable to be able to see the other person, in a manner similar to occlusion culling and spatial partitioning? That would at the very least prevent wallhacks beyond a short distance, and some level of validation on inputs would prevent speedhacks, spinbots etc. I'm guessing the limitation is on the amount of work the server would have to do?