There are a lot of obvious cheaters that you can catch by looking at move times.
If somebody is cheating so stealthily, why do I care? Their rating will reflect whatever cheating they stealthily do. Remember: If the cheater won every single game, they would be caught immediately, so if their rating is around mine, then whatever cheating they are doing roughly makes them a player of my skill level. It really makes no difference to me if the person I'm playing is actually weaker and cheating to simulate my skill level or actually my skill level.
And from their perspective, what is the point? If you are a 1500 player and can cheat to be an 1800 player, what are you gaining from that? Wouldn't you rather play other people that are your skill level? And if you are a beginner (<1000) that is trying to pretend to be a higher rated player, you just won't have enough understanding of chess to pull it off stealthily.
The cheating thing is just not a major issue for casual online chess.
Would it be possible for you to describe what it feels like to encounter an obvious cheater in chess? Is it simply who quickly they move, the strength of their moves, both, and/or something else?
Lower rated non-chess players, the kind that are most likely to cheat, can't just pretend to be higher rated people because they don't know what moves are suspicious and which ones aren't. And if you think they'll just cheat for the first few moves and then turn the computer off... it really just doesn't work as well. If they actually have no idea what they are doing they'll still lose, and it's super suspicious anyways based on move timing and computer analysis.
And to my original point, if I were an 1800 player and wanted to sneakily cheat to be a 2000 player, I probably could pull it off, because that is close enough to my skill level that I could pretend. Maybe by using an opening book to make sure I'm getting great positions out of the opening. Maybe by only turning the computer on during certain key positions. But again, if I did this consistently, I'd get a 2000 rating and now I'm going to be matched up against 2000 rated players, and from their perspective I'm just a 2000 player. And what have I gained? I now have to cheat to even be competitive in a casual chess game, whereas if I just had my true rating I could just play normally which would be easier and more fun. This is why sneaky cheating just isn't very common, because the only people capable of doing it really have no incentive to do it. The only people who think cheating would be fun are the people who are easiest to detect.
- taking a while to make an obvious move, especially in the endgame, where there might actually be only one move that makes any sense to make
- taking a very consistent amount of time between moves
- shuffling pieces around in a way that doesn't really accomplish anything but also doesn't cause anything bad
- playing normally, then a big pause and they go offline for a bit, then come back and start playing much better (connecting the client to an engine)
- [...] just to alert you to when your position is strong. Oh, so you are a player that never misses a win? Hmm...
- [...] avoid traps in early games. Now you are a very strange player that never blunders during openings but blunders normally later on. Suspicious.
- [...] just for the occasional move. How do you know what move is that? Are you implying you never make _big_ blunders (but make plenty of non-huge ones)? Also suspicious.
In general, there are many signals you can collect. If other users are complaining about a player then you analyze them, and if your signals say "suspicious" then... you caught a cheater. If nobody complains about a particular user you don't do anything because it just doesn't matter.
I would take longer to detect a cheater who is a bit more sly and only cheats on 5% of moves or less (the odds that someone would match a particular engine 99% of the time its pretty much zero), but over time, yeah, this would work.
I suppose another way to put its is that it's difficult to detect this sort of cheating from a single game, but not difficult to detect it in 100 games.
To cheat convincingly you have to boost all those facets at the same time, because otherwise you'll just give yourself out. For instance, nobody is extremely sharp at tactics but severely lacking (human-understandable) strategy.
Engines will help you in opening and tactics, but not too much in the positional/strategy game (they make good moves, but oftentimes it is just impossible for humans to understand them without very deep study, meaning they would never be casually played in an online game).
Another example, regarding cheating but only on the openings: even GM's make mistakes during openings. If you play openings at that strength level but then you often lose won endgames it is clear to anybody who knows the game that you are cheating (because opening theory is much wider than the standard endgame theory).
Finally, since you are not at the level you pretend to be whilst cheating, it gets very very complicated for you to know what you can or cannot get away with.
OT, but as someone who knows basically nothing about tennis, how does cheating work? Are there illegal ways to hit the ball or something?
This is a particularly big issue in competitive junior tennis, unfortunately.
The issue really is the group who are detected and banned - they just sign up with a new account, and then carry on crushing players until they're banned again. The average game quality in this situation is pretty poor - because the rating of a player is very far from their true skill.
Run a position analyzer only to alert you to the existence of a strong move that you haven't noticed. Don't use it to find the move, just to alert you to when your position is strong. For instance, you might see that your position score is +10, but not realize why - this would indicate it's a good time to put in more thought. You might be missing a subtle blunder.
Use lookup moves only for unusual positions to avoid traps in early games. Many eccentric openings are losing propositions against a skillful player who can sidestep the landmines, but are unfamiliar enough that an opponent either 1) falls into the trap, or 2) burns a lot of time avoiding the trap. A cheater could rely on a computer only so far as to avoid the traps, then play normally. Would that be detected?
Another cheater move would be to use a computer analyses only when things get sticky. Just for the occasional move. This is a cheating tactic in tennis, too. An unksilled cheater "hooks" constantly when it doesn't matter. A skilled cheater does it only on a critical point. You can call out a line judge, but with the advantage secured, the cheater can appear scrupulous for the remainder of the match (making the person who called the official out appear to be a high maintenance player). That said, over time in high level tournaments, officials often do see the pattern and a reputation eventually develops.
Another "advantage" of these cheating methods is that cheaters are usually not totally "drooling at the mouth evil laugh sinister people", I think people could use the methods above and lie to themselves that the weren't "really" cheating. Cheating, like most sin and trespass, often results from temptation and self-deception rather than a determinedly insidious mind.
I'm only a little bewildered that people cheat and do these things (or worse). I personally hate the idea that my actual real rating in an in-person game would tank compared to my online record, and I love the human aspect of the game. But it does seem relatively easy to sidestep an algorithm that simply checks for inaccuracies. My guess (hope) is that these algorithms are probably more sophisticated than that. Fraud detection is fascinating to me, but unfortunately this is one of those situations where the algorithm probably does have to be somewhat obscure.
EDIT: it just occurred to me that I have done all these things when I play against a computer - though chess.com builds this capacity into computer games (not human games, of course).