上网冲浪,怎么就这么难?

“我是谁?我在哪?我要到哪里去?”

迫使你思考哲学问题的,有时可能不是苏格拉底,而是不断翻新花样的验证码。

不知从什么时候开始,上网冲浪变成了视力与智力的双重挑战。

验证码,就是你要面对的第一关卡。

让扭曲翻转的数字众神归位,将一盘散沙的成语按顺序点击,在乱花渐欲迷人眼的图片里精准选出正确的几张…… 

选出正确的棕榈树 

明明是上网解压,结果却让验证码逼得压力更大。

更要命的是,验证码的形式越来越花里胡哨,想顺利登陆网站却没它不行—— 

上网冲个浪,为啥需要这么麻烦? 

验证码,人类一生之敌

验证码的初衷其实很简单,就是用来区分计算机程序和真正的人。

计算机程序无法识别被扭曲的数字,就不能通过验证,进而对网站进行恶意攻击和污染。

一切噩梦的开始 

据统计,全球网民每天要输入2亿次验证码,耗时超过50万个小时。

随着生活中验证码的无孔不入,这届网民也逐渐失去了耐心。

登录网站、个人社交平台、手机转账需要验证码情有可原,毕竟涉及个人财产和信息安全; 

如今,下载一张图片、看一篇文章、甚至转发一条微博,都需要验证码。

点赞也需要验证码 

如果只是看到验证码的窗口弹出就开始火冒三丈,那你气早了。

验证码考验大家的离谱形式,才是真正让人“原地去世”的电子砒霜。

最基础的英文数字组合验证码,就已经会让人陷入自我怀疑:

“I还是1?0还是O?2还是Z?9还是q?vv还是w?”

你这个验证码怎么还会骂人呢? 

找出图中汽车和斑马线的验证码,更是会让人陷入强迫症的焦虑:

“只露个车屁股算不算包含车?角落里的玩具汽车要不要选?”

如今,带干扰线的数字、找出红绿灯、公交车或烟囱已经过时,新一轮考验正式开始——

“请点击每张包含微笑的狗的图片。”

于是,在思考”狗真的会笑吗“之前,人们就已经条件反射地研究起了狗狗的笑容。

事实上,大多数狗看起来既不高兴也不难过,只是张着嘴的算不算笑?还是说它们吐舌头才算笑?

这个问题的答案,只有成功通过的人才能知道。

而作为老互联网居民,也没人能忘记曾被12306网站验证码支配的恐惧。

2015年,如果想顺利买到火车票,抢票页面的“余票充足”并不能代表能买到,只有在付款前的验证码环节顺利通关,才算成功一半。

有奇怪的东西混进去了 

要么是在一群明星的照片中找出影帝影后,要么是在一堆山寨商品中找出真货,更过分的是在一打方言中选出”海南话“……

彼时,被卡在验证码环节抢不到票的倒霉蛋不计其数。

“验证码,不想让我买到火车票你就直说。”

甚至让人陷入自我质疑 

都说验证码能把机器人拦住,但事实却是大活人上网被绊了一跤。

更悲剧的是,大部分时候验证码的难易程度,总是和你的着急程度呈正相关。

“有急事时的验证码总是让人想摔手机,你越急,它就越不容易成功。”

无数被烦人验证码挡在网页外的网民,心里都有一声愤怒的呐喊:

验证码,人类一生之敌。

为什么要验证码

“人类发明验证码是为了反机器,现在的网站却用它来反人类。”

如今,被验证码气疯成了人们的日常,但事实上,当初发明验证码的初衷并不是想为难人类,而是想为难机器人。

 请证明你是人类 

时间回到2000年初,刚刚接触互联网的初代网民,也许还记得那时最头疼的事——

总是删不完的垃圾邮件,随意弹出的攻击页面,和永远快人一步、利用插件抢票的黄牛。

刚刚兴起的互联网,无异于一条自行车都能上的高速公路,有人办正事,就有人制造代码程序故意捣乱。 

