Introducción a la Computación Cuántica

5

Se habla mucho de la computación cuántica. Los periódicos, blogs y otros medios se centran mucho en los efectos que puede ocasionar. Y otros medios intentan explicar en qué se basa un procesador cuántico, pero a unos niveles de complejidad muy elevados. Voy a intentar explicar las bases de la computación cuántica, pero asumiendo que el lector no sabe nada de física cuántica, e intentando que no quiera pegarse un tiro por el aburrimiento tras leer el artículo.

Comencemos.

La física

En el mundo en el que vivimos todo esta relacionado. Las partículas interaccionan unas con otras y cuando las estudiamos vemos comportamientos predecibles. Por ejemplo, sabemos que si dejamos suelta una pelota en el aire, se caerá. Y podemos saber a qué velocidad caerá. Podemos calcular como se moverá el aire alrededor de un avión. Podemos saber a qué temperatura el agua comenzará a hervir. Todo se basa en estudiar el comportamiento de las cosas, y deducir las reglas que lo rigen. A esto, le llamamos física.

Los físicos, en su afán de intentar entender cada vez más cosas, estudian cada vez cosas más “raras”. Y a veces se encuentran con sorpresas, con cosas que no les encajan y que les hacen descubrir nuevas leyes que rigen nuestro universo. Por ejemplo, un buen día llegó Newton y dedujo las reglas que rigen el movimiento de los cuerpos (la leyes de la dinámica). Dedujo el concepto de Fuerza, de Masa, el efecto de acción-reacción, y muchos otros. Y otros científicos vieron que usando estas reglas podían predecir el movimiento de todo lo que tenían a su alrededor. Hasta que se ponen a mirar al cielo, miran como se mueven los planetas, y algo no encaja. Más o menos los planetas, girando alrededor del Sol, seguían las reglas que había enunciado Newton, pero no del todo. Las predicciones no coincidían exactamente con el movimiento que tenían los planetas. Algo no encajaba. Más adelante llego otro físico, Einstein, que enunció su teoría de la Relatividad, y las cosas comenzaron a encajar. La relatividad sólo afecta a grandes cuerpos y a grandes velocidades. Por eso en nuestro mundo cotidiano apenas se aprecia, pero cuando nos salimos de nuestro mundo cotidiano, pasan cosas que no nos parecen intuitivas. Y es que la relatividad no es intuitiva. Por eso cuesta entenderla.

La física va de esto, de conocer las reglas que nos rigen. Aunque estas reglas no sea intuitivas. Y ese es el problema que luego tenemos la gente de a pié, que nos cuesta entender estos modelos físicos porque nos parecen mágicos, totalmente contrarios a nuestra intuición.

La física cuántica

La física cuántica es uno de esos modelos, que cuando lo comparas con la realidad ves que es cierto, pero que es muy poco intuitivo. La primera impresión es que no puede ser verdad. Hay cosas muy raras en ella.

Durante el siglo XIX los científicos se dieron cuenta de que un cuerpo, cuando lo calientas, emite radiación electromagnética. Estudiando esta radiación, empezaron a ver cosas diferentes a lo que esperaban. Lo mismo pasaba con la luz. Y en general se dieron cuenta de que cuando empezabas a estudiar cómo funcionaban las cosas a escala muy pequeña, a nivel de átomos, las cosas no encajaban. ¿Algo no encaja con lo que sabemos? Huele a revolución y a un nuevo modelo. Efectivamente, a principios del siglo XX un conjunto de físicos, con nombres tan famosos como Plank, Einstein, Heisemberg o Borh, por citar unos pocos, comenzaron a deducir un conjunto de reglas físicas nuevas. Estaban creando un nuevo modelo al que llamaron física cuántica.

Los más divertido de la física cuántica es que es totalmente anti-intuitiva. Las cosas que pasan a esa escala chocan de frente con la realidad que observamos día a día y resultan muy difíciles de creer para los mortales como tú o como yo. Pero están ahí. Y cuando comenzamos a diseñar cosas a tamaños comparables a los átomos o menores, se abre este mundo mágico.

