Qué es ZeroSync, conocimiento cero para comprimir la blockchain de Bitcoin
Qué es ZeroSync, conocimiento cero para comprimir la blockchain de Bitcoin

Qué es ZeroSync, conocimiento cero para comprimir la blockchain de Bitcoin

ZeroSync es un sistema de pruebas de conocimiento cero que usa zk-STARKs potenciadas por el lenguaje de programación Cairo para abordar los retos de escalabilidad, funcionalidad y sincronización de Bitcoin. Ha sido desarrollado por un equipo integrado por Robin Linus y Lukas George y forma parte de todas las innovaciones que han logrado hacerse un hueco recientemente en la mail list de Bitcoin, junto a Ordinals y BRC-20.

Qué es ZeroSync

 

Cairo es el lenguaje usado por ZeroSync para hacer realidad las zk-STARKs en Bitcoin
Cairo es el lenguaje utilizado por ZeroSync para hacer realidad las zk-STARKs en Bitcoin

El objetivo de ZeroSync es comprimir toda la cadena de bloques de Bitcoin en una única prueba de validez compacta. Permitiendo así la verificación instantánea y desbloqueando varias aplicaciones innovadoras. De esta manera, por ejemplo, para llevar a cabo la sincronización de los nodos de Bitcoin, una tarea para la que es necesario descargar unos 500 GB de datos, ya no llevaría horas o días en realizarse. Podría hacerse en unos pocos minutos y con una descarga inferior a los 10 GB de datos.

Por qué es importante la tecnología SPV para la blockchain de Bitcoin

Pero el potencial de ZeroSync es mucho más amplio. Por ejemplo, permitiría la implementación de una prueba de estado de cadena, utilizando el lenguaje Cairo, mejoras como UTReeXO y STARKs recursivos. Con estas nuevas capacidades, protocolos como Ligthning Network, Taro Protocol y RGB Protocol mejorarían sus capacidades de interoperabilidad, extensibilidad, seguridad y confianza. Todo ello, sin tener que realizar cambios en las actuales reglas de consenso de Bitcoin.

La importancia de mejorar la sincronización de Bitcoin

Sobre la relevancia de las mejoras de ZeroSync respecto a la capacidad de sincronización de nodos en Bitcoin  imaginemos que estamos sincronizando nuestro nodo de Bitcoin por primera vez. Este proceso nos obliga a descargar la totalidad de la cadena de Bitcoin, unos 500 GB de datos. Junto a la descarga, comenzamos a verificar todos los datos y al terminar nuestro nodo está totalmente sincronizado con la red. El problema es que descargar 500 GB de datos puede tardar toda una eternidad si la conexión a Internet es limitada en velocidad. Incluso, puede costar una pequeña fortuna si la conexión es medida por datos descargados.

Optimizando y acelerando la sincronización con ZeroSync

ZeroSync cambia por completo las reglas de este proceso. En lugar de descargar toda la cadena, se descarga solo el set o conjunto UTXO de Bitcoin. El conjunto UTXO de Bitcoin es el conjunto de todas las salidas de transacción no gastadas (UTXO, por sus siglas en inglés) que existen en la red Bitcoin. Cada UTXO representa una cantidad de bitcoins que puede ser gastada por el propietario de la clave privada correspondiente.

Ordinals y BRC-20, una oportunidad para reinventar Bitcoin Core

Además, el conjunto UTXO es una forma de registrar el estado actual de la cadena de bloques. Es decir, qué bitcoins pertenecen a quién y cuántos hay en circulación. El conjunto UTXO se actualiza cada vez que se produce una nueva transacción, añadiendo las nuevas salidas creadas y eliminando las salidas gastadas. El tamaño del conjunto UTXO es un indicador de la complejidad y la actividad de la red bitcoin, así como de la cantidad de espacio y memoria que se requiere para ejecutar un nodo completo.

UTXO Set de Bitcoin y su tamaño en la actualidad.
UTXO Set de Bitcoin y su tamaño en la actualidad

Actualmente, el UTXO de Bitcoin ocupa unos 5-6 GB de datos. Estos datos son procesados por medio de UTReeXO, una mejora capaz de acumular y sintetizar todos los datos del UTXO set para hacer más sencillo su manejo. En este punto, se obtiene desde la red un hash zk-STARKs que permite verificar si el set de datos generado UTReeXO es correcto. De serlo, puede utilizarse esta información para sincronizar rápidamente el nodo de Bitcoin que estamos instalando.

De esta manera, podríamos sincronizar un nodo de Bitcoin con total seguridad en apenas unos minutos, en lugar de horas o días, como pasa actualmente. Sin duda, una mejora de usabilidad y accesibilidad sin precedentes.

Abriendo las puertas a transacciones confidenciales

Asimismo, la propuesta de ZeroSync trae otras ventajas. Como la generación de zkCoins, un nuevo protocolo basado en zk-STARKs. zkCoins se define como un protocolo de validación del lado del cliente (CSV o Client-side validation) que combinado con zk-STARKs mejora drásticamente la privacidad y el rendimiento de las transacciones de tokens dentro de Bitcoin.

Qué es Ordinals, el sistema que pone fin a la desaparición de NFTs con Bitcoin

De esta manera, es posible agregar capacidades de transacciones confidenciales a Bitcoin. Incluso, a tokens de protocolos como Taro Protocol o RGB Protocol, los cuales funcionan y son totalmente compatibles con CSV. Por ejemplo, podríamos utilizar zkCoins con la capacidad de Taro Protocol para producir tokens sobre esta red, los cuales tendrían la capacidad de realizar transacciones confidenciales seguras. Por supuesto, lo mismo aplica a redes como Lightning Network o RGB Protocol, con lo que el potencial de esta tecnología es enorme.

Estado actual de la propuesta

ZeroSync se encuentra en un estado avanzado de desarrollo. En su repositorio de GitHub podemos ver todo el código necesario para la puesta en marcha de esta tecnología. Sin embargo, el equipo que trabaja en él busca pulirlo antes de lanzarlo de forma segura para su funcionamiento en mainnet. Esto se debe a ciertos errores, como el no soporte a SegWit y Taproot a la hora de realizar las pruebas zk-STARKs necesarias para realizar la sintetización de la data blockchain.

Asimismo, falta agregar soporte para la criptografía Schnorr, aunque el resto de sistemas criptográficos de Bitcoin ya está soportado (ECDSA, SHA256, HASH256, SHA1, RIPEMD160, HASH160). También falta optimizar el proceso de pruebas, ya que actualmente es intensivo en el uso de memoria. De hecho, el equipo ha realizado pruebas del software requiriendo para ello más de 128 GB de RAM para la generación de dichas pruebas. Esto no afecta el funcionamiento a nivel de usuario. Lo hace a nivel de  generador de pruebas de la red (algo así como un minero de datos para ZeroSync).

Cómo crear tu primera colección de NFTs en Thirdweb sin codificar nada

El cualquier caso, el proyecto ya se puede utilizar. En su web oficial se puede acceder a su framework y comenzar a trabajar.  De hecho, ya han desplegado una demostración online de las capacidades del software.

También puedes seguirnos en nuestros canales de Telegram Twitter

Comparte esto:
Esta web utiliza cookies. Puedes ver aquí la Política de Cookies. Si continuas navegando estás aceptándola   
Privacidad