¡Al fin! Números totalmente aleatorios generados por… ¡¿un banco?!
Guatemala, 18/04/2025
Universidad del Valle de Guatemala, Departamento de Ciencias
de la Computación
¡Al fin! Números totalmente
aleatorios generados por… ¡¿un banco?!
Tal como lo escuchas. Una de las
mayores empresas financieras del mundo, que también funge como banco, “J.P.
Morgan & Chase Co.”, acaba de dar un paso gigantesco dentro del mundo de la
computación. Y bueno, digo “acaba”, pero realmente es un experimento que duró 2
años, pasando por la fase de experimentación y análisis en 2024, y haciendo la
aprobación del artículo en el presente año (marzo) 2025. Su aporte, como tal,
es la demostración algorítmica de generar números aleatorios por computadora;
pero varios se preguntarán ¿acaso eso no es algo que todos podemos hacer, con
la librería “random” de Python; o cualquier otra, de cualquier lenguaje? Y la
respuesta simple es: no.
En una computadora clásica, o
sea, la que cualquier persona común tiene en su hogar, los números “aleatorios”
realmente son pseudoaleatorios, pues una computadora tiene características
inherentemente deterministas (entiéndase, si no se altera el código de
instrucciones, el resultado debe siempre ser el mismo). Por esto, no es capaz de “pensar
por cuenta propia” un número aleatorio, ya que siempre los debe calcular a base
de un “algo”. Este “algo” es lo que varias librerías de aleatoriedad contienen dentro
de la estructura de su código; en unas, puede ser un cálculo absurdamente
grande de variables que incluyan el tiempo de funcionalidad de la computadora
que ejecuta el algoritmo; o también puede ser la temperatura del procesador justo
al momento de ejecutar el programa. Muchos, utilizan estas fuentes de
entropía para poder hacer “lo más aleatorio posible” un número a obtener. No obstante,
¿qué pasaría si dos computadoras fueran totalmente idénticas? ¿Qué pasaría si
estas dos, que vienen del mismo lote y han estado encendidas exactamente la
misma cantidad de tiempo, con exactamente la misma temperatura, etc., ejecutasen
el mismo algoritmo de aleatoriedad? Lo más probable, es que el resultado “aleatorio”
que arrojarían sería el mismo. Por eso se dice que ninguna computadora convencional
es capaz de generar números totalmente aleatorios, porque no puede, ya que
siempre que se tengan exactamente los mismos inputs, los outputs también serán
idénticos (siempre que se pase por el mismo algoritmo de cálculo, claro).
Sin embargo, como mencioné,
ninguna “computadora convencional” puede realizar estos cálculos… pero ¿qué
pasaría si nos saliéramos de lo “convencional”? Tal como lo habremos escuchado
de parte de alguno de nuestros catedráticos de física, de una película, de
un libro, post de internet, o porque estás estudiando física (sí es así, mucha
suerte), resulta que el mundo cuántico no funciona bajo las leyes del “mundo convencional”
o, mejor dicho, el mundo clásico. De esta manera, así como la física se divide
en clásica y cuántica, así también se le pueden llamar a los dos tipos de
computadoras que nosotros, como humanos, hemos llegado a desarrollar:
computadoras clásicas y computadoras cuánticas. Las primeras, son las que
anteriormente llamé rústicamente “convencionales”. Estas siguen las leyes clásicas
de la física, respecto a la electricidad que manejan en sus transistores y
circuitos internos, operando con las unidades (tan conocidas y apreciadas) de
información “bits”. Para quien no conozca qué es un bit, es un 1 o un 0, no
puede ser nada más que eso. Tiene electricidad o no tiene, fin. Todas las
computadoras clásicas (incluidas las supercomputadoras) funcionan a base de bits.
Sin embargo, el diferenciador de
las computadoras cuánticas es que no operan con bits, sino con cúbits/qubits; o
sea, bits cuánticos. Estos poseen características propias inherentes a la física
cuántica, con modos de operación propios y de relaciones entre sí.
Básicamente, se rigen en norma del mundo cuántico; y, una de las características
de este mundo, es que cosas dentro de él mantienen su total aleatoriedad. Por tanto,
si yo tengo una computadora que realiza operaciones con cúbits, en vez de bits,
puedo preservar (según el diseño de mi algoritmo) la aleatoriedad de la
información. Justo esto fue lo que hicieron los investigadores de JPMorgan;
crearon un algoritmo para generar números aleatorios, el cual fue ejecutado por
una computadora cuántica. Como resultado: creación de números satisfactoriamente
aleatorios; ¿quién da fe de dicha de autenticidad?, la física cuántica. Si esto no es
suficiente para convencer a alguien, el mismo grupo de investigación puso a
trabajar a cuatro supercomputadoras para descifrar (a fuerza bruta, simulando como
si fueran cuánticas) si realmente dichos números eran aleatorios; nuevamente,
resultado satisfactorio.
En conclusión, no sé qué tan
bueno sea para la ciencia-academia y la computación que un banco esté interesado
tanto en la generación de números aleatorios (comprendo encriptación, pero
quién sabe qué más), y que tenga la capacidad para hacerlo en cuestión de un
año y pocos meses. Sin embargo, viendo lo positivo dentro de esto, es emocionante
presenciar cómo, mientras avanza la tecnología, somos capaces de atravesar esas
“limitaciones” que la misma tecnología (anterior y actual) tiene, y así
continuar con la innovación y el desarrollo de la misma. ¿Quién sabe? Tal vez
dentro de un futuro medianamente cercano, los juegos de azar estén medidos con
computadoras cuánticas, para ver que aún dentro del mundo cuántico, la casa
siempre gana. Por el otro lado, viéndolo desde un punto de vista más positivo, cada uno de
nosotros tendrá la capacidad de generar números verdaderamente aleatorios
dentro de la comodidad de nuestro hogar, con una computadora cuántica portátil.
Escrito por: Renato
Rojas.
Link del artículo del equipo original de investigación:
Liu, M., Shaydulin, R., Niroula, P. et al. Certified randomness using a trapped-ion quantum processor Nature 640, 343–348 (2025). https://doi.org/10.1038/s41586-025-08737-1
Referencias adicionales (por si
les interesa leer más 😄):
Amazon Web Services [AWS]. (s.f.). ¿Qué es la computación
cuántica? https://aws.amazon.com/es/what-is/quantum-computing/
International Business Machines Corporation [IBM]. (2024). ¿Qué
es la computación cuántica? https://www.ibm.com/es-es/topics/quantum-computing
López, J. (2025). JPMorgan ha conseguido generar números realmente
aleatorios. Las preguntas son para qué los necesita y cómo lo ha hecho. https://www.xataka.com/investigacion/jpmorgan-ha-conseguido-generar-numeros-realmente-aleatorios-preguntas-necesita-como-ha-hecho
Microsoft Azure. (s.f.).
¿Qué es un cúbit? https://azure.microsoft.com/es-es/resources/cloud-computing-dictionary/what-is-a-qubit
No hay comentarios: