编程|说出来你可能不信:每次你输入验证码,都是在给别人做义务劳工

编程|说出来你可能不信:每次你输入验证码,都是在给别人做义务劳工

文章图片

编程|说出来你可能不信:每次你输入验证码,都是在给别人做义务劳工

文章图片

编程|说出来你可能不信:每次你输入验证码,都是在给别人做义务劳工

文章图片

编程|说出来你可能不信:每次你输入验证码,都是在给别人做义务劳工

文章图片

编程|说出来你可能不信:每次你输入验证码,都是在给别人做义务劳工

文章图片

编程|说出来你可能不信:每次你输入验证码,都是在给别人做义务劳工

文章图片



只要上过网的人 , 对验证码那是熟的不能再熟了 。

这样算比较人性化的 。


这样的 。


这样的 。

这样 , 我没见过的 。

【编程|说出来你可能不信:每次你输入验证码,都是在给别人做义务劳工】当你眯着眼睛费力分辨验证码图片中的“8”和“B”或者“O”和“0”时 , 你有没有想过 , 这万恶的验证码 , 存在的意义是什么?
01
验证码的起源
2000年初 , 雅虎(2000年代初期的Google)的首席研究员兼天才星探来到了Luis Von Ahn(路易斯.冯.安)所在的学校 , 然后进行了一场名为“我们不知道如何解决的10个最大问题”的演讲 。

其中一个问题就是:垃圾邮件实在太多了 , 不知如何处理 。

有一伙人 , 特意制作了一种程序 , 可以全天无休止的批量注册新账号 , 并用这些账号来做些不可描述的事情 。
在公开版面上 , 刷评机器人可以用大量垃圾评论和广告淹没真人用户留下的有价值的信息;
在金融交易平台 , 脚本程序可以靠不停试验来暴力破解密码;
在票务网站 , 就算你有三头六臂抢不过自动刷票的软件;
网站被人一次性注册几百万个垃圾帐号 , 然后产生各种垃圾信息 , 还可以操纵投票 , 使网站失去了公正性......
当时的互联网公司和用户都是深受其害 , 有苦难言 。

而如何确定网络请求是真人发送的 , 成了当时维护网络环境和保证用户安全的最大问题 。
一位名叫路易斯(Luis Von Ahn)的天才程序员发现:
人可以用肉眼很轻易的识别出图片里面的东西和手写的文本 , 而计算机却很难辨认 。
基于这种思想 , 路易斯和他的同事合作开发了CAPTCHA(Completely Automated Public Turing Test To Tell Computers and Humans Apart , 区分人机的全自动图灵测试系统) , 也就是我们俗称的验证码 。
那么验证码是怎么杜绝那些计算机对网站进行非法操作呢?
很简单 , 首先计算机是可以像人一样去模拟登录网页的 , 但是当它碰到验证码的时候 , 计算机就傻眼了 , 它根本识别不出验证码里面的东西 , 但是人的话就一眼认出来 。
初代的验证码仅仅只是一些扭曲的字母和数字 。
所谓上有政策 , 下有对策 , 随着计算机的识别技术越来越强 , 验证码的变得越来越复杂 , 形式、花样百出 。
到目前为止 , 验证码还是区别真人和计算机最有效的方法 。

02
验证码的进化版
据统计:全世界的网民每天数据验证码将近2亿次 , 而每次验证码的输入时间将近10秒 , 这样算下来 , 每天网民要在验证码上面花费的时间50万个小时 。
时间就是生命啊 , 路易斯看着这组数据陷入了沉思 。
恰在当时 , 另一个问题有待解决:如何把浩如烟海的人类纸质典籍数字化 。
想要数字化文本 , 一种方法是手工录入 , 但是这种方法费时费力 , 还容易出现录入错误 。
另一种方法是先扫描文本 , 再结合光学文字识别技术录入文字 , 听起来很美 , 但有些年代久远或本身质量就差的文本扫描出来后实在是太模糊了 。
为了利用这么多时间 , 也为了解决文本数字化的问题 , 路易斯于2007年推出了新的验证码系统 reCAPTCHA(RE就是新的意思)

