La zk-STARK es un género de pruebas criptográficas enormemente seguras que utilizan los principios de las Pruebas de Conocimiento Cero (ZKP) para crear datos cifrados que pueden ser de forma fácil verificados sin descubrir información sensible sobre tales datos, y lo mejor de todo, con resistencia a la computación cuántica garantizando su seguridad en un futuro no tan lejano.  

Las pruebas (o bien protocolos) de conocimiento cero (ZKP) han evolucionado mucho desde su creación, y una de esas evoluciones son las zk-STARKs. El término zk-STARK es el acrónimo de Zero-Knowledge Scalable Transparent Arguments of Knowledge. Este es un un término que en castellano significa; Prueba de Conocimiento Cero con Razonamientos Trasparentes Escalables. Dicho término hace referencia a una derivación de las conocidas pruebas zk-SNARKs que proyectos como Zcash emplean en su blockchain, para proveer un alto grado de privacidad y anonimato, y que hemos estudiado de antemano.

Sin embargo, las zk-STARKs son más que una pequeña derivación, sino realmente, son una mejora significativa de las zk-SNARKs. Y esto no es solo por el hecho de que son menos complejas de efectuar, sino más bien pues son más seguras, e inclusive resistente a la computación cuántica. En resumen, son el futuro inmediato de las pruebas de conocimiento cero, singularmente, si deseamos estar seguros frente a la poco a poco más próxima, tecnología de computación cuántica.

Pero ¿De qué forma marcha una zk-STARKs? ¿Cuáles son sus ventajas y peligros? ¿Qué proyectos blockchain se proponen emplearlas en un futuro próximo? Puesto que bien eso lo vas a saber ahora.

zk-STARKS, una mejora para algo ya por sí sorprendente

Como hemos mentado al comienzo, las zk-STARKs son una mejora de las conocidas pruebas zk-SNARKs. Una mejora precisa debido a la gran dificultad algorítmica, matemática y criptográfica que representan las pruebas zk-SNARKs. Es cierto, las zk-SNARKs son pruebas magníficas y segurísimas, mas son muy complejas a nivel algorítmico. Es tanto es de este modo, que aun especialistas en criptografía tienen inconvenientes en advertir fallos en exactamente las mismas.  

Lo precedente puede sonar como algo increíble, mas es la verdad, y esto se hizo patente cuando Zcash, presentó un gravísimo error en su código. El fallo en cuestión, dejaba que cualquier persona pudiese crear criptomonedas de la nada. De este modo, lo que todos pensábamos que era imposible en las criptomonedas, producir monedas de la nada, un pequeño fallo en la criptografía zk-SNARK de Zcash lo hacía posible.

Sin embargo, para determinada calma de los desarrolladores de Zcash, el fallo era tan complejo de advertir, que solo unas realmente pocas personas en el planeta hubiesen tenido el conocimiento preciso para advertirlo y explotar el fallo. De cierta manera, evitaron el desastre de un alud de monedas “falsas” solo por el hecho de que la criptografía es tan compleja que pocos la comprenden. Mas esta situación está lejísimos de ser la idónea y debe evitarse a cualquier costo, pues la “Seguridad por oscuridad” no es seguridad real.   

La extrema dificultad es contrincante de la seguridad

Por otro lado, este hecho  asimismo puso el énfasis en una realidad: las zk-SNARKS podrían transformarse en el peor contrincante de las monedas de privacidad como Zcash. Y es que, si bien cueste aceptarlo, que un sistema de seguridad criptográfica sea tan complejo de depurar, no es nada bueno. Por fortuna, esta es una realidad que era famosa mucho ya antes de este fallo, y fue lo que llevó al desarrollo de las zk-STARKs. 

A continuación vamos a hablar más en detalle del origen de las zk-STARKS y de de qué manera pueden ofrecernos más seguridad, con menos dificultad. 

zk-STARKS Explained – Quantstamp

Jan Gorzny, estudioso de blockchain en Quantstamp, explica qué son las zk-STARKs, una novedosa forma de criptografía de conocimiento cero que tiene fuertes garantías de privacidad.

Los comienzos de una criptografía potente mas simple

Para conocer los comienzos de las zk-STARKs debemos trasladarnos por año de mil novecientos noventa, data en la que comenzaron los primeros trabajos sobre estas pruebas. En ese instante se comenzaron las investigaciones y desarrollos preliminares de la tecnología de zk-STARKs. No obstante, estos sistemas iniciales resultaron ser poco prácticos. 

No fue hasta el momento en que Eli Ben-Sasson, Iddo Bentov, Yinon Horesh y Michael Riabzev, presentaron en dos mil dieciocho, su trabajo conjunto “Scalable, transparent, and blog post-quantum secure computational integrity” (en castellano, Integridad computacional segura escalable, transparente y artículo-cuántica). El trabajo presentado es único en su estilo, probando una construcción criptográfica sólida, que dejaba muy atrás a las conocidas pruebas zk-SNARKs de Zcash. Y lo mejor de todo: eran considerablemente más fáciles de aplicar y seguras que su contraparte. 

Esto lo conseguirían con una aproximación considerablemente más elemental sobre el de qué manera crear una prueba de conocimiento cero. Más particularmente el abandonar a la construcción de un área de trabajo criptográfica o bien “black box” enormemente fiable. Lo que semeja contrario a cualquier principio de seguridad en criptografía, era aplicado en este nuevo sistema. Mas al tiempo, dicha resolución dejaba reducir la dificultad del sistema, el trabajo preciso para su realización, y no renunciaba a la seguridad, sino al revés habilitaba nuevas vías para ofrecer una mayor.  

