Edición n° 2908 . 07/11/2024

Del algoritmo a «¿Dónde está Wally?»

Vivimos en un mundo en donde ya nadie le cree a nadie. Por supuesto que es una exageración, pero uno parece que solamente escucha lo que quiere que le digan, tiene una posición tomada con casi todo y no está dispuesta/o a revisarla virtualmente ante ningún tipo de prueba. Más aún: uno está dispuesto a torcer los hechos, a aceptar como verdades algunos acontecimientos o episodios que claramente no son ciertos, y acusar a quienes los exhiben como lo que se dio en llamar desde hace algunos años, fake news. El otro día comentaba con un amigo al intentar elaborar un paralelismo futbolístico: si un equipo perdió 2 a 0, yo no puedo decir que el partido terminó empatado. Puedo decir que no me gusta cómo juega o cómo jugó o que el técnico los hace jugar equivocadamente … todo lo que sea opinable. Pero las opiniones no pueden tergiversar ni compararse con los hechos. Comprenderlos, analizarlos, predecirlos, entender su origen, a quién o quiénes le conviene que sucedan… por supuesto, pero es inaceptable decir que terminó 0 a 0 cuando un equipo ganó 2 a 0.

¿Por qué todo esto? Hace casi siete años escribí acá mismo, en Página/12, un aporte que la matemática hace, no solo en su ámbito, sino también en situaciones que nos afectan a todos. El título que utilicé en ese momento fue «Probar sin Exhibir», que es una (mala) traducción mía de lo que se conoce universalmente como Zero Knowledge Proof. Otra versión podría ser «Prueba con Conocimiento Cero» o «Prueba con Conocimiento Nulo”. En estos siete años, surgieron algunos otros ejemplos que me parecen valiosos y explican cómo se utiliza este método en la vida cotidiana.

El problema fue abordado por investigadores del MIT (Massachusetts Institute of Technology o sea, Instituto de Tecnología de Massachusetts) uno de los centros académicos y técnicos de mayor excelencia mundial. Fue sobre la década de 1980. El ejemplo que tomaron fue el de dos personas (A y B) que querían comparar sus fortunas para saber quién era más rica/o. Pero la idea, era lograr hacerlo sin develar el capital de cada parte. Convencerse mutuamente quién tenía más dinero ¿Usted cree que se puede/pudo lograr?

O este otro caso: si usted estuviera en un bar y quisiera demostrar que tiene una edad legal para consumir alcohol sin necesidad de exhibir su DNI, ¿habrá alguna manera de hacerlo? O si usted estuviera ante autoridades de inmigración, ¿habrá alguna manera de probar que usted está legalmente autorizado a entrar en el país sin exhibir su pasaporte?

Más aún, y mucho más importante teniendo en cuenta las tensiones que vive el mundo con la posibilidad de desatar una tercera guerra mundial, estas técnicas podrían usarse (si es que no se usan ya), para el control de armas nucleares, justamente para determinar las capacidades de misiles nucleares de diferentes países sin necesariamente hacer una inspección ocular in-situ.

Los casos que siguen no se me ocurrieron a mí, sino que o bien los escuché en alguna charla o bien los leí en algún libro. Lejos estoy de exhibirme un experto en un tema del que toco de oído. Son ejemplos casi trivales que sirven para explicar lo que de otro modo, parece imposible. Hecha esta salvedad, aquí van algunos casos.

Usted debe haber escuchado hablar de los libros para niños ¿Dónde está Wally? La serie fue creada por el dibujante y escritor británico Martin Handford y se ha hecho muy popular universalmente. En cada una de las páginas de cada uno de sus libros aparece algún dibujo con múltiples caricaturas de personitas, pero también madres, padres, calesitas, animalitos, cochecitos con bebés, lámparas que iluminan calles, veredas… o sea, pequeñas miniaturas de la vida cotidiana. Pero el objetivo es descubrir uno en particular: “Wally”. Wally es un personaje que lleva un sombrero rojo y blanco con rayas horizontales, con un pompón, como si fuera de Papá Noel. Usa una remera también rayada de los mismos colores que el sombrero, tiene un bastón que sostiene con su mano izquierda y usa pantalones celestes. El objetivo que se persigue, es encontrarlo a Wally que está sumergido entre múltiples dibujos que tienen colores parecidos y que suelen dificultar la detección. Ahora bien: ¿por qué tanta descripción?

