Conoce a las bulletproof un tipo muy especial de prueba criptográfica diseñadas especialmente para ser rápidas, seguras y que brinden una enorme privacidad y anonimato. Esto sin suponer un alto consumo computacional e impracticables en la tecnología blockchain.

Uno de los protocolos de privacidad más recientes que existen en el ecosistema criptográfico son los Bulletproofs. Un protocolo implementado principalmente en la criptomoneda Monero con la finalidad de mejorar su nivel de  privacidad, y que fue lanzado a finales de 2017.

Aunque este protocolo está basado en dos sistemas de privacidad: las pruebas de conocimiento cero (las zk-SNARKs precisamente) y las transacciones confidenciales (Confidential Transactions – CT). Es decir, el protocolo Bulletproofs hace una combinación bastante inteligente de ambos sistemas. En un concepto más técnico, los protocolos Bulletproofs son un método mucho más eficiente que las pruebas zk-SNARKs. Esto pues permite la verificación de ciertos parámetros de forma confidencial y segura. Y que además pueden utilizarse sin la necesidad de una configuración de confianza por parte del creador.

Origen e implementación de Bulletproofs

El protocolo Bulletproofs se desarrollo y se hizo público a finales del año 2017. Sus desarrolladores principales son Jonathan Bootle del University College de Londres, Inglaterra, y por Benedikt Bunz de la Universidad de Stanford, Estados Unidos. Pero también participaron en su creación, Dan Boneh, Andrew Poelstra, Pieter Wuille y Greg Maxwell.  El protocolo diseñado por estos dos desarrolladores llamó rápidamente la atención de la comunidad criptográfica, quienes mostraron un genuino interés por conocer la forma en cómo funcionaba este nuevo protocolo y cómo podrían implementarlo dentro de sus blockchains. El whitepaper del protocolo puede ser accedido por medio de este enlace.

Whitepaper de Bulletproofs

Aunque el protocolo Bulletproofs, conocido como “a prueba de balas” fue diseñado en un principio para ser implementado en la blockchain de Bitcoin, han sido las de Monero y la red MimbleWimble quienes realmente han comenzado a utilizar este protocolo para mejorar su nivel de privacidad. Así mismo, el CEO de Litecoin también está evaluando la posibilidad de comenzar a implementar este protocolo dentro de la blockchain de su criptomoneda.

Así mismo, aunque el protocolo Bulletproofs no ofrezca una privacidad o un anonimato total a los usuarios, su implementación sí permite ocultar las cantidades asociadas en las transferencias realizadas. Mostrando solamente el origen y el destino de la transacción, pero sin revelar en ningún momento las cantidades transferidas.

Por ello, el diseño de este nuevo protocolo fue impulsado por la creciente necesidad de los usuarios y de la comunidad de gozar de un nivel de privacidad superior al ofrecido por las blockchains públicas, en el momento en que realizan sus transacciones y operaciones financieras.

Es bien conocido que una de las mayores ventajas que ofrece la tecnología blockchain es su inmutabilidad y su nivel de transparencia al momento de registrar las transacciones realizadas. Pero para ciertas aplicaciones, estas propiedades de la blockchain no son las más apropiadas. Cuando se trata de compañías que requieren de un nivel de privacidad y confidencialidad, o de simples usuarios que quieren disfrutar de estos beneficios, la transparencia de la tecnología blockchain pública no es la mejor opción.

¿Cómo funcionan los Bulletproofs?

La criptografía detrás de las Bullteproofs es realmente compleja, tan compleja que solo unos pocos criptográfos la comprenden en profundidad. Para darnos una idea de su complejidad, veamos algunas de las funciones matemáticas que las hacen posible:

Matemáticas detrás de las Bulletproofs

En esta imagen se muestra matemática y relacionalmente la forma en cómo funcionan los Rangos de Pruebas, de las Bulletproof. Todo esto es una sola función dentro del conjunto de funciones que hacen posible las Bullteproof. Ante esta complejidad, explicaremos de forma muy sencilla cómo funcionan estas pruebas.

En primer lugar el objetivo de las Bulletproof es ocultar los valores involucrados en una transacción. Sin que ello merme la capacidad de verificar su autenticidad por parte de la red. Para lograr esto, los protocolos Bulletproofs se basan en los compromisos de Pedersen (Pedersen Commitment). Estos son un tipo especial de criptografía, que recibe el nombre de criptografía homomórfica.

