Il reCAPTCHA

Il Caso Slashdot e il Test di Turing

Le tecnologie nascono, in genere, per intuizione relativa alla realizzazione di un'idea, per semplice esisgenza, oppure come soluzioni ad eventuali problemi che devono essere superati affinché le cose possano "funzionare".
In quest'ultima infatti categoria si colloca la nascita del CAPTCHA. Nel 1999, Slashdot, un imponente sito web statunitense di informazione scientifica, pubblicò un sondaggio in cui chiedeva ai propri utenti registrati di scegliere quale fosse l'Università che avesse il miglior programma di Scienze dell'Informazione. Come qualunque sondaggio, esso prevedeva che un singolo utente potesse rispondere una sola volta, scegliendo la risposta che ritenesse opportuna. A fine sondaggio, i risultati avrebbero poi mostrato in valori percentuali, l'istituto vincitore.

Due studenti universitari rispettivamente della Carnegie Mellon University e del MIT (Massachussets Institute of Technology) svilupparono un software, battezzato poi con il nome di Bots, in grado di aggirare il sistema che controllava le votazioni degli utenti. Più precisamente esso permise ai due ragazzi di votare più volte.

A fine sondaggio, le Università a cui appartenevano i due ragazzi ricevettero migliaia di voti mentre le altre solo poche centinaia. Questo risultato sollevò una serie di riflessioni sulla veridicità dei risultati, invalidando l'intero sondaggio. Dopo questo episodio e successivamente a numerosi altri episodi simili, fu sviluppata la tecnologia CAPTCHA, il cui compito era quello di evitare che software, come il Bots, potessero avere accesso ad informazioni simulando il comportamento di un semplice utente.

La tecnologia CAPTCHA affonda le sue radici nel cosiddetto Test di Turing. Alan Turing, matematico e pioniere assoluto dell'Informatica moderna nonché anticipatore dell'Intelligenza Artificiale, nel 1950 espose, in un articolo intitolato Computing Machinery and Intelligence, un concetto secondo cui esiste un criterio per distinguere una macchina da un uomo. 

L'esempio che Turing descriveva nel suo articolo era molto semplice:

Consideriamo un gioco con 3 partecipanti: A, B e C. Il partecipante A è un interrogatore, cioè colui che rivolge una serie di domande scritte ai concorrenti B e C, i quali dovranno rispondere. Uno solo dei due concorrenti tra B e C è una macchina mentre l'altro è un essere umano. L'interrogatore A, separato fisicamente dai concorrenti B e C, senza vedere né sentire gli utenti B e C, legge le risposte che gli vengono consegnate dai concorrenti B e C. Lo scopo dell'interrogatore A è quello di capire, una volta esaurite le domande, chi dei due concorrenti è una macchina. Se l'interrogatore effettua la scelta sbagliata, la macchina, avendo ingannato l'interrogatore, vince il gioco. Se invece l'interrogatore effettua la scelta giusta, la macchina perde. 

Ecco dunque quello che succede con un CAPTCHA: il sito che presenta il sistema CAPTCHA (la domanda) è l'interrogatore A mentre dall'altra parte dello schermo c'è il concorrente B oppure C. Il compito del CAPTCHA è quello di distinguere l'utente dal software. Ecco anche spiegato ora il senso dell'acronimo CAPTCHA - Completely Automated Public Turing Test to Tell Computers and Human Apart - ovvero Test di Turing completamente automatico per distinguere gli uomini dalle macchine.