Superposición de estados

Una de las cosas más alucinantes que predice la física cuántica es que una partícula puede estar en dos estados, o más, a la vez. Es decir, una partícula podría haberse movido, o no. Si la medimos, podremos saber si se ha movido o no. Pero si no la medimos, ¿se ha movido? Lo que dice la física cuántica es que puede haberse movido y no movido a la vez, y que cuando la medimos es cuando se “colapsa” a un estado, y queda claro que se había movido o no. No es que no sepamos si se ha movido y hasta que no miramos no lo averiguamos. Es que las dos realidades, moverse y no moverse, son verdad, hasta que se miden, y entonces una de las dos es la que se convierte en válida. ¡Qué raro!

Vamos a trabajar esto un poco más. Existe un efecto que le pasa a los átomos radioactivos, que se llama desintegración beta. Básicamente es que un átomo radioactivo puede, al azar y de repente emitir una radiación y transformarse en un átomo diferente. No es porque algo le golpee. Es completamente al azar. De repente al átomo “le apetece” y se produce la desintegración beta. Si aislamos este átomo y no dejamos que nada interactúe con él, y dejamos pasar un tiempo, no sabremos si se ha emitido la radiación o no. En ese caso hay dos posibles realidades, que se haya producido o que no. Lo que dice la física cuántica es que las dos realidades están pasando, son correctas. Y es cuando interactuamos con ese átomo, para ver qué ha pasado, que se decide que es lo que realmente pasó, se decide qué realidad es la correcta y sólo una de las dos pasa a ser válida.

El gato de Schrödinger

Para poder entender este concepto de dos realidades paralelas que son válidas y que hasta que no se miden, no se determina cual de las dos es la correcta, Schrödinger, propuso el siguiente experimento ficticio:

Supongamos que tenemos una caja que es capaz de aislar completamente el interior del exterior. El aislamiento es tal, que si la movemos, golpeamos, calentamos o lo que sea que le hagamos, dentro no se nota nada. Y viceversa: pase lo que pase dentro, fuera no se nota nada.

En esa caja ponemos un aparato que si detecta una partícula que proviene de material radioactivo, rompe una botellita de veneno. Acompañamos ese aparato de material radioactivo y de un gato. Ponemos el material justo para que al cabo de una hora, hay una probabilidad del 50% de que se produzca una radiación.

En esta situación, si cerramos la caja, y pasa una hora, habrá un 50% de posibilidades de que se haya producido radiación, se rompa la botella de veneno y el gato haya muerto. Y hay otro 50% de probabilidad de que el gato siga vivo. Fuera no sabemos qué ha pasado.

Al cabo de una hora, no sabemos si el gato está vivo o muerto. Sólo al abrir la caja, podremos saberlo. Según la física cuántica, las dos realidades: gato vivo y gato muerto son verdad. No es que no sepamos qué ha pasado, es que han pasado las dos cosas. Si abrimos la caja, estamos midiendo, y una de las dos realidades se convertirá en la verdadera, y la otra desaparecerá. Así, que de alguna manera, si abrimos la caja, y el gato está muerto, le hemos matado nosotros al abrirla.

Aunque sea muy poco intuitivo, es importante entenderlo. Mientras no midamos, y el objeto esté aislado, podemos tener varios estados a la vez. Cuando midamos, todos los posibles estados colapsarán a uno sólo.

El Qubit

Bueno, nos creemos que podríamos tener un elemento aislado con múltiples estados a la vez. Dicho esto, vamos a ver en qué se basa la computación cuántica.

Imaginemos que somos capaces de aislar un elemento, sin que nada interaccione con él. E imaginemos que este elemento podría estar en dos estados. Uno de estos estados sería el equivalente a un 0, el otro a un 1; como un bit. Pero al ser un elemento aislado, podría tener los dos estados a la vez. Podría ser 0 y 1 a la vez. Si conseguimos esto, tenemos un qubit. Y seguirá siendo un qubit, mientras no lo midamos. En el momento que lo medimos para ver cómo está el elemento, se colapsará a uno de los estados, el 0 o el 1, convirtiéndose en un bit. Cuando decimos que aislamos un elemento, decimos un átomo, un fotón o otra técnica por la que conseguimos que “algo” aislado, pueda tener dos valores a la vez, que llamaremos 0 o 1.

