Antibalas

Los basicos

Se introdujo @RingCT para ocultar los importes de las transacciones. Uno de los objetivos de @RingCT era demostrar que la suma de las entradas - salidas en la @transacción era igual a 0, y todas las salidas eran números positivos. Para lograr esto, se construyeron dos tipos de firmas de anillo: una firma de anillo para toda la transacción (para demostrar que la suma es 0) y un conjunto de firmas de anillo para los subconjuntos de bits de transacción (para probar que las salidas son números positivos), luego se combinaron usando firmas originalmente de Schnorr (y luego reemplazadas por firmas de anillo borromeas). Mientras estaba haciendo el trabajo, un gran inconveniente fue el enorme tamaño de dicha transacción ringCT.

Donde se trata de blindaje

En 2017, un Grupo criptográfico aplicado de Standford escribió un papel presentando un nuevo tipo de pruebas de rango, llamadas a prueba de balas.

Las pruebas de balas son pruebas breves, no interactivas y de conocimiento cero que no requieren una configuración confiable.

Las pruebas a prueba de balas, a diferencia de las firmas Borromean o Schnorr, son muy eficientes como pruebas de alcance. Probar un gran conjunto de datos solo genera una pequeña prueba, y el tamaño de estas pruebas crece logarítmicamente con el tamaño de los datos que se prueban. Significa que aumentar el número de salidas en una transacción, con las pruebas a prueba de balas, solo aumentará ligeramente el tamaño de la prueba. Las pruebas de balas también tienen la ventaja de permitir demostrar que múltiples cantidades comprometidas están en el rango deseado a la vez. No es necesario probar cada salida a cada destino en pruebas separadas; todos los montos de la transacción podrían probarse en una más grande (pero aún muy pequeña) a prueba de balas.

Implementación y proceso de auditoría exhaustivos

Como las pruebas a prueba de balas eran realmente nuevas, y la implementación inicial realizada por el grupo, aunque se hizo a fondo, necesitaba una reescritura centrada en nuestro caso de uso específico, implementar a prueba de balas en Haven no fue una cosa simple.

El código se ha escrito y reescrito para seguir la nueva versión de Bulletproofs que aún se estaba desarrollando, pero una vez finalizada esta implementación de Haven, la implementación resultante debe tomarse con extremo cuidado.

Por lo tanto, la comunidad inició un proceso de auditoría. Los investigadores se pusieron en contacto con Benedikt Bünz, autor principal del artículo Bulletproofs, y OSTIF una organización que ayuda a las tecnologías de código abierto a mejorar y protegerse.

OSTIF dirigió al grupo a varias organizaciones con las habilidades necesarias para realizar la auditoría. Si bien uno de ellos pidió que se mantuviera en el anonimato y, por lo tanto, fue apartado del proceso que debía ser público, otros dos (QuarksLab y Kudelski Security) fueron elegidos para realizar la auditoría.

Nuestros 3 auditores fueron financiados por la comunidad para verificar si la implementación no contenía errores críticos y si no tenía exploits.

Los informes finales se publicaron durante el verano de 2018, con varias correcciones y correcciones útiles sugeridas, y la implementación final a prueba de balas se agregó primero a Haven Stagenet y luego a la red principal Haven durante la actualización de la red de octubre de 2018.

Desde la implementación a prueba de balas, el tamaño de una transacción promedio se ha reducido en al menos 80%, así como las tarifas de transacción.

Se pueden encontrar más explicaciones sobre la implementación de Haven de a prueba de balas en el canal fondajo de youtube en un conversación con Sarang Noether.

es_ESEspañol