
" 我是誰?我在哪?我要到哪里去?"
迫使你思考哲學問題的,有時可能不是蘇格拉底,而是不斷翻新花樣的驗證碼。
不知從什么時候開始,上網沖浪變成了視力與智力的雙重挑戰。
驗證碼,就是你要面對的第一關卡。
讓扭曲翻轉的數字眾神歸位,將一盤散沙的成語按順序點擊,在亂花漸欲迷人眼的圖片里精準選出正確的幾張 ……

選出正確的棕櫚樹
明明是上網解壓,結果卻讓驗證碼逼得壓力更大。
更要命的是,驗證碼的形式越來越花里胡哨,想順利登陸網站卻沒它不行——
上網沖個浪,為啥需要這么麻煩?

驗證碼的初衷其實很簡單,就是用來區分計算機程序和真正的人。
計算機程序無法識別被扭曲的數字,就不能通過驗證,進而對網站進行惡意攻擊和污染。

一切噩夢的開始
據統計,全球網民每天要輸入 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 應用商店
圍觀了這一波腥風血雨的 " 驗證碼之戰 " 后,有人感嘆:
" 驗證碼拿用戶訓練機器人,用戶用機器人繞過驗證碼,最后機器人學到了最多。"
驗證碼難度的提升,反映的是人工智能技術的進步。
當機器越來越 " 聰明 ",人類面臨的挑戰便越來越多,再復雜的驗證碼,也會有走投無路的一天,需要尋求新的改革。
但作為只想要網上輕松沖浪的用戶,我們只求驗證碼,別再讓我找出圖片中微笑的狗、云做的馬了。
原文地址:http://www.myzaker.com/article/634e7bb48e9f0935c1310a1c