La mágia del qubit comienza al operarlo. Imaginemos que tenemos un circuito que se alimenta de un qubit. Será un circuito muy simple. Dado que el qubit vale 0 y 1 a la vez, al pasar por el circuito que hemos hecho estamos operando dos veces a la vez, una vez por cada realidad. Esa máquina o ciruito que se alimenta de un qubit, está operando en paralelo a la vez. Y se puede hacer para que cuando midamos la salida, el sistema colapse al resultado que queríamos obtener.

Si en vez de un qubit tenemos 2, tendremos 4 estados a la vez. 4 realidades en paralelo. Una para el 00, otra para el 01, otra para el 10 y otra para el 11. Si una máquina se alimenta de 2 qubits, estamos ejecutando el algorimo 4 veces en paralelo a la vez, colapsamos al valor que queremos y al medir tenemos el resultado que buscábamos.

¿Qué pasaría con 10 Qubits? ¿Con 30?

Con 10 Qubits, tenemos 1024 combinaciones posibles. Por lo que ejecutaremos la máquina de una tacada 1024 veces en paralelo. Con 30 Qubits, hablamos de más de mil millones de ejecuciones en paralelo en la misma máquina, por los mismos circuitos. Es como ejecutar un algoritmo con mil millones de entradas diferentes, en mil millones de universos paralelos y quedarnos con el resultado que nos interesa.

El procesador cuántico

El procesado cuántico es la máquina que os he descrito en el capitulo anterior básicamente es una máquina que a partir de un número de qubits es capaz de ejecutar un algoritmo, de forma que se ejecuta en paralelo para todas las posibles entradas, y es capaz de colapsar con una alta probabilidad al resultado que esperamos. Es decir, tenemos una entrada de 10 qubits, esto son 1024 combinaciones. El procesador cuántico ejecutará en paralelo las 1024 opciones, obtendrá el resultado de las 1024, seleccionará la que quiere y ese será el estado al que colapsará.

Así los procesadores cuánticos son muy potentes cuando se trata de probar múltiples combinaciones para encontrar una. Esa una puede ser la mejor, la más optima, la más alta, la más baja o la única que cumple un criterio. Pero esa es la clave de la computación cuántica: Buscar la mejor opción entre muchas entradas.

La potencia está en la cantidad de combinaciones que procesa en paralelo para encontrar la óptima. Los procesadores cuánticos de hoy en día se mueven en los 50 qubits. Con lo que son capaces de procesar mil billones de combinaciones a la vez, es decir 1.000.000.000.000.000 combinaciones. Es como tener el mismo procesador en mil billones de universos trabajando conjuntamente.

Los problemas y retos actuales

El problema principal es que mantener aislados a los qubits es muy muy complejo. Se habla de usar máquinas enfriadas casí al cero absoluto, ya que la mínima temperatura, generaría ruido y no aislaría los qubits. Con lo que el entorno para poder tener los qubits es complicado, complejo y caro. Pero además el aislamiento no es completo, tarde o temprano alguna partícula se “colará” e interactuará con el qubit. Eso lo colapsará. con lo que el tiempo que se tiene de “coherencia” es muy bajo. Es tan bajo, que a veces se cometen errores y el sistema no es capaz de detectarlo.

Así el reto que tienen los científicos está en conseguir aumentar este tiempo, para poder hacer cálculos más complejos. Y el otro reto es aumentar el número de qubits, para tener “a más universos” trabajando en paralelo.

Usos de la computación cuántica