当封号的速度赶不上恶意注册的速度,人工审核追不上重复运行的代码时,给上网冲浪设置门槛便迫在眉睫。

2003年,为解决这个问题,来自卡内基梅隆大学的一群博士创造了CAPTCHA,是一个全自动区分计算机和人类的公开图灵测试。

所谓图灵测试,就是人类提问计算机解答,用来判定计算机能否在智力行为上表现得和人无法区分。

想要分辨电脑前是否为真人,只需要把这个测试反过来——由机器提问人类解答,“验证码”应运而生。

最早的验证码,于1997年设计公布并申请了专利 

早期的验证码,由被变形、扭曲、翻转的字符串或者数字组成。

机器人看不懂,人类用肉眼却可以轻松辨认。

有了这道简单的门槛,垃圾邮件、黄牛插件和恶意攻击的爬虫程序,就被轻松挡在了网页外。

然而好景不长,这样的验证码很快就被程序破解了。

再复杂的程序也离不开26个英文字母、10个阿拉伯数字的组合,只要利用程序算法将字符与背景分离,久而久之,资料库便学会了识别。

与此同时,一套由庞大中文字符库组成的中文验证码,就这样出现了。

辨认相似结构的汉字、给汉字标拼音,以及按顺序点击打乱的成语,成了中文验证码的常规操作。

发展到最后,图文并用、阅读理解纷纷上阵,验证码的形式越来越多样,计算机的识别技术也越来越强。

升级版数字验证码 

验证码的迭代,变成了一场“道高一尺,魔高一丈”的较量。

它既是程序员们智力的角逐,也是一场人机对抗学习。

时至今日,形式各样的验证码已经在互联网的考验洗礼中,按照功能分成了不同阵营。

当你想上个新闻网站,迎接你的大概率是点击型验证码。

算法会根据鼠标的运营轨迹判断你是否是真人,同时还能帮助验证码系统进化。

 “我不是机器人” 

当你登录私人账号时,滑动型验证码一边通过拖动速度判别真人,一边还会送上贴心鼓励:

“恭喜你用时1.6秒,超过全国90%的人。”

随着安全系数上升,短信验证码、扫码验证,刷脸验证陆续登场,在危机四伏的互联网世界里,层层把关着用户的信息安全。

验证码能消失吗

面对越来越变态的验证码,不少人质疑:

“为了保护我银行卡里的五毛钱,设置八层验证真的值得吗?”

答案是,值得。

所谓安全验证,判断的不仅仅是用户注册时设置的用户名、密码等,还要判断是不是真人、是不是本人操作。

目前为止,乖乖输入验证码,依然是区别人和计算机最有效率的方法。

鲜有人知的是,验证码的存在除了保护信息安全,人类还能利用它干点正事儿。

发明初代验证码的天才Luis von Ahn,曾在2004年带领团队上线了一个叫reCAPTCHA的验证码系统。

他们把计算机难以识别的旧书籍扫描成电子版,将其中斑驳的文字对接到验证码上让人们来识别。

靠着这个巧妙的方法,系统每年能成功数字化230多万本旧书。

图源:世界复杂性科学研究院 

当人们以为这便是验证码的光明结局时,有人本着魔法打败魔法的原则,推出了破解验证码的插件。

只要遇到图形验证型验证码,小插件不仅会自动帮用户点击,甚至还会利用深度学习训练模型提高自己的精准度——

用的人越多,小插件就越精准。

你不仁就不要怪我不义/图源 :chrome应用商店 

围观了这一波腥风血雨的“验证码之战”后,有人感叹:

“验证码拿用户训练机器人,用户用机器人绕过验证码,最后机器人学到了最多。”

验证码难度的提升,反映的是人工智能技术的进步。

当机器越来越“聪明”,人类面临的挑战便越来越多,再复杂的验证码,也会有走投无路的一天,需要寻求新的改革。

但作为只想要网上轻松冲浪的用户,我们只求验证码,别再让我找出图片中微笑的狗、云做的马了。

本文来自微信公众号“硬核看板”(ID:yinghekb),作者:公开课白小哲。