De esta forma y empleando criptografía homomórfica, computación multipartita segura (MPC) y pruebas interactivas, estos estudiosos, consiguieron diseñar zk-STARK. En resumen, zk-STARK es la unión de, de qué manera mínimo, cincuenta años de investigaciones en criptografía. Un trabajo en el que influyeron psiques tan refulgentes como las de Shafrira Goldwasser y Silvio Micali. 

Así con esta arriesgada aproximación, zk-STARK empezaría su camino para transformarse en un digno contrincante de zk-SNARK, apuntado a ser el sistema de criptografía que muchas criptomonedas emplearán en el futuro, un futuro que podría estar dominado por las computadoras cuánticas. 

¿Qué es lo que significa zk-STARK?

El término de zk-STARK puede ser seccionado de la próxima forma: 

  1. zk, como en conocimiento cero y con gran énfasis en preservación de la privacidad, 
  2. Escalable (S – Scalable), puesto que la prueba es de un tamaño parcialmente “pequeño” (o bien admisible), y la verificación toma exponencialmente menos tiempo que la ejecución de cálculos ingenuos (o sea, es prácticamente instantánea, aun para pruebas grandes)
  3. Transparente (T – Transparent), en tanto que no hay requisitos para una configuración fiable, como en los sistemas zk-SNARK.
  4. Argumento (AR – ARgument), como en un esquema de prueba criptográfico computacionalmente seguro que consigue la integridad y firmeza de un lenguaje concreto.
  5. Conocimiento (K – Knowledge), en tanto que se fundamenta en declaraciones relacionadas con información en público famosa. 

Usos de los sistemas zk-STARK

El primordial empleo de sistemas de pruebas de conocimiento como zk-STARK, se centra en la creación de sistemas enormemente seguros y privados. Sistemas donde exista una total descentralización de la información, y exactamente la misma solo pueda ser accedida bajo una serie de condiciones meridianamente expresas. Condiciones que además de esto son difícilmente alcanzables por medios no usuales, como por servirnos de un ejemplo, un hackeo. 

Esto evidentemente incluye a sistemas como las criptomonedas, donde el empleo de criptografía no solo habilita la seguridad de la red, sino resguarda a los usuarios de exactamente la misma, les ofrece privacidad y anonimato conforme sea el caso. Y es exactamente en estas últimas donde, zk-SNARK relucen, pues como toda prueba de conocimiento cero, son idóneas para la privacidad y el anonimato al no descubrir de ninguna forma la información, mas dejando al tiempo una herramienta para validar la transacción de forma indudable y determinista. Esto es, zk-STARK no revela la información que cifra, mas siempre y en todo momento vas a poder validar su veracidad sin importar un mínimo que. 

Mejorar la escalabilidad de las blockchains

Otro posible empleo de las zk-STARK está en impulsar la escalabilidad de la blockchain, dejando que las pruebas criptográficas ocupen menos espacio. En criptomonedas como Bitcoin, donde el tamaño de bloque es un limitante en la cantidad de transacciones que se pueden procesar por segundo, esto es esencial. Con pruebas criptográficas de menor tamaño, las transacciones asimismo ocupan menos espacio, y caben más transacciones en todos y cada bloque. El efecto se hace más grande conforme se aplica en miles y miles de transacciones, y con esto, se consigue progresar la escalabilidad. No obstante, esto es solo una parte en una solución de escalabilidad, pues las pruebas criptográficas más pequeñas no van a hacer que la blockchain aumente su desempeño de forma radical. 

Otros posible usos de este género de sistemas sería por poner un ejemplo, los sistema de streaming con copyright absolutamente cifrados y seguros. Con esto no serían precisos los presentes sistemas de cifrado basados en criptografía simétrica en su mayor parte. Los sistemas de votación electrónicos asimismo se favorecen enormemente de esta clase de sistemas. Esto merced a que dejan que el votante pueda producir su voto, este puede ser verificado, mas en modo alguno vamos a saber quien lo emitió. 

Como puedes ver el potencial de las zk-STARK no solo está en el planeta blockchain, sino más bien asimismo considerablemente más allí. 

¿Cuánto sabes, criptonauta?

¿Se transformarán las pruebas ZKP como la zk-STARK, en un estándar de criptografía en un futuro?

Algunas diferencias entre zk-STARK y zk-SNARK

  1. Los zk-SNARK requieren una fase de configuración fiable al paso que los zk-STARK utilizan aleatoriedad en público verificable para crear sistemas de cómputo verificables sin confianza.
  2. Los zk-STARK son más escalables en concepto de velocidad y tamaño computacional en comparación con los zk-SNARK.
  3. Los zk-SNARK son frágiles a los ataques de los ordenadores cuánticos debido a la criptografía que utilizan. Los zk-STARK son hoy día resistentes a los ordenadores cuánticos.

Otros aspectos esenciales, podemos verlos en la próxima tabla comparativa, donde podemos ver los diferentes campos donde resalta zk-STARK en frente de otras pruebas ZKP conocidas.

zk-STARK y sus diferencias con otros sistemas

zk-STARK y sus aplicaciones el día de hoy en día

Seguramente te ha semejado sorprendente todo cuanto nos ofrece zk-STARK, mas desafortunadamente la tecnología es tan nueva (dos mil dieciocho) que no ha sido ampliamente probada, estudiada, y incluso no se aplica en ningún sistema de producción real. Ni tan siquiera en el planeta de las criptomonedas. 

De instante, la única utilidad famosa de las zk-STARK es desarrollada por Starkware, una compañía creada por los diseñadores de zk-STARK. La meta es diseñar una cama de prueba que habilite la tecnología para su empleo en blockchain, exchanges descentralizadas y considerablemente más. No obstante, van a pasar ciertos años más antes que podamos ver la tecnología aplicada en esos espacios. Indudablemente el futuro de la criptografía zk-STARK apunta a ser prometedor.