Una de las soluciones de escalabilidad más anticipadas para la red Monero, el protocolo Bulletproof, ya tiene el visto bueno de una empresa de seguridad independiente.
El reporte afirma que encontraron algunas brechas de seguridad de muy bajo riesgo, aunque en línas generales se validó la integridad del código.
The first audit (by Kudelski Security) of Monero compatible Bulletproofs has, bearing a few minor issues, been successfully completed! https://t.co/qZk3FdhJ5L
— Monero || #xmr (@monero) July 15, 2018
En este sentido, se ha designado a Quarkslab y Benedikt Bünz (este último, coautor del papel blanco de Bulletproof) para finalizar las pruebas siguientes. Probablemente entre septiembre y octubre se finalizará el proceso.
La auditoría fue llevada a cabo por el Doctor Jean-Philippe Aumasson, VP Technology, junto a Yolan Romailler, Ingeniero Criptográfico.
En una videoconferencia donde participaron diversos desarrolladores, entusiastas y voluntarios de la comunidad Monero, Justin Ehrenhofer compartió la noticia de que la empresa de seguridad Kudelski Security había realizado una auditoría exitosa.
"Kudelski Security completed their [bulletproof] report. They found only a few minor issues that are trivial to correct, and no major issues."
Overall, a huge win for #Monero, bulletproofs, and privacy. Full report will be published soon.https://t.co/6GPokOkh06
— Justin Ehrenhofer (@JEhrenhofer) July 14, 2018
Kudelski Security completó su reporte sobre el protocolo Bulletproof. Solo se encontraron pequeñas fallas cuya corrección resulta trivial, y no se encontraron fallas graves. Estaremos enviando la actualización de estado de Kudelski sobre cada falla, que serán incluidos en la versión oficial del reporte que será publicada a la brevedad posible.
Justin Ehrenhofer
Entusiasta
Brandon Goodell, investigador de el Laboratorio de Investigación de Monero (MRL, por sus siglas en inglés), fue a quien se dirigieron la mayoría de las preguntas de Ehrenhofer; la primera, de qué se trataba Bulletproof:
Bulletproof es una forma fácil, corta y rápida de hacer una Prueba de Conocimiento Cero sobre la imagen previa de un circuito aritmético. Esa es la forma más corta que puedo decirlo, pero en cuanto a Monero, las Bulletproof son pruebas cortas y rápidas, lo que hará más pequeñas y veloces las transacciones.
Justin Ehrenhofer
Entusiasta
Brandon explica que el protocolo fue codificado más temprano este año, aunque él no participó directamente de su desarrollo, y que contaron con Kudelski Security para las auditorías. Así conocían un problema de maleabilidad que supusieron que Kudelski les señalaría, pero la compañía le aseguró al equipo que no había o no se han detectado mayores riesgos al respecto.
A su vez, considera que el protocolo Bulletproof podría implementarse en la próxima actualización de Monero, haciendo las transacciones más pequeñas y las comisiones más bajas, aumentando la velocidad de la red.
Uno de los participantes del foro, de nombre Diego, increpó si Bulletproof permitiría reducir el tamaño de las transacciones en 80% ¿por qué las comisiones no se reducen esa misma cantidad? Así, señaló que mucha gente pareciera no entender que a pesar del tamaño de una transacción, se están realizando pruebas de alta complejidad para procesarlas, y esta parte de una transacción implica mayores costos para los mineros que el espacio que esta ocupa por sí misma. Por tanto, aseguró que el tamaño de la transacción y el proceso de verificación deben estar a la par en costos, puesto que los usuarios podrían sacar ventaja de esta situación de maneras que no mencionó.
Goodell estuvo de acuerdo afirmando que el tamaño virtual de una transacción debe estar equilibrado entre la cantidad de confirmaciones que necesita para procesarse y el tamaño de la información propia de la transacción para así compensar a los usuarios de forma adecuada.
Habiéndose propuesto en diciembre de 2017, los desarrolladores de Monero desean implementar Bulletproof en su protocolo como una próxima solución para reducir el tamaño de las transacciones; esto en cuanto a la cantidad de confirmaciones que se necesitan para probar criptográficamente un bloque de información en la blockchain, debido al empleo de los Zk-SNARKS, protocolo de Prueba de Conocimiento Cero (Zero-Knowledge Proof), cuya precisión permite aplicar tan solo 16 pruebas aleatorias exitosas en lugar de las 50 que, según Brandon, los desarrolladores consideraron en un principio.
Como explica con la intención de ser breve el usuario Flenst, en el foro Reddit de Monero, las salidas (outputs) de una transacción no serán incluidas en el bloque de información.
Bulletproof reemplazará el método matemático actual por esconder la cantidad de transacciones usadas. El método utilizado actualmente es la razón por la que la blockchain es enorme (una transacción normal ocupa 13kB). Con Bulletproof esta cantidad se reducirá en ~80% haciendo disminuir la comisión, haciendo que la blockchain crezca más lento y creo que la hará tener mayor velocidad de red.
Justin Ehrenhofer
Entusiasta
En esa instancia, la privacidad se vería incrementada al eliminar del bloque la información sobre las salidas de las que proviene cada transacción, es decir, las dirección blockchain de las transacciones anteriores. Esto es permitido por la Prueba de Conocimiento Cero, que consiste en validar una información sin saber al respecto de ella y su contenido.
Actualmente Monero utiliza las Pruebas de Conocimiento Cero por Rango (zkrangeproof), aplicando este protocolo en ocultar el monto de la transacción sin impedir su autenticación. A saber del GitHub de esta implementación, esta permite validar que «un número secreto se encuentra entre los límites sin que este número sea revelado», pero a criterio de los desarrolladores, se están haciendo más cálculos de los necesarios para validar transacciones.
Alcanzar el anonimato ha sido uno de los objetivos de este proyecto, lo que ha conllevado críticas por facilitar transacciones impunes a criminales. Con todo Monero es uno de los proyectos mejor establecidos y más populares en el ecosistema, tal como Ethereum, Zcash, Litecoin y por supuesto, Bitcoin. El anonimato se busca para establecer relaciones de confianza entre pares sin hacer necesario revelar la información privada.
Imagen destacada por Myst / stock.adobe.com