Skip to content

The problem with CAPTCHAs, and an idea for a solution.

One growing annoyance on the web is the use of CAPTCHAs. Yes, that is the weird acronym we use for those questions you get when websites want to make sure you are not a spambot. When you have to enter a text that is displayed in a horribly distorted way.Mind you, CAPTCHAs are a necessary evil. The number of spambots is growing, and especially now that various governmental and non-governmental actors are recognising the power of social media to influence the political mood, they are becoming more nefarious than the spambots hawking erection pills, mail order brides and dodgy mortgages of yore.

That said, there are a bunch of problems with CAPTCHAs from a user perspective. They are:

  • More and more difficult to solve because the spambots are employing image recognition and other means to defeat them;
  • A pain if you are visually impaired, even a mild colour-blindness may make it impossible to solve them;
  • Often language-dependent, which is a growing problem when more people come online for whom English is not even a second language;
  • Relatively bandwith intensive, which is again not helpful for people on poor connections in the developing world;
  • Leaking web usage to third parties, but unlike ads, blocking them won’t help;
  • Increasingly in the hands of centralised parties like Google that use them to improve their proprietary visual recognition algorithms, with web users as free labour.

Most of these issues stem from the underlying assumption of CAPTCHAs that humans are much better at processing visual data than computers and that is a good way to differentiate between the two. That certainly used to be the case, but improvements in machine vision have closed the gap sufficiently that an effective CAPTCHA can no longer be a user-friendly CAPTCHA.

So what underlying assumption should CAPTCHAs rely on? The one I would propose is that computers generally do not have an implied model of reality that is readibly accessible. Simple notions like “water (usually) is wet”, “traveling up a slope takes more effort than on a flat, down a slope less” and “birds are animals that have two legs and two wings”. Or what is known as ontology. CAPTCHAs based on this notion could provide users with yes/no questions like:

  • Snow is mauve
  • Wood burns
  • Ducks chirp

This solves a bunch of the above mentioned problems, since few humans will answer any of these wrongly. Since this is text only information, it is much less bandwidth-intensive. It is also much easier to generate in a decentralised way (although like so many digital things, it probably still is more efficient to do so). It is possible to randomly generate statements whose validity is unknown, but if they are paired with statements with a known validity you can create statistics for the likelihood of them being valid or not valid. All with relatively low storage and processing requirements. Moreover, a properly designed ontological database can generate statements in any language.

And the best part comes last: we can create an open source ontological database covering ” common sense” knowledge through crowdsourcing that knowledge. Because the biggest ontological databases that exist are the fruit of years of paid labour and therefore (understandably) proprietary.