Un nativo de Dinamarca, Jens Groth se interesó por la criptografía siendo estudiante en la Universidad de Aarhus, donde obtuvo una maestría en matemáticas y un doctorado en informática, específicamente en criptografía. De allí pasó a la Universidad de California, Los Ángeles (UCLA), donde realizó un posdoctorado que revolucionó “pruebas de conocimiento cero” – una tecnología que se ha vuelto muy importante en blockchains.
Groth ha estado trabajando en pruebas de conocimiento cero desde entonces, haciendo más contribuciones importantes en el camino.
Una prueba de conocimiento cero es un protocolo entre dos partes: un “probador” y un “verificador”. A través de una interacción, el probador demuestra al verificador que algo es cierto pero no revela ninguna información específica sobre por qué es cierto.
“Esta idea se remonta a la década de 1980”, dice Groth. “Los informáticos estaban analizando el concepto de pruebas matemáticas y notaron el hecho mágico de que en realidad no es necesario brindar información más allá del hecho de que algo es cierto.
“En mi investigación, introduje algunas técnicas nuevas para construir pruebas de conocimiento cero de una manera más eficiente, lo que permitió que las pruebas fueran extremadamente compactas. Puede tener una declaración enorme y complicada que ocupa gigabytes de espacio y puede probar que es correcta con solo unos pocos cientos de bytes. Eso es súper compacto”.
Groth agrega: “Entré en esta área cuando estaba haciendo mi doctorado y estaba analizando los protocolos de votación. Ahí tienes a los votantes encriptando sus votos, para que nadie más vea cuál fue su voto. Existen algunos mecanismos de conteo, por lo que puede agregar una gran cantidad de votos encriptados y obtener los resultados correctos sin mirar dentro de cada texto cifrado individual.
“Pero esos métodos de agregación se estropean si los votantes ingresan votos inválidos. Por ejemplo, podría hacer que alguien ingrese menos 1,000 votos para Alice en su texto cifrado. Resulta que puede usar pruebas de conocimiento cero para demostrar que el texto cifrado que está enviando contiene un voto correcto, que es una de las opciones elegibles, sin indicar cuál de esas opciones es”.
Estos mismos protocolos se pueden utilizar de muchas otras formas. Podrían permitir que un usuario demuestre que se encuentra dentro de un cierto rango de edad, sin tener que revelar exactamente cuántos años tiene. Los usuarios también podrían demostrar que tienen ingresos suficientes para obtener un préstamo, sin tener que revelar los ingresos exactos o las fuentes.
Groth describe el conocimiento cero como una “navaja suiza” para garantizar. Cuando una computadora ejecuta un protocolo, puede usar una prueba de conocimiento cero para asegurarse de que lo está haciendo correctamente y sin desviarse del protocolo. Y esta garantía viene con total privacidad: las pruebas de conocimiento cero no revelan datos confidenciales que tiene la computadora.
El desafío restante es hacer que las pruebas de conocimiento cero sean lo suficientemente eficientes como para que no provoquen una desaceleración inaceptable. Los inventos de Groth han reducido drásticamente este costo y han inspirado más investigaciones. Encontrar más mejoras en la eficiencia es ahora un área de investigación muy activa.
La computadora de Internet
Groth ha pasado de la academia a la industria y ahora aplica su experiencia a Internet Computer, que se fundó con la idea de tener una plataforma informática distribuida que nunca se apaga. La idea es que, al igual que tiene un Internet compartido, puede tener servicios informáticos compartidos a los que todos puedan acceder y que los desarrolladores puedan aprovechar. La intención es proteger no solo contra fallas técnicas y ataques, sino también contra el control corporativo, a través de un gobierno descentralizado.
Todos los cálculos se replican en varias computadoras que se ejecutan en diferentes centros de datos en todo el mundo, por lo que incluso si una de ellas se descompone o es pirateada, la computadora de Internet aún funciona.
Groth es director de investigación en DFINITY, una organización sin fines de lucro con sede en Zúrich que construyó y puso en marcha la computadora de Internet. La plataforma es de código abierto y DFINITY es actualmente su mayor contribuyente. La visión a largo plazo es hacer crecer una gran comunidad en torno a Internet Computer, siendo DFINITY solo uno de los muchos contribuyentes.
Internet Computer utiliza la tecnología blockchain para permitir que las máquinas de todo el mundo lleguen a un acuerdo sobre el orden en que ejecutan las entradas. Sin embargo, lograr un acuerdo entre las máquinas tiene un costo.
“Para cualquier cadena de bloques, es costoso escribir en la cadena de bloques”, dice Groth. “Cada vez que haces una escritura, todas las máquinas deben actualizarse exactamente de la misma manera. Tienen que llegar a un consenso sobre cuál es ese camino. Todas las máquinas hablan de un lado a otro y acuerdan el orden en el que quieren ejecutar todos los mensajes entrantes de miles de usuarios.
Jens Groth
“Si una de las máquinas no funciona o no puede conectarse a otra máquina, no puede votar sobre el orden de los mensajes. Internet Computer tiene un mecanismo incorporado para que sea resistente a esta situación: solo requiere que una gran mayoría de máquinas esté de acuerdo, por lo que si una de las máquinas es pirateada, el resto puede continuar sin ella”.
Un aspecto importante de la computadora de Internet es que proporciona computación de propósito general. Los desarrolladores pueden crear aplicaciones en él, usando su lenguaje favorito. La mayoría de la gente programa en Rust o Motoko, que es un lenguaje especial desarrollado por DFINITY. Compilan su código en algo llamado WebAssembly, que está más cerca del código de máquina. Esto permite a los desarrolladores escribir una aplicación y desplegarla en todo el mundo. Al hacer esto en la computadora de Internet, la aplicación se ejecuta con seguridad garantizada.
Se espera que Internet Computer sea un importante facilitador de Web3, la próxima iteración de la World Wide Web, que estará altamente descentralizada y potenciada por tecnologías de cadena de bloques. Los futuristas especulan que esta versión descentralizada de la Web reduciría la dependencia de los principales actores tecnológicos, como Google y Facebook, y se podrían desarrollar modelos comerciales más cooperativos con menos dependencia de los ingresos publicitarios.
Web3 también conduciría a finanzas descentralizadas, permitiendo a los usuarios cambiar moneda en forma de fichas, sin involucrar a bancos o gobiernos.
Pero no se espera una revisión tan grande en la década actual. Esto significa que para cuando Web3, o alguna variante, se vuelva dominante, la computación cuántica puede ser práctica. Si ese es el caso, se deberá abordar un conjunto completamente nuevo de preocupaciones de seguridad.
Seguridad poscuántica
“Sabemos desde hace mucho tiempo que las computadoras cuánticas podrán descifrar parte de la criptografía que usamos hoy”, dice Groth. “No todos los algoritmos criptográficos serán susceptibles a los ataques cuánticos, pero algunos de los más populares sí lo serán. Todo lo que se base en el problema del logaritmo discreto o en el problema de la factorización debe cambiarse.
“La computación cuántica no está en el punto en el que podamos romper la criptografía clave tal como se implementa hoy en Internet. No sabemos exactamente cuánto tiempo tomará, pero definitivamente está en el horizonte y debemos prepararnos ahora porque lleva mucho tiempo desarrollar e implementar la criptografía que necesitaremos para protegernos contra las computadoras cuánticas. .”
Groth agrega: “Hay que hacer una distinción entre la criptografía que usamos para verificar cosas y la criptografía que usamos para almacenar o intercambiar información. Por ejemplo, si creo una firma digital en un documento, se la envío y usted la verifica ahora mismo, no tenemos que preocuparnos porque las computadoras cuánticas no están en un estado en el que puedan falsificar las firmas digitales que se usan comúnmente.
“Sin embargo, cuando la información se almacena o intercambia en mensajes cifrados, es importante pensar en la criptografía poscuántica en este momento. Un atacante podría interceptar un mensaje y guardarlo durante cinco o diez años, y luego usar una computadora cuántica para descifrarlo.
“El cómputo seguro de múltiples partes es un ejemplo de algo que requiere protección poscuántica. Su objetivo es facilitar el cómputo con privacidad. Para mantener la privacidad de la información confidencial, debe cifrar los datos. También tienes este problema de almacenamiento. Si un pirata informático toma y almacena toda la comunicación durante algunos años, hasta que las computadoras cuánticas se vuelven reales, entonces, cuando obtienen acceso a una computadora cuántica, pueden descifrar la información que han almacenado”.
Groth señala que organizaciones como la Agencia de Seguridad Nacional de los EE. UU. ya están almacenando información cifrada que podrían descifrar más adelante cuando la computación cuántica pueda descifrar el cifrado. Las agencias de inteligencia en otros países del mundo ciertamente están haciendo lo mismo.
Afortunadamente, la comunidad criptográfica se está dando cuenta de esta preocupación. El Instituto Nacional de Estándares y Tecnología ha estado organizando concursos para que los investigadores estandaricen nuevos protocolos criptográficos que sean seguros contra los atacantes cuánticos.
“Definitivamente estamos interesados en la seguridad poscuántica en DFINITY”, dice Groth. “Actualmente, nuestra criptografía se basa en el problema del logaritmo discreto. Esto funciona bien ahora, pero a la larga pondría en peligro la computadora de Internet. Tomemos, por ejemplo, nuestras firmas digitales. Los usamos para certificar todos los datos que provienen de la computadora de Internet. Si tuvieras una computadora cuántica en este momento, podrías simplemente ir y hacerte pasar por alguien.
Jens Groth
“Necesitamos encontrar una tecnología de reemplazo para eso. No necesitamos implementarlo en este momento, pero deberíamos tenerlo listo antes de que las computadoras cuánticas se conviertan en algo real”.
La seguridad poscuántica es crítica para el futuro no solo de la computadora de Internet, sino también para la cadena de bloques en general, las transacciones bancarias y mucho más. En muchos casos, Internet Computer se basa en protocolos estándar de uso generalizado. Por ejemplo, se utilizan firmas digitales y seguridad de la capa de transporte (TLS).
Groth no espera tener que trabajar mucho en estos protocolos estándar, porque la comunidad criptográfica más amplia ya está trabajando para estandarizar las firmas digitales poscuánticas y TLS. La tarea de las personas que trabajan en la computadora de Internet será simplemente encontrar la mejor de esas herramientas e implementarla. El desafío está en la solución avanzada que utiliza Internet Computer.
“No solo tenemos que modificar nuestros protocolos para usar algunas de las soluciones de seguridad post-cuánticas que se están desarrollando, sino que también tenemos que crear algunas herramientas nosotros mismos”, dice Groth. “Hay áreas, soluciones sofisticadas para propósitos especiales, donde no podemos esperar que la comunidad resuelva los problemas por nosotros. Queremos mantener la misma funcionalidad y seguridad para la computadora de Internet sin ser vulnerable a los ataques cuánticos. Hay mucha investigación por hacer al respecto.
“Y luego hay una cosa final, que es la criptografía que aún no tenemos, pero que también debe ser segura después de la cuántica. Uno de los proyectos de investigación que tenemos es construir en la confidencialidad de la computadora de Internet. Queremos poder cifrar los datos que contiene la computadora de Internet. Es posible que queramos calcular datos encriptados de modo que nadie pueda saber qué está pasando. Queremos un entorno de tiempo de ejecución confiable”.
Groth agrega: “Hay diferentes enfoques. Una es que podría tener un entorno de ejecución confiable, que básicamente es confiar en que el chip tiene un entorno de ejecución confiable. La idea es que si lo manipulas, se romperá. El problema es que es difícil confiar en el hardware porque ha habido bastantes ataques en estos entornos de ejecución de confianza.
“Si está enviando hardware y luego encuentra un error, es difícil reemplazarlo. Un enfoque alternativo es el cálculo seguro de múltiples partes, que se basa en la criptografía para proteger la confidencialidad. Pero esto se basa en gran medida en el cifrado y, por lo tanto, debe ser seguro después de la cuántica”.
El papel cambiante de la confianza
Los avances en ciberseguridad, como la invención de la criptografía de clave pública, han permitido el comercio por Internet, donde dos o más partes que nunca se conocieron y nunca se conocerán pueden establecer un vínculo seguro e intercambiar dinero. Con una descentralización cada vez mayor y una mayor dependencia de los intercambios entre pares, es probable que la seguridad cibernética se vuelva aún más importante en las próximas décadas.
Las economías dependen cada vez más de los intercambios electrónicos, y los bancos y los gobiernos ya no tienen el control que tenían antes. A primera vista, podría suponer que se requiere más confianza. Pero, gracias a investigadores como Jens Groth, la necesidad de confianza ha disminuido: se puede hacer que los sistemas informáticos cooperen sin depender de una parte central.