¿Qué es bulletproofs?

Conoce más sobre el nuevo integrante en el terreno de la seguridad del blockchain

0

A mediados de octubre, Monero anunció que implementará un nuevo protocolo de privacidad más escalable como parte de su cadena de bloques. Bulletproofs se publicó originalmente en un informe técnico de la Universidad de Stanford del 2017 y se convirtió rápidamente en un área de investigación dentro de la comunidad blockchain.

Con esta noticia, Monero se convierte en la primera criptomoneda que adopta blindajes como protocolo de privacidad. Al igual que sus antecesores —zk-SNARKS y Secure Multi-Party Computations—, bulletproofs tiene todos los ingredientes para convertirse en uno de los protocolos de privacidad más importantes en la próxima ola de aplicaciones basadas en blockchain.

Bulletproofs no es necesariamente un avance nuevo en la criptografía, sino una óptima combinación de técnicas existentes. Específicamente, bulletproofs tiene sus orígenes en otros protocolos de privacidad, como las transacciones confidenciales y las pruebas de conocimiento cero. De hecho, la forma más fácil de entender bulletproofs es analizar la evolución de estos dos métodos criptográficos.

Si pensamos en los pasos necesarios para validar una transacción de criptomoneda, se pueden resumir en tres:

  1. Las firmas son correctas: la transacción proviene de un nodo válido.
  2. Las cantidades no se han gastado: no hay problemas de doble gasto.
  3. La suma de las entradas es mayor que la suma de las salidas: salidas = entradas – tasas de transacción.

Si bien todas las criptomonedas implementan un proceso para validar sus transacciones, la mayoría lo hace manteniendo acceso público a la información. En 2016, Greg Maxwell introdujo la idea de transacciones confidenciales que reemplazaría efectivamente los montos de las transacciones con compromisos criptográficos que pueden ser verificados por el receptor.

La afirmación criptográfica generalmente se basa en los compromisos de Pedersen, un método que puede expresar una declaración sobre un valor y verificarse mientras se oculta el valor en sí. Las transacciones confidenciales ciertamente permiten pagos seguros con firmas verificables y montos no duplicados, pero hacen imposible para el receptor verificar que los montos de los imputs sean mayores que los montos de los outputs.

Las pruebas de conocimiento cero resuelven este inconveniente. Amplían las transacciones confidenciales, permitiendo que el receptor desafíe al remitente al comprobar una afirmación específica. Si bien esta técnica es increíblemente efectiva desde el punto de vista de la privacidad, aumenta drásticamente el tamaño de la transacción y, muy a menudo, requiere una configuración confiable que dificulta su aplicabilidad a mayor escala. STARKs está tratando de emprender en algunas de estas limitaciones, pero no es viable en la práctica. Aquí es donde bulletproofs tiene un rol crucial.

Mira también: Las pruebas de cero conocimiento y la privacidad de Zcash

¿Qué es bulletproofs?

Conceptualmente, bulletproofs puede ser considerado como una forma más eficiente de prueba de conocimiento cero que no requiere una configuración de confianza. Bulletproofs consiste en un nuevo argumento de conocimiento cero del sistema de conocimiento que sirve para probar que un valor confidencial comprometido se encuentra en un intervalo dado.

Para lograrlo, bulletproofs aprovecha algunos de los métodos de optimización propuestos por Jonathan Bottle para implementar pruebas de conocimiento cero eficientes. Bottle fue capaz de crear un tamaño de prueba que creció logarítmicamente en lugar de linealmente. Sin embargo, muchas de las suposiciones detrás de la tesis de Bottle también resultaron poco prácticas.

Bulleproofs mejora algunas de las ideas de Bottle para crear pruebas cortas —no interactivas— de conocimiento cero y una forma aún más eficiente de prueba de conocimiento cero que no requiere una configuración confiable. Por lo tanto, son pruebas de rango más eficientes y seguras que utilizan métodos de prueba de conocimiento cero como se ve en zk-SNARKS y STARK, pero no requieren de una configuración confiable como se requiere con zk-SNARKS y no son tan grandes como STARKs.

Las bulletproofs es más genérico que algunos de sus predecesores y pueden utilizarse, en teoría, para probar cualquier afirmación arbitraria. El incremento en complejidad logarítmica de bulletproofs significa que son sustancialmente más eficientes que otras técnicas.

Por ejemplo, si necesitamos pruebas X adicionales, la complejidad de los algoritmos aumentará de forma aditiva por un factor de log (X), en lugar de 10 veces de forma lineal. La siguiente imagen ilustra claramente ese concepto:

Otra ventaja de bulletproofs es que pueden usarse en entornos multipartidistas aprovechando de los modelos de cómputo multipartidista (MPC, por sus siglas en inglés). Específicamente, bulletproof MPC es una variación del protocolo en la que se puede construir una prueba a partir de diferentes partes utilizando un número constante de rondas.

Bulletproofs es una alternativa más rápida, ágil y robusta a otros métodos de privacidad de blockchain. La implementación de Monero es ciertamente un paso para hacer que bulletproofs se adopte más ampliamente dentro de la comunidad blockchain, pero debemos esperar que se implemente de manera más amplia en un futuro cercano.

La versión original escrita en inglés por Jesús Rodriguez se publicó en Hakernoon.

¿Te gustó el artículo? ¡Puedes apoyar a Héctor Ruilova en Patreon!

Deje un Comentario

Su correo electrónico no será publicado.