The captcha is basically a question to add two 2-digit numbers, e.g. 23+45. The question is returned as an SVG picture.
The hypothesis is that the need to engage brain even for 3 seconds is enough to stop 99% of the spammers, so the quality of comments should shoot through the roof.
The way it works is each comment has a sha1 hash and from that hash we can derive the 2 numbers. No state needed.
Have you tested that hypothesis? In my experience, the real annoyance comes from people that are very persistent and aren't easily deterred by requiring a small effort. Captchas slow them down (by the time they need to solve the captcha), but they'll also slow down everyone else.
Adding effort so you have to really want to comment may be a good idea to reduce the amount of comment, but it might also deprive you of valuable comments because people don't care that much about sharing some information that they'll jump through hoops to do it.
That's what I'm trying to test. Last time I've got 800 mostly meaningless comments.
The idea is to stop numerous zergs: you can't ban them one by one, but a little bump on their way can do the job.
To avoid annoying more serious commenters, the captcha should be as simple as it can be. So asking to add 321+625 would be too much, while a question like 2+4 doesn't need any thinking, so I chose two-digit numbers.
This is a small social experiment. I don't know how it'll go.
supercop.js:24 Uncaught (in promise) TypeError: Cannot read property 'apply' of undefined
at a._malloc (supercop.js:24)
at h (supercop.js:28)
at Object.createKeyPair (index.js:50)
at getUserKeys (user.js:65)
at async Object.getPublicKey (user.js:137)
at async refresh (index.js:16)
The hypothesis is that the need to engage brain even for 3 seconds is enough to stop 99% of the spammers, so the quality of comments should shoot through the roof.
The way it works is each comment has a sha1 hash and from that hash we can derive the 2 numbers. No state needed.
Sources of the service: https://github.com/comntr/captcha