Uncategorized

¿Qué es Sigma y por qué sustituye a Zerocoin en Zcoin?

By marzo 20, 2019 No Comments
Zcoin Sigma Protocol

Sigma es el próximo sustituto de Zcoin para Zerocoin, que se lanzará en testnet en el primer trimestre de 2019. Realiza mejoras significativas con respecto a Zerocoin en tres áreas:

  • Eliminación de la configuración de confianza
  • Reducción del tamaño de la prueba de 25 kB a 1,5 kB
  • Seguridad mejorada

Configuración de confianza

Desde el comienzo de Zcoin, siempre hemos visto el problema de la «configuración de confianza» como un gran inconveniente.

En una configuración de confianza, se generan algunos parámetros secretos (públicos) basados en una «clave privada maestra». Estos parámetros de red son necesarios para crear las llamadas «pruebas de conocimiento cero», que es la tecnología de anonimato que utilizamos. La «clave privada maestra», a veces denominada «residuo tóxico», debe ser destruida.  Si estos datos no se destruyen, alguien que tiene acceso a esta clave es capaz de generar una cantidad infinita de monedas anónimas. De hecho, una de las principales críticas de Zerocash y zkSNARKs (que no hay que confundir con Zerocoin tal y como se utiliza en Zcoin) tal y como se implementa en Zcash es su requisito de tener una configuración de confianza controvertida.

Una forma fácil de visualizar la configuración de confianza es crear una caja con un candado y su correspondiente llave. La posesión de la llave te permitirá crear un tesoro ilimitado a partir de la caja y por lo tanto la llave tiene que ser destruida. La configuración de confianza es efectivamente confiar en que la clave fue destruida.

Zerocoin, tal y como fue implementado por Zcoin, utiliza una configuración de confianza realizada por un tercero en un desafío académico llamado RSA Factoring Challenge en 1991, en el que el incentivo para insertar una puerta trasera es bajo y había una considerable recompensa por ello para romperla. Aunque se trata de una aplicación decente con pocas posibilidades de que se vea comprometida, creemos que el objetivo de la cadena de bloqueo es construir sistemas que no requieran confianza, y el mismo principio se aplica a nuestro sistema de privacidad. De hecho, el lanzamiento inicial de Zcoin en 2016 se retrasó ya que nuestro fundador Poramin Insom pasó muchos meses tratando de eliminar la configuración de confianza a través del uso de OVNIS RSA, que resultó ser inviable y tuvo que conformarse con los parámetros del RSA Factoring Challenge.

Sigma se basa en el artículo académico One-Out-Of-Many-Proofs: O Cómo filtrar un secreto y gastar una moneda (Jens Groth y Markulf Kohlweiss) que reemplaza los acumuladores RSA utilizando los compromisos de Pedersen y otras técnicas que la construcción criptográfica no requiere una configuración confiable. Los únicos parámetros del sistema requeridos en la configuración de Sigma son las especificaciones del grupo ECC y los generadores del grupo.

Tamaños de prueba y seguridad

Los tamaños de las pruebas se reducen significativamente de 25 kB en Zerocoin a 1,5 kB en Sigma, lo que supone una reducción de casi 17 veces, lo que hace que sea mucho más barato almacenarlo en la cadena de bloques y hace posible que quepan muchas más transacciones de envío privadas en un bloque. También utilizamos las técnicas Sigma mejoradas en el documento Short Accountable Ring Signatures Based on DDH para reducir aún más el tamaño de las pruebas. Esto resuelve uno de los mayores problemas de Zerocoin sin reducir su seguridad.

La seguridad mediante el uso de curvas ECC de 256 bits en Sigma se mejora en comparación con el RSA de 2048 bits utilizado en Zerocoin y se estima que equivale al RSA de 3072 bits.

Abran paso a Lelantus

Sigma es un precursor de nuestro protocolo de privacidad de última generación Lelantus desarrollado por nuestro criptógrafo Aram Jivanyan, que se basa en Sigma y amplía en gran medida su funcionalidad y características de privacidad al eliminar la necesidad de denominaciones fijas en la acuñación y el gasto. La implementación de Sigma nos da el tiempo necesario para desarrollar Lelantus adecuadamente mientras se somete a la revisión académica de los pares y a otras mejoras. Más adelante se creará un post separado para Lelantus.