Todos los usos de la computación cuántica se basan en la ejecución de algoritmos que buscan para un montón de posibles valores, el óptimo. Así, los algoritmos monte-carlo por ejemplo, son idóneos para la computación cuántica. Pero os pongo unos usos:

  • Optimización y diseño de moléculas: La optimización de moléculas se basa en probar muchas combinaciones a ver cual cumple el objetivo.
  • Predicción del tiempo: Un ejemplo claro de algoritmos monte-carlo.
  • Factorización en primos: Dado un número encontrar los dos primos que multiplicados lo generan. Hay que probar muchos primos, hasta dar con los dos que se buscan.

Este último caso es el que más miedo está dando y que amenaza que reventar la criptografía tal y como la conocemos.

Pero la gran mayoría de cosas que hacemos con un ordenador de hoy en día, no podrá hacerse con un ordenador cuántico. Estos ordenadores sólo saben trabajar con muchísimas entradas y calculando cosas en paralelo.

Computación cuántica y criptografía

Todos los algoritmos de clave asimétrica, que son cruciales en la criptografía hoy en día, se basan de una u otra manera en el problema de la factorización en primos. Este problema es el siguiente:

Es relativamente sencillo encontrar dos número primos de muchas cifras, y multiplicarlos, dando lugar a un número no primo. Pero es extremadamente costoso, coger ese número y deducir qué dos primos son los que se multiplicaron. A esto se le llama factorizar un numero en sus primos.

Los algoritmos de factorización en primos se basan en probar y probar combinaciones hasta dar con la correcta. La gracia de este sistema es que cogiendo números cada vez más grandes, la parte de encontrar primos y multiplicarlos es más o menos siempre de la misma complejidad, en cambio cuanto más grandes los números muchísimas más combinaciones a probar, con lo que se puede volver imposible la factorización, aunque usásemos todos los ordenadores del mundo.

Y en eso se basa la criptografía moderna en coger claves (números) suficientemente grandes como para que ni con todos los ordenadores del mundo trabajando en paralelo se pudiese romper (factorizar) la clave.

Pero la computación cuántica puede tener billones o trillones de ejecuciones en paralelo probando combinaciones, para colapsar a la correcta. Esto hace que cualquier secreto, certificado de hoy en día pueda reventarse en poco tiempo, con la ayuda de un procesador cuántico. Las implicaciones son tremendas:

  • Un sniffer podrá ver o interacturar en medio de una comunicación HTTPS.
  • Un servidor pirata podrá generarse el sólo un certificado correcto para un dominio.
  • Cualquier documento podrá firmarse con la firma de otro.
  • Los textos cifrados, podrán descifrarse.
  • Las monedas basadas en block-chain podrán ser manipuladas, de forma que se deduzcan las claves para una cartera virtual. El dinero podría robarse por cualquiera con un ordenador cuántico.

¿Pero esto es real?

El panorama que se presenta es muy impresionante, y es real. Los expertos hablan de poder tener ordenadores cuánticos capaces de hacer estas cosas en muy poco tiempo, en años o meses. Las malas lenguas dicen que hay países almacenando contenido cifrado, con la esperanza de descifrarlo a la que tengan la oportunidad.

Las grandes empresas del mundo están invirtiendo millonadas en computación cuántica.

Así que, sí: Esto es real. Y seguramente todos lo veremos dentro de poco tiempo.

Sobre el autor

Jose M. Huerta

Jose es Gestor de Proyectos y Gestor de Servicios en Mallorca. Es Ingeniero de Telecomunicaciones y obtuvo el Master of Advanced Studies durante su etapa como investigador. Pero no tardó en abandonar ese mundo y meterse de cabeza en el mundo de las Tecnologías de la Información. Está certificado como ITIL Expert. Tiene amplia experiencia en gestión de servicios, clásica e integrada con desarrollo, gestión de proyectos, usando metodologías clásicas y ágiles, gestión de programas y portfolios, gestión de grandes grupos de personas, localizadas y off-shore, sin dejar de perder de vista el lado técnico y freak del sector. Ha trabajado en varias empresas del sector con distintos roles en áreas tanto de gestión de servicios de soporte como de equipos de desarrollo. Actualmente trabaja en WebBeds, como responsable del equipo de operaciones TI.