Supongamos que en lugar de Wally estar dibujado en una página de un libro, yo le mostrara una cartulina enorme de 5 x 5 (metros) que contiene cientos de miles de estos dibujitos… Si yo le dijera ahora: “Yo sé dónde está Wally, yo lo puedo ubicar inmediatamente”. Ante esto, usted tendría todo el derecho en decirme: “Mostrámelo”. Pero yo lo que quiero es convencerla/lo que tengo un poder (o algoritmo) para detectar su ubicación sin exhibir cómo hago. Y eso lo puedo hacer con cualquier número de dibujitos que distraigan. Yo siempre puedo encontrarlo rápidamente. Por supuesto, una vez más, es muy posible que usted se quedara perpleja/o, como si me estuviera preguntando: “¿Y por qué te voy a creer? Indicame dónde está”.

Entonces yo, que no quiero develar mi algoritmo, le pido que se de vuelta, que no mire. Mientras tanto, yo traigo una cartulina blanca totalmente, que mide 10 x 10 (metros) y que -obviamente- alcanza para tapar la cartulina en donde está el dibujo. Además de tapar su dibujo, mi cartulina tiene un pequeño hueco que yo voy a ubicar estratégicamente para que, si uno espía por allí, se vea únicamente a Wally. Cuando usted se de vuelta, yo digo: “Andá y mirá”. Debajo del pequeño hueco que tiene la cartulina blanca, usted ve la carita de Wally … solamente él. Y esto lo hago sin mostrarle cómo hice. Esto debería ser suficiente para convencerla/o que mi método funciona: ¡yo sé donde está Wally! Y además yo le ofrezco repetirlo con cualquier página que usted traiga en donde Wally está escondido.

Otro ejemplo. Supongamos que la/lo han puesto al frente de una biblioteca enorme, como si fuera la Biblioteca Nacional, por elegir un caso cualquiera. Usted quiere saber cuántos volúmenes componen la biblioteca. Yo me presento como una persona que puede decirle con certeza cuántos hay. Como yo soy un profesional que se dedica específicamente a este tipo de tareas inusuales, le voy a cobrar por el trabajo. Le pido que me pague un número que usted juzga muy alto. Pero, como usted no sabe cuántos libros hay, ¿por qué habría de creerme que yo voy a encontrar el número correcto?

Supongo que debe haber varias maneras de comprobarlo, pero yo le ofrezco esta variante de «Prueba de Conocimiento Cero». Le digo: ‘hagamos lo siguiente. Yo voy a contar los libros que hay en la biblioteca. Cuando termine el día, yo ya voy a tener el resultado, pero … ¡no se lo voy a decir! Obviamente, una vez más, usted no tiene por qué confiar en mí. Sin embargo yo le ofrezco esto: cuando yo me vaya, seleccione una cantidad cualquiera de los libros que hay acá, arbitrariamente grande y elíjalos de las salas que quiera. Yo voy a volver mañana. Por supuesto, usted seguramente contó el número de los libros que retiró, pero yo, no tengo manera de saberlo. Pero yo, usando la prueba con conocimiento cero, podría volver al día siguiente, contar los libros que quedaron en la biblioteca, restarlo del número que yo conseguí el día anterior y deducir cuántos retiró usted. Justamente esa diferencia va a indicar cuántos libros usted escondió. ¿No es suficientemente convincente esto para demostrar que yo sé contar cuántos libros tiene la biblioteca? Y esto lo puedo hacer, sin necesidad de develar el método o algoritmo que yo uso.

Por último: si usted fuera a un banco y pidiera un crédito, pero no quiere dar a conocer su patrimonio. Es muy posible que el banco no le otorgue lo que pide, sencillamente porque no puede verificar que usted va a devolver el dinero. Pero si hubiera alguna forma de que el banco supiera que usted tiene los fondos suficientes para respaldar la operación sin que usted tenga que divulgar su información personal, el banco debería estar satisfecho y usted no tuvo que revelar nada. ¡Sólo mostrarle al banco que usted sabe dónde está Wally!

Y por supuesto, antes de terminar, estas técnicas (y otras variantes) han adquirido importancia durante la última década, sobre todo por su utilidad en aplicaciones de lo que se denomina blockchain (o cadena de bloques) como las criptomonedas, pero también se usan en mecanismos de identificación digital. En fin, la lista es larga. Los casos se me escapan o me abruman.

Espero no haberle causado ese efecto. Sólo sirve para tener información sobre el mundo que nos rodea, y que nos resulta transparente. Sucede mientras dormimos.