La privacidad de las transacciones es un componente integral de las criptomonedas y uno de los más importantes para muchos usuarios. Si bien Bitcoin a menudo se caracteriza como un medio anónimo de transferencia de valor por los principales medios de comunicación, la verdad es que Bitcoin es solo pseudo anónimo.
El libro mayor de Bitcoin es completamente transparente y, aunque las identidades de los usuarios están ocultas detrás de direcciones alfanuméricas, hay formas de rastrear y hacer correlaciones entre direcciones e identidades. La ofuscación de la identidad proporciona cierto grado de anonimato para los usuarios, sin embargo, las cantidades transferidas en cada transacción son visibles, dejando algún grado de confidencialidad faltante.
Como solución a este problema, algunas criptomonedas centradas en la privacidad han adoptado el uso de transacciones confidenciales (CT), que ofuscan la cantidad transferida en transacciones utilizando compromisos (especialmente compromisos de Pedersen) a la cantidad.
Sin la transparencia pública de los valores transferidos cuando se implementan las CT, la verificación de la validez de las transacciones requiere el uso de pruebas de rango para garantizar que la suma de los insumos de transacción sea mayor que la suma de los resultados de las transacciones y que todos los valores de transacción sean positivos.
Estas pruebas de intervalo se adjuntan a cada transacción y dan como resultado tamaños de transacción mucho más grandes que pueden conducir a transacciones con múltiples salidas que requieren múltiples pruebas de intervalo, lo que aumenta aún más el tamaño de la transacción y degrada la verificación y la eficiencia del almacenamiento.
Ingrese Bulletproofs.
Índice de contenido:
A prueba de balas
Bulletproofs fue propuesto por el Grupo de Criptografía Aplicada (ACG) de Stanford en diciembre de 2017 en un artículo académico con contribuciones del University College de Londres y Blockstream.
Las pruebas de bala son «un nuevo argumento de conocimiento cero del sistema de conocimiento, para demostrar que un valor secreto comprometido está en un rango dado». El nombre a prueba de balas se acredita a Shashank Agrawal por describirlos como «cortos como una bala, con suposiciones de seguridad a prueba de balas«.
Elogiados como un avance eficiente y útil en la verificación de los compromisos de CT, los bulletproofs son pruebas cortas y no interactivas de conocimiento cero que no requieren una configuración confiable. De hecho, son una forma mucho más eficiente y segura de pruebas de flujo que utilizan métodos de corrección de conocimiento cero como se ve en zk-SNARKS y STARK, pero no requieren la configuración confiable como se requiere con zk-SNARKS y no son tan grandes como STARK.
Su aplicación puede ser útil en una variedad de sistemas y situaciones diferentes, muchos de los cuales se describen directamente en el documento académico.
Los bulletproofs son particularmente adecuados para la naturaleza distribuida y sin confianza de las cadenas de bloques y pueden crear ahorros sustanciales de costos a largo plazo, enormes ahorros de espacio, tarifas más bajas y tiempos de verificación más rápidos que las implementaciones de pruebas de alcance actuales. Sin embargo, antes de sumergirse en cómo funcionan los blindajes, es importante comprender primero dos términos, pruebas gamma y pruebas de conocimiento cero.
Pruebas de flujo
Básicamente, las pruebas de rango son una forma de validación de compromiso que permite a cualquier persona verificar que un compromiso representa una cantidad dentro de un rango especificado, sin revelar nada más sobre su valor (conocido como valor secreto).
Por ejemplo, se puede usar una prueba de intervalo simple para validar que la edad de alguien está entre los 28 y los 52 años sin revelar realmente la edad exacta de la persona.
Esto tiene importantes ramificaciones para validar transacciones confidenciales. Dentro de una criptomoneda centrada en el anonimato como Monero, se utiliza para verificar que un monto de pago sea positivo, sin revelar realmente el monto transferido en la transacción.
Más concretamente, en un sistema basado en la producción de las transacciones, muestra que los insumos comprometidos son mayores que la suma de los productos comprometidos sin revelar realmente ni los insumos comprometidos ni los productos.
Según el documento de Stanford de la época, «Todas las implementaciones actuales de transacciones confidenciales utilizan pruebas de intervalo en valores comprometidos, donde el tamaño de la prueba es lineal en n. »
La parte clave con respecto a los proyectiles es el «lineal en n», lo que significa que las pruebas gamma escalan linealmente en tamaño con el número de salidas y bits en el rango de demostración.
El resultado es que en los CT, las pruebas de intervalo ocupan la mayor parte del tamaño de una transacción. Antes de la prueba de balas, esto era una gran preocupación ya que el tamaño de una cadena de bloques de una criptomoneda centrada en el anonimato que emplea CT, como Monero, crece mucho más rápido que una criptomoneda típica que no usa CT.
Eventualmente, el tamaño de una cadena de bloques que usa CT se volvería muy poco práctico para muchos usuarios que no tienen el espacio en disco necesario para descargar toda la cadena de bloques, lo que afectaría indirectamente la descentralización de los nodos completos.
Evidencia de conocimiento cero
Si estás leyendo esto, probablemente ya hayas oído hablar de la prueba de conocimiento cero en el ámbito de las criptomonedas, ya que representan un concepto muy interesante que se basa en matemáticas intimidantes. El concepto es difícil de entender, pero su implementación combinada con el hecho de que las instituciones académicas están avanzando aún más en el concepto, aplicado a las criptomonedas, es una señal muy alentadora para la industria.
Esencialmente, una prueba de conocimiento cero es un método en criptografía en el que una parte puede demostrar a otra parte que conoce el valor de una variable y sin transmitir ninguna otra información que no sea que conocen el valor de y.
Tradicionalmente, esto implica que el verificador y el probador tienen alguna forma de interacción entre ellos. Sin embargo, las pruebas bullet son temas de conocimiento cero no interactivos, que son una variante específica de las pruebas de conocimiento cero donde no se requiere interacción entre el demostrador y el verificador.
Esto le permite demostrar que un valor comprometido está en un rango específico basado en la hipótesis del logaritmo discreto y utilizando la heurística Fiat-Shamir para hacerlos no interactivos.
Entonces, ¿qué son las pruebas de balas?
Volvamos a las balas. Como se acaba de mencionar, los bulletproofs se basan en la hipótesis del logaritmo discreto para la seguridad y utilizan la heurística Fiat-Shamir para convertirse en no interactivo.
Esto conduce a un aumento en las dimensiones a prueba de balas solo logarítmicamente con el número de salidas y el tamaño de la prueba de intervalo. El resultado es que el tamaño de las transacciones que implementan CT puede reducirse sustancialmente.
Las pruebas a prueba de balas no solo pueden ayudar a reducir el tamaño de las transacciones utilizando CT, sino que también permiten al probador agregar múltiples pruebas de rango para transacciones con múltiples salidas en una sola prueba corta.
En lugar de transacciones con múltiples salidas que requieren una prueba de intervalo para cada salida, todas se pueden agregar en una. Además, la validación de las pruebas a prueba de balas es más eficiente no solo en tamaño, sino también en tiempo.
Fuera de zk-SNARKS, que verifican más rápido que las pruebas de balas, el tiempo para verificar una prueba de balas es menor que las pruebas de alcance existentes, lo que lleva a una validación de blockchain más rápida.
Es importante destacar que las pruebas a prueba de balas no requieren una configuración confiable. Una configuración de confianza es una configuración controvertida de una sola vez que se requiere cuando se utiliza la prueba de conocimiento cero zk-SNARKS.
El problema es que esta configuración única requiere que los usuarios confíen implícitamente en quién creó las claves para la instalación única para destruirlas después de que se hayan completado, de lo contrario se pueden usar para crear una cantidad ilimitada del token nativo no detectado. Por supuesto, hay serias preocupaciones con una configuración confiable.
La evidencia de Bulletproofs es mucho más corta que otras pruebas remotas y «permite que las entradas sean los compromisos de Pedersen con los elementos testigos«.
Las implicaciones de ser pruebas cortas y no interactivas de conocimiento cero le permiten optimizar y aplicar pruebas a prueba de balas a una variedad de situaciones, como el soporte de protocolos informáticos eficientes de múltiples partes (MPC) y la implementación de contratos inteligentes complejos y amigables con la privacidad.
Aplicaciones a prueba de balas
Los bulletproofs admiten de manera eficiente un protocolo MPC simple que «permite a múltiples partes con valores secretos comprometidos generar conjuntamente una sola prueba de rango pequeño para todos sus valores, sin revelar sus valores secretos entre sí».
En esencia, con una transacción confidencial compleja que tiene aportes de múltiples partes, su protocolo MPC propuesto podría agregar toda la evidencia requerida en una sola prueba corta para toda la transacción.
La eficiencia y los ahorros que vienen con él no pueden ser subestimados.
El protocolo de Disposiciones es una innovación que permite a los intercambios de Bitcoin demostrar ser solventes sin revelar ninguna otra información.
Este es un paso importante para verificar la solvencia de los intercambios que de otro modo se considerarían poco confiables e insolventes sin que los intercambios realmente tuvieran que abrir sus libros al público.
El protocolo se basa en pruebas de intervalo «para evitar que un intercambio ingrese cuentas falsas con saldos negativos«. Estas dimensiones de prueba son muy grandes y son lineales en el número de clientes.
Las pruebas a prueba de balas son un sustituto natural de las pruebas no interactivas de conocimiento cero utilizadas en el protocolo Provisiones y pueden reducir el tamaño total de la prueba para el intercambio hasta casi 300 veces.
Los contratos inteligentes altamente expresivos en Ethereum son públicos y no proporcionan cierto grado de privacidad a los parámetros del contrato.
La evidencia no interactiva de conocimiento cero se ha propuesto como un mecanismo para la privacidad dentro de los contratos, sin embargo, el cálculo de un contrato es limitado y costoso en toda la red blockchain. Los SNARKS son otra solución potencial pero, problemáticamente, requieren una configuración confiable. Puedes ver hacia dónde va.
Las pruebas a prueba de balas, al ser pruebas cortas que no requieren una configuración confiable, son ideales para el papel de preservar la privacidad dentro de los contratos inteligentes expresivos.
Aunque como un directo directo, los antibalas no son baratos en este sentido, en combinación con un modelo de delegación de incentivos, la validez de una prueba no debe realizarse a menos que una parte impugne su verificación.
Las partes que presenten desafíos defectuosos serán castigadas y, además, este proyecto puede ser apoyado con una computación eficiente de múltiples partes.
Conclusión
Los blindajes son una innovación importante y ampliamente aplicable en un campo importante de investigación de evidencia de conocimiento cero y otros protocolos utilizados para proteger y ofuscar los montos de las transacciones.
La compensación inherente con las transacciones confidenciales era su mayor tamaño. Con las balas, la oportunidad de reducir significativamente este compromiso al tiempo que se preserva la privacidad y la seguridad es un importante paso adelante.
A medida que se ponga más énfasis en los protocolos subyacentes utilizados para asegurar las transacciones y proporcionar anonimato, será fascinante ver cómo la academia responde y continúa evolucionando las tecnologías de vanguardia de un campo que ya está a la vanguardia de la innovación.