5 comments

  1. Gonzalo 5 diciembre, 2018 at 16:40 Responder

    Muy buena entrada Jose! Alarmante si se da en el futuro como algo cotidiano, toda la seguridad informatica va a tener que migrar a algo nuevo que no sabemos que sera!
    Detalle, tecnicamente no existe la fisica cuantica, es mecanica cuantica, que es la rama de la fisica que estudia esos fenomenos. Es todo probabilistico y se determina por el observador, no existe el modelo de atomo como dibujamos sino es una nube de electrones donde hay probabilidades de encontrarlo a ese nivel atomico se llama mecanica cuantica.

    • Jose M. Huerta 7 diciembre, 2018 at 18:21 Responder

      Tienes razón. Aunque en mi favor decirte que también está muy extendido el uso de “física cuántica”. Pero es cierto que el término correcto es “mecánica cuántica”. Ahora repaso y lo corrijo.

      • Gonzalo 7 diciembre, 2018 at 18:29 Responder

        Si es verdad eso Jose, en lo cotidiano y hasta en peliculas, se usa mas fisica que mecanica, por eso puse tecnicamente, cotidianamente se usa mas fisica

  2. Andres 7 diciembre, 2018 at 10:00 Responder

    Interesante entrada 🙂

    Dos comentarios (pedantes, como no):

    1) Ya en marzo Google decía tener un ordenador de 72 qubits: https://www.sciencenews.org/article/google-moves-toward-quantum-supremacy-72-qubit-computer

    2) Sobre la manipulación de monedas virtuales… el paper de Bitcoin ya contemplaba ataques por computación/mecánica cuántica y tenía sistemas para mitigarlo. De hecho una dirección Bitcoin es un doble hash de una clave pública ECDSA (SHA256 + RIPEMD-160). Atacar una dirección requiere hallar la preimagen del hash (la clave pública) y luego romper el ECDSA de 256 bits para hallar la clave privada, lo cual no es trivial, ni siquiera para ordenadores cuánticos.
    Tan solo se conoce la clave pública cuando haces una transacción y mueves el dinero fuera de la dirección. El tiempo entre que se emite la transacción con la clave pública “plana” y acaba en el blockchain suele ser de minutos. Así que hay una ventana muy específica de tiempo para realizar el ataque. Si luego no vuelves a usar más esa dirección (que es lo que se recomienda en “primero de Bitcoin”) entonces ese vector de ataque es difícil de explotar.
    Se calcula que para romper Bitcoin deberías usar un ordenador cuántico de 1500 qubits. Y para cuando eso ocurra, se puede migrar el Bitcoin para que usen algoritmos resistentes a ataques cuánticos como firmas de Lamport-Diffie. Otra cosa es que los mineros de Bitcoin queden de acuerdo para hacer el cambio (si para cambiar el tamaño de bloque de 1MB no han sido capaces en todos estos años… quizás corran cuando vean que sus cuentas se vean amenazadas xDD).
    https://en.bitcoin.it/wiki/Quantum_computing_and_Bitcoin
    https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses

    • Jose M. Huerta 7 diciembre, 2018 at 18:36 Responder

      Tú nunca eres pedante…
      Pero creo que has superado el record de “tamaño de comentario” en el blog.
      En cuanto a lo de el número de Qbits, es lo que tiene tener un artículo en “cache” durante un año. Cuando lo escribía, IBM acababa de anunciar su modelo de 50 qubits. Tendría que haber actualizado algunas cifras.
      En cuanto a romper BitCoin… bueno, no me refería en concreto a Bitcoin, sino a blockchain en general. Para el caso de block-chain, hay estimaciones optimistas que hablan de 2027 como aquí.
      Llámame alarmista o sensacionalista, pero cada vez que me pongo a leer sobre este tema… me acojono un poco. Y creo que no tardarán en hacer una peli en Hollywood sobre el tema 🙂

Post a new comment