El funcionamiento de los Pedersen Commitment permite que los valores puedan ser validados sin necesidad de revelarlos públicamente en ningún momento. Para lograr esto, usan un pequeño truco matemática, que permite demostrar que la suma de las entradas es superior a las sumas de las salidas. Así que no se están generando monedas de la nada, ni se están utilizando monedas ya gastadas, o utilizando un saldo negativo que no se posee. Simplemente estas enviando un mensaje cifrado, en el que el resto puede verificar que realmente estás usando tu saldo,  pero nadie sabe cuánto saldo es.

Así mismo, estos protocolos se basan en el supuesto de un logaritmo discreto (logarithm discret): Esto los hace extremadamente versátiles y compatibles con cualquier algoritmo de curva elíptica. Además, los protocolos Bulletproofs hacen uso de las técnicas criptográficas Heurística de Fiat-Shamir. Lo que les permite ganar un carácter no interactivo y crear pruebas cortas de conocimiento cero. Esto tiene como finalidad crear sistemas de firmas criptográficas muy cortas, que pueden verificarse rápidamente y sin utilizar mucho poder de cómputo.

En definitiva, la unión de todas estas partes permite la creación de un sistema de pruebas criptográficas rápido, eficiente y seguro.

¿Cuánto sabes, criptonauta?

¿Las Bulletproofs son susceptibles a la computación cuántica?

¡FALSO!

Una de las grandes ventajas de las Bulletproofs (y las ZKP en general) es su capacidad de resistir la aparición de la computación cuántica, resistiendo que su seguridad pueda ser rota por este tipo de tecnología y su enorme capacidad computacional.

Capacidades de los protocolos Bulletproofs

  • Con los protocolos Bulletproofs los usuarios pueden disfrutar de un nivel de privacidad mayor que con la blockchain de Bitcoin o de Ethereum. Por ejemplo, si se trata de compañías y empresas, no tendrán que preocuparse porque su competencia pueda ser cuánto dinero le transfieren a sus proveedores. En el caso de usuarios en general, no tendrán que preocuparse de que otras personas puedan ver cuánto dinero manejan en sus cuentas o cuánto dinero ganan en un mes.
  • Las transacciones realizadas a través de estos protocolos pueden tener una tarifa de comisión mucho más baja. Esto se debe a que los protocolos de Bulletproofs minimizan los excesos computacionales reduciendo el tamaño de las pruebas criptográficas significativamente.
  • Los protocolos Bulletproofs se pueden implementar en conjunto con CoinJoin. Así  pueden proporcionar un nivel de privacidad superior a los usuarios que así lo deseen.
  • Aunque estos protocolos ofrecen una solución mucho más lenta de confirmar y validar que las pruebas de conocimiento cero (zk-SNARKs) o las transacciones confidenciales (confidential transactions), son mucho más eficientes y seguros de implementar en las blockchains de las criptomonedas.
  • Los protocolos Bulletproofs proporcionan un alto nivel de confianza a los usuarios de las blockchains que implementen este protocolo. Esto debido a que no requieren de una configuración de confianza como sí ocurre con las pruebas de conocimiento cero (zk-SNARKs). Esto quiere decir, que al momento de configurar los protocolos Bulletproofs, los parámetros no se tienen que configurar con un valor secreto.
  • Los protocolos Bulletproofs son de código abierto. Así que cualquier usuario con conocimientos en criptografía puede dar sus aportes en pro de la mejora y el desarrollo de este protocolo.

Casos de uso de los protocolos Bulletproofs

Los protocolos de Bulletproofs son muy versátiles y poseen una gran variedad de aplicaciones que varían desde las redes blockchains y los protocolos criptográficos hasta implementaciones en smart contracts o contratos inteligentes. Aunque en este último, el uso de estos protocolos es bastante complejo. Pese a su complejidad, y a ser tan novedosa esta innovación, ya se está utilizando en algunas criptomonedas.

Por una parte, la red Monero ha sido pionera en la implementación de este protocolo dentro de su blockchain. Algo que le ha traído grandes beneficios a su comunidad. Por ejemplo, ha visto una reducción significativa en el tamaño de los datos generados por las transacciones. Lo que se ha proyectado hacia una reducción en las tarifas de comisión de las transacciones.

Además podemos destacar la red MimbleWimble, donde la implementación de los protocolos Bulletproofs como reemplazo de las pruebas de rango en las transacciones confidenciales también ha contribuido en una reducción considerable del tamaño de los UTXO.