Tecnología

Tecnología para mejorar la privacidad: Protocolo SIGMA

Pruebas criptográficas de Conocimiento Cero

En Bitcoin, todas las transacciones se emiten en un libro mayor al público. La investigación ha demostrado que la información externa, como las direcciones expuestas públicamente, puede utilizarse para vincular identidades y organizaciones con transacciones. La reutilización por defecto de las direcciones de Bitcoin agrava este problema.

Además, el mismo tipo de mecanismo utilizado para romper la privacidad en las redes sociales, como el análisis de la topología de redes sociales, puede utilizarse para romper la privacidad en la red Bitcoin. 

Bitcoin y las anteriores criptomonedas alternativas han intentado resolver este problema mediante el uso de mezcladores de transacciones o firmas de anillo. Sin embargo, hay una serie de inconvenientes en estas soluciones propuestas. Por un lado, un miembro malicioso o complicado de un mezclador o de una firma de anillo puede romper la privacidad. Además, el conjunto de anonimato es una medida clave para entender cuán privada es una criptomoneda. El anonimato establecido en las soluciones propuestas anteriormente está limitado por el tamaño del ciclo de mezcla o la firma del anillo. Cada ciclo de mezcla o firma de anillo está limitado por el número de transacciones por ciclo, el cual está limitado transitivamente por el tamaño del bloque de la criptomoneda. Así, el anonimato establecido en intentos anteriores de privacidad tiende a ser de sólo unos pocos cientos de transacciones. 

Con Zcoin, el anonimato es de una magnitud verdaderamente mayor. En lugar de tener un conjunto de anonimato limitado a unas pocas docenas, Zcoin tiene un conjunto de anonimato que abarca todas las monedas acuñadas en un acumulador RSA en particular que puede escalar a muchos miles y, a diferencia de otras soluciones, no está sujeto a análisis de gráficos de transacciones. 

Seguridad descentralizada y justa: MTP

Bitcoin y muchas de las otras monedas de prueba de trabajo sufren de la centralización de seguridad. El algoritmo MTP fue ideado por Alex Biryukov y Dmitry Khovratovich de la universidad de Luxemburgo en un artículo publicado el 11 de junio de 2016 titulado como Computación Igualitaria, que fue mejorado posteriormente en enero de 2018 (Con investigación parcialmente financiada por Zcoin). La Computación Igualitaria MTP ha sido creada para mejorar la diferencia entre los usuarios comunes y los tramposos competidores que podían utilizar Botnets, GPU, FPGA y ASICS para obtener una ventaja significativa y crear ataques más baratos. El concepto básico es que debe establecer el mismo precio y costo para una sola unidad de cálculo en todas las plataformas. Esto significa que ningún dispositivo obtiene ventaja significativa sobre otros por el mismo precio, promoviendo así una computación igualitaria.  Con la computación igualitaria, los atacantes tendrían que gastar la misma cantidad que los usuarios comunes para obtener un poder de «hash» equivalente.  Como los atacantes necesitaran un Hardware similar al de los usuarios comunes, los ataques automatizados a gran escala dejan de ser posibles. Esto junto al hecho de que el has en MTP es altamente intenso en memoria, los usuarios afectados por troyanos para participar en botnets experimentarían una notable degradación del rendimiento, por lo que es más probable que se sospeche cuando algo ande mal. La centralización masiva se puede ver en mucho de los algoritmos de prueba de trabajo existente, tales como el SHA256 (Bitcoin) Scrypt (Litecoin, Dogecoin) y X11 (Dash),  donde el poder de hash se centraliza en las granjas de ASIC, y a los usuarios comunes no se les incentiva para participar en la seguridad de la red. Incluso en esquemas más recientes como Ethash, utilizado por Ethereum, aunque está diseñado liberadamente para  ser compatible con la GPU (100 veces más eficiente que una CPU), puede seguir fomentando granjas de GPU y la centralización. Equihash a pesar de que es duro de memoria, no lo es secuencialmente, lo que significa que puede ser en su mayor parte paralelo, lo que hace más probable el desarrollo de ASICs. Esto significa que desestiba la minería GPUs, la minería en la CPUs, seguirá siendo competitiva con verificaciones MTP rápidas y livianas, aunque es intensiva en computación y memoria para encontrar la solución, una vez encontrada, su solución puede ser verificada de forma rápida y eficiente sin necesidad de una gran cantidad de memoria. Aunque nuestra implementación de referencia utiliza 2gb de RAM, lo que hace notable en muchas CPUs, desalentando así a los botnets, siendo notable para el usuario. MTP está diseñado para soportar incluso el uso de RAM de hasta 10 gb, al tiempo que se mantiene rápido para verificar, lo que no es posible con otras implementaciones de PoW. También permite que el hardware ligero como los teléfonos inteligentes realicen la verificación, lo que no es posible en muchos otros algoritmos de memoria dura. La velocidad de verificación del MTP es muy rápida. 

Trabajos Académicos

Zerocoin: Anonymous Distributed E-Cash from Bitcoin (Ian Miers, Christina Garman, Matthew Green, Aviel D. Rubin)

Este es el documento original de Zerocoin que constituye la base de nuestro protocolo de privacidad. Zcoin fue el primero en implementar este protocolo en septiembre de 2016.

Mejoras a libzerocoin que solucionaron dos defectos fueron identificadas por Tim Ruffing cuando fue contratado para auditar a Zerocoin por Zcoin. Estas mejoras se han incorporado y ya están en marcha.

MTP: Egalitarian Computing (Alex Biryukov, Dmitry Khovratovich) (revision and improvement funded by Zcoin)

MTP es el algoritmo de Prueba de Trabajo que Zcoin utiliza para promover la minería igualitaria al tiempo que mantiene una rápida verificación. El artículo original tenía defectos identificados por Dinur y Nadler. Zcoin organizó una recompensa para endurecer el MTP y también financió la investigación para resolver estos problemas, como se refleja en el documento vinculado. El MTP fue codificado desde cero por Zcoin y cambiado al algoritmo MTP en diciembre de 2018.

Dandelion++ Lightweight Cryptocurrency Networking with Formal Anonymity Guarantees (Giula Fanti et al)

Dandelion++ fue desarrollado originalmente para Bitcoin como una forma de ocultar el origen de las transacciones cambiando la forma en que éstas se propagan a través de la red. Dandelion+++ está programado para salir en vivo en Bitcoin Core 0.18. Zcoin fue el primer proyecto que se puso en marcha con Dandelion++ en mainnet en septiembre de 2018.

One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin (Jens Groth et al)

Una de las muchas pruebas constituye la base de Sigma, que mejora la calidad de Zerocoin al eliminar la configuración de confianza y reducir el tamaño de las pruebas. Zcoin también está aplicando otras modificaciones de eficiencia al papel original. Sigma está en desarrollo y su lanzamiento está previsto para el primer trimestre de 2019.

Lelantus: Private transactions with hidden origins and amounts based on DDH (Aram Jivanyan)

Lelantus es el protocolo de privacidad de última generación de Zcoin que mejora Sigma al eliminar el requisito de denominaciones fijas que permite a la gente acuñar cantidades arbitrarias y gastar cantidades parciales sin revelar valores. El documento de Lelantus está todavía en desarrollo y está buscando una revisión por pares. La codificación en las bibliotecas criptográficas de Lelantus ha comenzado. Lelantus es una innovación propia de Zcoin.