-
La prueba de conocimiento cero es un protocolo enfocado en la eficiencia y seguridad de un sistema.
-
La herramienta se puede probar desde el navegador, a travรฉs de un demo y desde iPhone.
El equipo de ZeroSync desarrollรณ un sistema para verificar el estado mรกs reciente del archivo y la red de Bitcoin, que se basa en pruebas STARK, un tipo de prueba criptogrรกfica de conocimiento cero. La herramienta se puede usar desde el navegador o se puede instalar en una computadora, y tiene la ventaja de que utiliza menos recursos computacionales que las pruebas criptogrรกficas actualmente implementadas.
En una primera etapa, los nodos y los clientes ligeros de Bitcoin pueden verificar los cabezales de los bloques, que tienen un hash de identificaciรณn, informaciรณn sobre la validez de las transacciones contenidas, la prueba de trabajo y el nivel de dificultad de la red.
De acuerdo con el equipo de ZeroSync, luego de completar la primera etapa del proyecto, sucesivas actualizaciones ofrecerรกn estados mรกs completos de Bitcoin que se verifiquen con prueba de conocimiento cero, un protocolo criptogrรกfico que permite a una parte (el probador) demostrar a otra parte (el verificador) que sabe un secreto sin revelar ninguna informaciรณn adicional sobre ese conocimiento (por ejemplo, demostrar que se realizรณ una transacciรณn sin revelardesde cuรกl direcciรณn). En otras palabras, en esta etapa del desarrollo de la herramienta no se pueden verificar transacciones individuales ni firmas digitales.
Cabe destacar que este protocolo no requiere ninguna modificaciรณn del cรณdigo de Bitcoin, porque funciona del lado del cliente (nodos o computadoras que ejecutan el software de Bitcoin).
El protocolo puede ser utilizado desde el navegador (demo), desde un iPhone (demo) y por clientes ligeros de wallets o nodos que instalen la herramienta disponible en cรณdigo abierto en GitHub.
En tรฉrminos prรกcticos, la verificaciรณn del estado de Bitcoin con conocimiento cero podrรญa proporcionar una mayor escalabilidad, privacidad y seguridad en aplicaciones y redes de segunda capa, como indican los desarrolladores de ZeroSync.
Por ejemplo, la red Lightning puede obtener mayores niveles de privacidad a travรฉs de enrutamiento de canales privados o la compresiรณn del historial de transacciones para protocolos de validaciรณn del lado del cliente como Taproot Asset y RGB. Tambiรฉn podrรญa ser aprovechada por cadenas laterales como Liquid o Counterparty.
La prueba STARK
ZeroSync utiliza una prueba de conocimiento cero (ZKP por sus siglas en inglรฉs) denominada prueba zkSTARK (zero knowledge scalable transparent proof of knowledge). Este tipo de prueba no requiere grandes recursos computacionales ni descargar el estado completo de Bitcoin, algo similar a lo que hacen los clientes ligeros de las wallets.
De esta manera, ZeroSync permite a cualquier nodo conocer el estado por lotes de cabezales (simultรกneos o en secuencia) de bloque, utilizando entre otras caracterรญsticas la recursividad, que es un proceso mediante una funciรณn que se llama a sรญ misma o llama a otras. El cabezal de los bloques proporciona informaciรณn vital del estado de la red, que permite mantener la integridad del archivo.
Como indicรณ Olaoluwan Osuntokun, desarrollador y CTO de Lightning Labs, una simple prueba de los cabezales de los bloques, sin importar el nรบmero de bloques, solo requiriรณ 1,4 kb de almacenamiento.
Por su parte, Robin Linus, uno de los desarrolladores de ZeroSync, explicรณ que si 14 equipos (servidores) realizan pruebas, con una velocidad de reloj de 5Ghz, de 500 GB de almacenamiento y 1T de informaciรณn intercambiada, durante 8 dรญas, probablemente cueste USD 4.000. La verificaciรณn (del lado del cliente), por su parte, solo requiere 200 KB y solo tardarรญa 5 segundos en un iPhone.
El lenguaje Cairo
La herramienta utiliza una arquitectura de CPU (o lenguaje) denominada Cairo, que permite verificar de manera instantรกnea la validez de las pruebas que se ejecutan en la cadena de Bitcoin.
Las pruebas de conocimiento cero convencionales, tรฉcnicas criptogrรกficas que permiten a un participante demostrar a otro que conoce un secreto sin revelarlo, son computacionalmente exigentes. โEsto hace que el proceso de representar una afirmaciรณn que se desea probar o verificar sea bastante complicado, ya que este proceso requiere un nuevo conjunto de ecuaciones para cada afirmaciรณnโ, se lee en el documento tรฉcnico del proyecto.
El lenguaje Cairo, junto con la prueba STARK, reduce la exigencia computacional debido a que permite escribir un programa que describe una afirmaciรณn que se desea probar (por ejemplo, cuรกl es el mรกs reciente estado de la red y del archivo de Bitcoin) sin escribir conjuntos de ecuaciones complejas.
Para usar Cairo, es necesario activar el entorno Python en el que estรก instalada la herramienta. Sin embargo, ya existe un prototipo que se puede ejecutar desde el navegador. Este verificador de cabezales de Bitcoin se ejecuta como un demo y utiliza miniSTARK, una implementaciรณn que funciona con GPU, a travรฉs de WebAssembly, un formato de cรณdigo binario portรกtil para la ejecuciรณn รญntegra en navegador de scripts de lado del cliente.
โEste prototipo es un trabajo en progresoโ, se lee en la pรกgina web, por lo que advierten que en este punto del desarrollo no se puede verificar todavรญa ninguna transacciรณn. โEs demasiado temprano para invertir importantes recursos computacionales en generar una prueba de toda la cadena. Sin embargo, a medida que avancemos, mantendremos esta demostraciรณn actualizada con pruebas en cadena mรกs largas y completasโ, indican.
Desde hace varios aรฑos, los desarrolladores de Bitcoin han discutido sobre la posibilidad de integrar pruebas de conocimiento cero, compatibles con Bitcoin. Este parece ser un paso importante en esa direcciรณn, donde ya los desarrolladores de Ethereum han dado un interesante recorrido.