新的验证码系统是如何解决问题的呢?
在 reCAPTCHA 验证码系统里 , 一个验证码会由两部分构成 。
第一部分和之前一样 , 是自动生成并且经过变形处理的文字 , 用来检验你是不是真人 。
而第二部分 , 则是从无法识别的文本中截取出来的词 。
如果用户正确输入前半部分 , 那么 reCAPTCHA 就会假设用户输入的后半部分也是正确的 , 然后把录入结果返回至 reCAPTCHA 的项目主机 。
结果返回主机后 , 主机还会把这个结果再派发给多个用户进行交叉验证 , 以确保没有不小心或故意输错单词的情况 。
也就是说 , 真正有效的人机测试在验证码的前半段已经完成 , 而后半段 , 就是用户在义务为人类文明做贡献了 。


比如:
1.比如我们扫描《三国志》;
2.将《三国志》扫描的图片按照单个字进行截取;
3.假如随机生成的词A为『我』 , 扫描图片的词B为『关羽』 , 当然了用户是不知道『我』还是『关羽』哪一个是系统产生的;
4.只要用户输入正确的A的答案为『我』 , 那么系统也会认为后面输入词就是扫描图片上面的词了;
5. 系统还会把结果B(关羽)再派发给多个用户进行交叉验证 , 以确保没有不小心或故意输错单词的情况;
6.以此类推 , 《三国志》就会被人在输入验证码的时候就被电子化了 。
03
白嫖劳动力的成果
So , 这个升级版的验证码到底给世界做出了多大的贡献呢?
2007 年推出之初 , reCAPTCHA 每天都能帮助录入 3000 万个字符 。
2008 年 , 这个数字飙升到了 6000 万个 。
粗略统计 , 在今天 , 全世界每天都有 2 亿个字符通过 reCAPTCHA 录入 , 相当于人类 15 万小时的工作量 。
也就是说 , 一个人要不吃不喝不睡连轴转两年半 , 才能完成 reCAPTCHA 一天的工作量 。
到今天为止 ,reCAPTCHA 已经录入了从 1851 年至今的所有《纽约时报》 , 共计 1300 万篇文章 。
除《纽约时报》外 , reCAPTCHA 还数字化了超过 2500 万本书 , 而全球的图书数量约为 1.3 亿本 。


So , 每次我们在输入验证的的时候 , 都是在给别人做义务劳工 , 除此之外 , 你输入的验证码 , 还可能成为训练人工智能(AI)的养料 。
2009 年 , 谷歌以大约 2780 万美元的价格收购了 reCAPTCHA , 并开始利用 reCAPTCHA 帮助标注数据 。
正如前文所说 , reCAPTCHA 的前半段是在验证你是不是真人 , 后半段就是真人为验证码打工阶段了 。
2012 年 , Google 开始把谷歌街景中难以识别的门牌和路牌加入验证码 , 请用户帮忙标注 。
如今 , 谷歌 AI 已经能精确辨认路牌上的文字和数字 , 准确度和人眼不相上下 。

当有一天我们终于用上 Google 的自动驾驶技术 , 依靠 AI 来辨识路牌和路灯时 , 这背后不能不说没有上千万用户无偿标注的苦劳 。
不得不说的一点是 , 运用了谷歌AI技术的无人驾驶汽车Waymo , 在自动驾驶领域的地位是遥遥领先的 , 被看作是世界上最有可能最先做到完全自动驾驶级别的公司 。
这其中 , 当然少不了广大网友的免费劳动力的“辛勤劳作” , 想想每次点击验证码 , 都是在为人类文明添砖加瓦或者推动人工智能的发展 , 你是神马感觉?
现今 , 收购了reCAPCHA的谷歌已经把大部分验证码再次升级了 。 用户只需要点击一下“我不是机器人”按钮 , 就能通过验证 。


饶是如此 , 验证码也能从你身上蹭点油水 , 这就是上一篇文章中说的大数据的恐怖之处了 。
在你点击按钮的同时 , 谷歌会监控你的点击行为 , 追踪你的键盘操作和鼠标运行轨迹 , 甚至你打开的每一个网页都可能被收集 。
系统会用这些数据来判断你是机器人还是真人 , 与此同时 , 给你推广专门为你定制的广告 。


    推荐阅读