Chess CAPTCHA
en.lichess.org
en.lichess.org
I would change
Black plays; checkmate in one!
This is a chess CAPTCHA.
Click on the board to make your move,
and prove you are human.
to This is a chess CAPTCHA...
To prove that you are human,
click on a black piece, then
click on the only destination
square that will checkmate.
I really don't mean to nitpick, but took me a minute to figure out what to do. Sometimes the thing that makes the biggest difference for us programmers is not our communication with our compiler but our communication with our users.Great job. Thanks to you, I just announced I won't be ready for brunch for another half hour. <Refresh> Sigh.
It is interesting because you can't really A/B test the response time with the different text, since the response time includes the human processing time of the chess problem.
In any case, they are typically long tailed and weird looking. Not normal, at least in my experience of working with them
Even though I am only a ~1200 ELO player, I play almost daily and enjoy your platform a lot :)
The way it was originally laid out, it's clear that you are looking for checkmate in one, while in your copy it seems acceptable to click any black piece.
What can be more clear than this?
If anything, I'd prefer to have the king I'm supposed to checkmate standing on a red field to make it easier to spot.
My point is that, while the one-liner captures the idea of the captcha, the summary doesn't explain how to actually execute.
Starting with "Hey, let's solve a CAPTCHA because I'm not sure if you are a human" and burying information which side the user is supposed to play somewhere in the middle of the text would make it a major PITA.
A CAPTCHA appears before you,
in form of a chessboard to prove,
that you're a real user,
and not a computer,
by checkmating WHITE in one move."Are there any blind chess masters in the world? Have there been any throughout history? Yes. Al Sandrin, who died a few years ago, was an USBCA member who was a master." [2]
In the biannual international chess 'olympiads' (team competition between countries) a multi country blind players team competes. Some other disabilities are also represented in the same way.
Black plays; checkmate in one!
This is the most obvious form for chess players; universally used throughout many chess quiz books.Of course if it's really "CHESS player CAPTCHA" then I could be way off...
Instead, their terse instructions, written in a familiar and easily-parsable format are ideal. Placing a "What is this?" link afterward that opens[1] to more detailed instructions is how you should approach this.
[1] Through whatever mechanism is most appropriate for your audience. I'd suggest a tooltip by default.
1) The two most important pieces of information (player color and goal) became separated from each other;
2) The third piece of information (number of moves) went missing;
3) The player's color became hidden in the middle of the paragraph instead of the first word;
4) The player's goal disappeared to the end of the paragraph, instead of in the first sentence after player color;
5) The original has a clear and unambiguous goal for both new and regular users, while the alternative became very verbose, especially for returning users.
6) Usability is about the target audience, and the target audience is chess players, not software developers.
7) In contrast to how the founders want to position the brand, a very watered down, a newbie-friendly CAPTCHA could alienate experts from the site, and an expert-friendly CAPTCHA could alienate beginners.
To the OP: Since you have an established chess community, you should be asking them if they have a strong opinion rather than blindly taking advice from Hacker News :)
You have what, 11 pieces, they can move into 64 positions each (at most, much less in reality). That means a computer must brute force 64*11 = 704 attempts.
In other words, no time at all to bruteforce this once you've read the grid. Reading the grid in itself is rather trivial since you only have a small number of clearly distinguishable pieces to recognise.
So after an afternoon of coding, I could have a computer that solves this CAPTCHA in a few seconds. As a human I need more than 30 seconds just to read the current situation on the board.
You raise a good point about making captchas that target your target audience in that they aren't really designed to keep out bots, but humans who wouldn't fit in. This looks very much like that sort of captcha.
I've seen forums get flooded for no other apparent rationale than some random skiddie had nothing better to do for an hour or two than irritate the admins. It being not worth anyone's time to break isn't actually a feature, but it being relatively easy for anyone with time to waste on it is a flaw.
http://en.lichess.org/captcha/78pkfjgz?solution=e5+e4 which returns 1 or 0.
So the brute force captcha solution is to go through 8^4 (~4k) get requests, which you could code in five minutes and execute in a minute.
Chess is even a particularly ironic implementation because it was one of the first traditionally human passtimes where computers excelled.
A site can have a CAPTCHA that's so bad it's not actually a CAPTCHA even if no one bothers to attack it. My hidden forum could require a user to sum one thousand integers before seeing any posts. I probably wouldn't attract any spammers (because no one would join to read their spam), but that doesn't mean the so-called CAPTCHA is beyond reproach.
There are easier to implement unique captchas, than chess.
Another way to look at it is like the entire collection of CAPTCHAs on the Internet is really just one big CAPTCHA library, which tests a subset of "human" abilities. The larger the subset, the more difficult it will be to circumvent. Relying on one or two special abilities makes it easier for a machine to emulate those behaviors and gain access. I hope that clarifies the point I was making.
Custom captchas are probably a great use of this.
data-fen="7r/3k1ppp/3bpn2/1p3P2/1PbP4/2r2P2/P2K1Q1P/q5NR">
Any chess engine could load this and solve these problems in milliseconds. Which is far easier than most captchas that require moderately sophisticated image processing.(1) http://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notatio...
It’d also be pretty easy to alter the HTML board to a prerendered image with imagemap click detection. At which point someones writing custom image feature detection software to break your captchas.
Of course, this mainly works because of the obscurity, even with the upgrades. And since someone’s already going to have to write custom software to break this I’m not sure it’s worth it to upgrade - as I doubt it’s worth anyone’s time to do write the minimal software that needed now.
http://en.lichess.org/captcha/0nbdeigw?solution=a1+a2 returns either 1 or 0.
The total complexity of this to brute force is 768 possible moves.
Most of us here could write a bot to spam their site with less than 30 minutes of time and effort.
Cracking this captcha won't give you access to any significant audience.
If every forum had a completely different captcha system, forum spam would pretty much die out.
The problem is to design a CAPTCHA that implements just enough headache to make it worthwhile not to overcome and at the same time not frustrating users. I think this chess problem uniquely and elegantly solves the problem for the site in question by achieving both.
Then again, I am not familiar with the users, maybe the site is often trolled by chess mastah wanna-bes.
http://www.codinghorror.com/blog/2008/03/captcha-is-dead-lon...
For the humans, just give another board (and add a time delay)
But, basically you're right. If the bot is not using an external chess engine, it could effectively be blocked from brute force attacks the way you describe.
Just implement your own check-mate check if going the brute-force route.
Yes, there could be a concern over a spammer automating the process but that might be more hassle than it's worth just to spam an small chess forum.
Also I think you overestimate the amount of coding required to brute force this particular CAPTCHA.
I will agree that coding a brute force method would work well, though.
(I enjoy this mini chess, it's like a low tech version of Bejeweled. I don't have the patience for full fledged chess games, but just finding the last move is fun.)
I learned to play chess when I was a kid, but never had anyone to play with. The internet wasn't any help, either, because when you're a kid it's just not that much fun to constantly have your ass handed to you in a game. I gravitated to other games as a result. And now this thing just gives me that same sense of dread, of "I have no idea what the hell I'm doing", even though I know all of the rules of the game, because I'm so not involved in the culture of the game at all.
Congrats, you've alienated several classes of users.
In this case, the captcha took way too long because the pieces were hard to distinguish and the captcha text was unclear. I think that captchas should be something you can do near instantaneously. However, I really like the concept and the trying of a new approach.
I've had success implementing what I feel to be very simple captchas: solve simple arithmetic problems. I'm sure a parser could be created simply enough that would solve them, but I have had zero forum spam in a couple of small forums that use it.
"It was my luck (perhaps my bad luck) to be the world chess champion during the critical years in which computers challenged, then surpassed, human chess players"
From Garry Karparov: http://www.nybooks.com/articles/archives/2010/feb/11/the-che...
And writing a bot to defeat them would take more time than posting your viagra ads manually in all four sections of this forum.
It's a topical captcha that the target audience of the site will recognize and most likely enjoy.
It's significantly different from any other captcha so that automated untargeted bots will not be able to beat it
It has a high enough entropy that untargeted bots that repeatedly attempt to guess the answer will fail
People without a chess background most likely have to think about the answer in a way that makes buying human workers a less attractive option (maybe)
Anyway, the same effect could be obtained by writing a "captcha" that simply asks: "Click on the queen", a fixed chess board picture. They are assuming no one targets them, so it's not so important how hard it is. (until someone targets them)
Also, as someone else mentioned, it might keep beginners out, which could be what they want? Seems like a bad idea, but it's not my board so...
Most of these captchas are very easy. If the targeted king was easier to spot (e.g. marked red) I'm sure I would solve them faster than the omnipresent reCaptchas (even knowing that I only need to type the less legible word).
And as somebody else pointed out, maybe they don't want new topics asking what are the possible moves of a queen.
The idea behind it is very interesting, but it obviously can't be used as a mainstream way of human detection. I think what matters here is the really well-made implementation with HTML5.
Great job!
Guess it isn't hard to learn the rules before posting on a chess forum.
However, it may be said that no one would put the effort to make captcha solvers for everything... unless captcha crackers pooled together.
That makes for an interesting question. Since to solve CAPTCHAs you have to build progressively stronger UIs, can it be said that if there sprung up a "CAPTCHA plugin industry", with people using captchas of everyday things, then the combined solver would eventually be some really versatile AI?
I remember recommending that people just send in pictures of street signs etc. as this would be much better than the best CAPTCHAS right now
are there any ideas, how to deal with this problem? like a audio file, where all positions are being told? or anything like that? right now i would not have an idea how to solve this in a good way.
me as a web-developer often thinks about the common problem, we we need these captchas, and would be a good alternative to them. until now i had no idea )= hopefully someday someone has a idea to replace captchas with an easier protection for all people.
the sad part is, that we need stuff like captchas since years... stupid spam!!
In order to contribute to the ways in which this can be 'broken', I present you with a brute force, not on the server, but on the chess game itself:
http://bookmarkify.it/114 (this is a bookmarklet, but you can also just copy-paste the code from the editor (scroll down) and paste it in your console).
But if you do go for obscurity, you're going to lose once your technique becomes widespread, or once your site becomes big enough to be worth targeting.
Jeff Atwood had probably a lot more traffic on his blog and still his whole protection was a fixed word "orange". The chess guys are still way ahead in terms of captcha hardness vs spammer benefit ratio.
I'm now going over all of the forums I know trying to come up with an algorithmic forum-themed captcha. Say, "what's wrong with this recipe?" for a cooking forum :)
The game-as-captcha idea is good tho, IMO.
I was in a forum talking about this with fellow game devs a while back. Something like a mini platformer that required you to run and jump your character to a flag, for example, might be interesting, or solve a block-fit-style puzzle, or rotate pieces to solve a puzzle, and so on.
Nice idea though.
If that had been on the pizza delivery site then someone else would have got my order.
I mean, they've been kicking our ass in Chess since Deep Blue.
"I[t] tells how fast your computer talks with lichess server. It measures the time a message needs to make the round trip from your browser to lichess, then from lichess to your browser.
I'm interrested in knowing what your ping is, depending on the country/city where you live.
I live in Le Mans, France, and my ping is around 30-40ms.
What about you?"
{source} http://nn.lichess.org/forum/lichess-feedback/whats-your-ping
I did not know the answer, but that is the answer given by the creator and it leaves a lot to be desired. His answer appears to indicate that he just did it for shits and giggles.
edit: I wanted to comment on the parent comment. Sorry.
Consider offering a choice of a few different puzzles for those who don't play chess?
Indeed, nowhere does it say it is a general CAPTHCA solution.
Now the concept is interesting: one could probably do the same in 3D (with random camera angles -- up to a limit) and then it would prove more problematic for AI because one would then need to be able to correctly pieces in 3D and their position on the board.