Una breve historia del cero
ZK-SNARK. Aplicaciones ZK. ZK esto. ZK eso.
Estas dos letras, abreviatura de pruebas de conocimiento cero, están en todas partes en el mundo de las criptomonedas. Aparentemente, cada nueva startup incluye alguna iteración de ZK en su plataforma de lanzamiento. Incluso cadenas de bloques establecidas como Polygon, que hace negocios con empresas como Starbucks y Mastercard, han comercializado nuevos productos basados en las cartas publicitarias.
Algunos entusiastas de las criptomonedas están tan entusiasmados con las pruebas de conocimiento cero que creen que "se convertirán en una parte importante de la forma en que funciona la economía" y eventualmente se "enseñarán en la escuela secundaria", Jason Morton, profesor asociado de matemáticas en Penn. Indique quién está de permiso para construir su propia startup, bromeó con Fortune.
Y algunos van incluso más allá. "Las pruebas de conocimiento cero se convertirán en una parte fundamental de la infraestructura de la humanidad", dijo a Fortune Zooko Wilcox, CEO de Electric Coin Co., que lidera el desarrollo de la criptomoneda Zcash.
Pero, ¿qué hacen realmente las pruebas de conocimiento cero? ¿Y cómo se volvió tan, bueno, este zumbido de matemáticas?
En 1985, los académicos Shafi Goldwasser, Silvio Micali y Charles Rackoff publicaron lo que Michael Walfish, profesor de informática en la Universidad de Nueva York, denominó un "artículo monstruoso". Titulado "La complejidad del conocimiento de los sistemas de prueba interactivos", fue la primera articulación teórica de las pruebas de conocimiento cero, dijo a Fortune.
La técnica criptográfica, en esencia, te permite probar que sabes algo sin revelar lo que sabes. Para concretar lo abstracto, imagina dos amigos: uno daltónico y otro no. Hay una bola roja y una bola azul. El amigo daltónico esconde los dos detrás de su espalda, posiblemente mezclándolos, los presenta y el amigo con mejor visión dice si han sido cambiados. El amigo que está examinando las bolas, adivinando o incluso posiblemente mintiendo, tiene una oportunidad de cincuenta y cincuenta para elegir la correcta. Pero si el ejercicio se repite un millón de veces, es casi seguro que el amigo con mejor visión no pueda elegir la pelota correcta por casualidad. Al final del ejercicio, la amiga daltónica todavía tiene "cero conocimiento" de qué bola es de qué color, pero sabe que su amiga sí.
Los beneficios de privacidad de las pruebas de conocimiento cero son obvios. Podemos, por ejemplo, mantener la propiedad de nuestros propios datos bancarios y, a través de una prueba de conocimiento cero, verificar que calculamos nuestros puntajes de crédito correctamente, sin revelar nuestra información bancaria privada. O podemos demostrarles a los empleadores que conocemos nuestra identificación del Seguro Social sin mostrarles el número de nueve dígitos.
Sin embargo, las pruebas son complicadas y computacionalmente intensivas para producir, y durante años permanecieron en el ámbito de la teoría, no de la práctica.
A principios de la década de 1990, los investigadores describieron una categoría más general de pruebas llamadas pruebas sucintas, según Dan Boneh, profesor de informática e ingeniería eléctrica en Stanford.
Estos cálculos criptográficos permiten que alguien verifique que algo es cierto sin necesidad de analizar todas y cada una de las declaraciones. Un auditor puede, por ejemplo, asegurarse rápidamente de que alguien presentó correctamente una declaración de impuestos sin ver los datos de la declaración o verificar cada operación matemática.
Cómo funcionan las pruebas sucintas es más difícil de ilustrar a través de un ejemplo concreto que las pruebas de conocimiento cero. "La brevedad es mágica", dijo Boneh a Fortune. "No hay una buena explicación física de por qué es posible".
Dicho esto, la "concisión", o la necesidad de mucho menos tiempo para probar algo cierto, es lo que emociona a la mayoría de los empresarios e inversores criptográficos. Las cadenas de bloques como Ethereum son computadoras lentas y descentralizadas. A medida que los desarrolladores crean aplicaciones más complejas, aumenta el tiempo y la potencia informática necesarios para ejecutar las aplicaciones en blockchains. Las pruebas sucintas pueden resolver este problema al "probar" que el código se ejecutó correctamente fuera de la cadena o en computadoras más potentes que no son cadenas de bloques.
¿Por qué mencionar las pruebas sucintas al mismo tiempo que las pruebas de conocimiento cero? El esfuerzo necesario para convertir el primero en el segundo es generalmente mínimo, según le dijeron a Fortune varios criptógrafos. Por lo tanto, la gente tiende a combinar los dos términos.
"Puedes tener pruebas sucintas que no sean de conocimiento cero", dijo Boneh a Fortune. "Y puedes tener pruebas de conocimiento cero que no son sucintas".
Desde la década de 1990 en adelante, el conocimiento cero y las pruebas sucintas fueron en gran medida el ámbito de la academia. Pero a partir de 2010, los investigadores se dieron cuenta de que podían implementarlos en las máquinas modernas, dijo Walfish, profesor de la Universidad de Nueva York, a Fortune.
Con el auge de las computadoras más rápidas y la disponibilidad de fondos para la investigación criptográfica, dijo, personas como Justin Thaler, investigador de a16z Crypto y profesor asociado en Georgetown, describieron cómo generar pruebas sucintas y de conocimiento cero en máquinas reales.
El surgimiento de la computación en la nube, según Thaler, también dio un mayor impulso a la implementación. Las computadoras portátiles o los teléfonos inteligentes son más lentos que la potencia combinada de una flota de servidores de Amazon, pero con una prueba sucinta, una computadora de escritorio puede verificar que una franja de computadoras ejecutó correctamente un programa. "No soy yo quien hace la computación", dijo Thaler sobre la computación en la nube. "¿Por qué debería confiar la respuesta a otra persona?"
Y en 2009, el anónimo Satoshi Nakamoto inventó Bitcoin y la cadena de bloques. Con el lanzamiento de las cadenas de bloques surgió la necesidad de reducir sus cargas de trabajo computacional. "Es una computadora lenta que es costosa de operar", dijo Boneh sobre una cadena de bloques. "Y debido a eso, básicamente quieres tener que hacer el menor trabajo posible".
"Dar a las personas la libertad del banco central que controla la oferta monetaria y de todos los policías y autoritarios y vecinos entrometidos y todos los que quieren controlar a todos, todo eso es parte de la propuesta de valor de Bitcoin", Wilcox, CEO de Electric Coin Co. , le dijo a Fortuna.
Pero mientras que Bitcoin alguna vez fue visto como un libro de contabilidad seguro donde los usuarios podían enviar y recibir moneda digital más allá de las miradas indiscretas del gobierno, los investigadores y analistas emprendedores finalmente descubrieron cómo rastrear las transacciones y rastrearlas hasta individuos de carne y hueso.
En 2013, los académicos, aprovechando las mejoras en las implementaciones de prueba de conocimiento cero, describieron propuestas para "Zerocoin" y luego "Pinocchio Coin", que prometían hacer que las transacciones seudónimas de Bitcoin fueran "totalmente anónimas".
Los autores de Zerocoin eventualmente se asociaron con Wilcox, un científico informático y autoproclamado cypherpunk, para lanzar Zcash. La criptomoneda fue quizás la primera implementación de pruebas de conocimiento cero a una escala lo suficientemente grande como para que aquellos más allá de la academia interactuaran con la técnica matemática a diario.
Para lanzar la nueva criptomoneda, era necesario lo que desde entonces se ha denominado "La Ceremonia", un elaborado asunto de días de duración para garantizar que ningún mal actor descubra la clave criptográfica secreta necesaria para instanciar la criptomoneda. (Si los malos actores tuvieran la clave, podrían imprimir Zcash a puñados).
En 2016, Wilcox y su equipo realizaron con éxito "La Ceremonia", que incluyó cortar una computadora de escritorio Lenovo utilizada para generar la clave secreta con una amoladora angular y quemar los desechos electrónicos, y lanzaron Zcash, cuyos tokens aún se intercambian manos hasta el día de hoy. .
Si bien la "Ceremonia" inicial, o lo que los académicos llaman una configuración confiable, fue exitosa, también fue increíblemente involucrada. Y Wilcox y su equipo tendrían que volver a hacerlo cada vez que quisieran crear una nueva prueba de conocimiento cero para un conjunto diferente de cálculos.
Entonces, los investigadores y desarrolladores idearon formas de reducir cuán elaborada debía ser "La Ceremonia", según Riad Wahby, profesor asistente de ingeniería eléctrica e informática en Carnegie Mellon.
"Desde 2016 en adelante, hubo este movimiento hacia la eliminación de la fase de configuración confiable, o al menos para que pudiera hacer la configuración confiable una vez y luego reutilizarla para cualquier cálculo", dijo a Fortune.
Para 2019, los desarrolladores de repente tenían medios mucho más eficientes para generar pruebas de conocimiento cero sin quemar las computadoras de escritorio de Lenovo u organizar un grupo internacional de criptógrafos en Denver.
Al mismo tiempo, Ethereum, una cadena de bloques que es esencialmente una computadora lenta y descentralizada, estaba ganando popularidad. Más desarrolladores estaban creando aplicaciones más sofisticadas para ejecutarlas y, a su vez, necesitaban formas de mejorar la velocidad de las aplicaciones.
La mayoría de las pruebas de conocimiento cero, recuerde, son "sucintas" o permiten que alguien demuestre que algo es cierto sin auditar todas y cada una de las declaraciones. Para explotar esta propiedad, los desarrolladores "enrollan" o compilan y evalúan en masa las transacciones fuera de la cadena y prueban que lo hicieron con precisión mediante la producción de una prueba sucinta o de conocimiento cero. Una red de cadena de bloques solo necesita verificar la prueba, lo que lleva mucho menos tiempo en comparación con verificar cada transacción.
Pronto surgió una avalancha de soluciones acumulativas ZK, o conocimiento cero, en todo el mundo de las criptomonedas, como Aztec, zkSync y otras, para unirse a proyectos, como Zcash, que explotan la calidad de privacidad de las pruebas de conocimiento cero. (De hecho, la mayoría de los resúmenes de ZK no preservan la privacidad en absoluto, dice Wahby).
Los investigadores ahora continúan impulsando las capacidades de las pruebas de conocimiento cero para hacerlas más eficientes y permitir a los desarrolladores "programarlas" fácilmente, o poner programas de computadora en una prueba sin personalizar uno para un nuevo programa cada vez.
"La gente realmente piensa que este es el gran problema con las pruebas en este momento", dijo Wahby de Carnegie Mellon a Fortune. "Son muy, muy difíciles de usar para los programadores".
Aun así, algunos están comenzando a usarlos para abordar problemas más existenciales que mejorar las cadenas de bloques lentas. Los investigadores están, por ejemplo, diseñando pruebas de conocimiento cero para verificar si se ejecutó el algoritmo de IA correcto, verificación que se vuelve aún más importante cuando un modelo de aprendizaje automático está, hipotéticamente, diagnosticando cáncer o intercambiando miles de millones de dólares.
Wilcox de Zcash cree que, dentro de cinco a 10 años, las pruebas de conocimiento cero funcionarán en segundo plano siempre que interactuemos con la tecnología. "Todo eso se basará en pruebas de conocimiento cero para que no sea pirateado y explotado por un estado-nación extranjero cada vez que abra su teléfono o se suba a su automóvil", dijo a Fortune.
Si las predicciones de Wilcox resultan ciertas, tal vez pasemos de ZK esto y ZK aquello y olvidemos las letras por completo. "Las pruebas de conocimiento cero han evolucionado hasta el estado", agregó, "donde ahora están listas para ser utilizadas para todos los propósitos".
Obtenga más información sobre todas las cosas criptográficas con tarjetas de lecciones breves y fáciles de leer. Haga clic aquí para ver el Curso acelerado de criptomonedas de Fortune.