Aprender

Pruebas de Conocimiento Cero en Stellar

Imagina vivir en un mundo donde la confianza, privacidad y eficiencia coexisten sin problemas. Las pruebas de conocimiento cero (Pruebas de ZK) hacen esto posible, asegurando que la privacidad, escalabilidad e interoperabilidad vayan de la mano.

Al aprovechar las Pruebas ZK en la Red Stellar, podemos aumentar la privacidad para las personas no bancarizadas en todo el mundo, mejorar la escalabilidad para los sistemas de pago transnacionales y la interoperabilidad para aplicaciones de efectivo-a-cripto. Esta guía te ayudará a entender los conceptos básicos, aplicaciones y la importancia de las Pruebas ZK en el panorama digital actual.

¿Qué son las Pruebas de Conocimiento Cero?

Las Pruebas ZK son un avance en la tecnología criptográfica. Permiten a una parte demostrar a otra que una afirmación es verdadera sin revelar ninguna información más allá de la validez de la afirmación misma.

Aunque pueda sonar como un concepto simple, el método subyacente de las Pruebas de Conocimiento Cero es verdaderamente un logro matemático destacado. Esta tecnología ha sido investigada durante más de cuatro décadas, introducida por primera vez en 1985 en el papel "La Complejidad del Conocimiento de los Sistemas de Prueba Interactivos" [GMR85]. El desarrollo de varios tipos de pruebas, como SNARK y STARK, que vinieron después, ha sido particularmente crucial en blockchains, demostrando la profundidad y utilidad de este trabajo innovador.

¿Cómo Funcionan las Pruebas de Conocimiento Cero?

En los sistemas de Prueba ZK, el objetivo es simple: un probador busca convencer a un verificador de que una declaración es verdadera sin revelar otra información.

Por ejemplo, en la red Stellar, un verificador podría asegurar que la billetera del probador contiene más de X USDC sin conocer la cantidad exacta.

Conceptos Clave de las Pruebas ZK:

Integridad

Si la declaración es verdadera, entonces un demostrador puede convencer a un verificador.

Solidez

Un tramposo demostrador no puede convencer a un verificador de una falsa declaración.

Conocimiento Cero

Solo se revela la verdad de la declaración, nada más.

Escalabilidad

Los ZK Rollups son una solución de escalado que agregan múltiples transacciones en una sola prueba para ser verificada en la blockchain, aumentando el rendimiento y reduciendo los costos de transacción.

Beneficios

Pruebas de Conocimiento Cero en Stellar

En cuanto al rendimiento de la red, Stellar aspira a superar a otras redes utilizando las capacidades completas de la computación moderna y ejecutando operaciones de disco, CPU y red simultáneamente. Al colocar estos procesos criptográficos en “slots” dedicados dentro de cada bloque, el protocolo central de Stellar puede manejar un mayor volumen de transacciones sin ralentizarse ni poner tensión adicional en su infraestructura.

Veamos la asignación de recursos de un bloque.

Las transacciones (txs) a la derecha son un grupo de txs enviadas a la red. A la izquierda está el bloque que se aplicará y se añadirá a la blockchain—cuantas más txs en un bloque, mayor será el TPS. Al tener un carril o "slot" separado en el bloque por tipo de recurso, en este caso, para una operación de Prueba ZK, podemos incluir hasta 3x más txs por bloque (lo que significa hasta 3x TPS). Este enfoque es beneficioso para validadores y operadores, especialmente al manejar grandes volúmenes de transacciones, ya que alivia la carga computacional típica vista con otros modelos de tarifas.

Por ejemplo, un enfoque de tarifa de gas por recurso único:

Aplicaciones de las Pruebas ZK

  • Propiedad de Identidad/Datos en Redes Sociales de Web3: En redes sociales descentralizadas, las Pruebas ZK pueden verificar identidades de usuarios y propiedad de datos sin exponer información personal. Los usuarios pueden demostrar que son elegibles para acceder a ciertos servicios o contenido sin revelar su identidad, manteniendo así la privacidad y control sobre sus datos.
  • Finanzas Descentralizadas (DeFi): En aplicaciones DeFi, las Pruebas ZK pueden proporcionar funcionalidad para mejorar la privacidad y seguridad de las transacciones financieras. Por ejemplo, los usuarios pueden demostrar propiedad de activos o la capacidad de reembolsar un préstamo sin revelar su cartera completa.
  • Acceso a Servicios Financieros: Las instituciones de microfinanzas pueden usar Pruebas ZK para verificar la solvencia de individuos sin profundizar en su historial financiero. Esto puede ayudar a personas no bancarizadas a obtener préstamos, seguros y cuentas de ahorro, proporcionando oportunidades para mejorar su estatus económico.
  • Programas de Inclusión Financiera que Preservan la Privacidad: Las ONG pueden usar Pruebas ZK para implementar programas de inclusión financiera que protejan la privacidad de los beneficiarios. Por ejemplo, programas de transferencia de efectivo pueden verificar la elegibilidad y distribuir fondos sin revelar públicamente los datos personales de los receptores. Esto asegura que la ayuda llegue a quienes la necesitan sin exponerlos a estigma social potencial o a ser objetivos.

Implementaciones y Tecnologías

zk-SNARKs (Argumento No Interactivo de Conocimiento Cero Sucinto)

Los SNARKs son un tipo de prueba criptográfica que permite a una parte demostrar a otra que conocen un valor sin revelar el valor en sí y sin ninguna interacción entre el probador y el verificador después de que se haya generado la prueba. Estas pruebas son sucintas, lo que significa que son muy pequeñas y rápidas de verificar, lo que las hace altamente eficientes. Los zk-SNARKs se usan ampliamente en aplicaciones que preservan la privacidad para permitir transacciones donde los detalles permanecen confidenciales mientras se asegura la validez de la transacción.

Aplicaciones de los zk-SNARKs:

  • Cómputo verificable: Los zk-SNARKs facilitan la externalización de cálculos costosos y la validación de la corrección de los resultados sin rehacer la ejecución. Este modelo cambia el paradigma de blockchain de todos computando lo mismo a una parte computando y todos verificando.
  • Aplicaciones descentralizadas (Dapps): Los zk-SNARKs se pueden usar en Dapps para habilitar contratos inteligentes que preservan la privacidad y cálculos fuera de la cadena. Por ejemplo, una Dapp podría usar zk-SNARKs para confirmar la elegibilidad de un usuario para un servicio sin revelar su información personal.
  • Pagos que preservan la privacidad: los zk-SNARKs permiten transacciones completamente anónimas, manteniendo los montos y las partes involucradas completamente privadas. Por ejemplo, permiten pagos sin adjuntar ninguna identidad, asegurando anonimato completo. Un caso de uso podría ser financiar una campaña de bienes públicos sin exponer la identidad de un usuario.

Implementaciones y Tecnologías

zk-STARKs (Argumentos Transparentes y Escalables de Conocimiento Cero):

Los STARKs son una forma avanzada de prueba criptográfica que mejora la escalabilidad y transparencia. Están diseñados para minimizar la interacción entre el probador y el verificador, acelerando significativamente el proceso de verificación en comparación con los zk-SNARKs. Estas pruebas son adecuadas para aplicaciones que requieren un alto rendimiento y escalabilidad, como sistemas de blockchain a gran escala y cálculos intensivos que preservan la privacidad.

Aplicaciones de los zk-STARKs:

  • Sistemas de blockchain escalables: Las pruebas son más grandes. Sin embargo, los ZK-STARKs están diseñados para manejar grandes cantidades de datos y cálculos complejos de manera eficiente. Es como tener un recibo más detallado que tarda más en leerse pero puede probar transacciones más complejas.
  • Cómputo verificable: Similar a los zk-SNARKs, los zk-STARKs facilitan el cómputo verificable, permitiendo a partes no confiables realizar cálculos mientras proporcionan prueba criptográfica de corrección. Esto asegura que los cálculos pueden ser confiables sin revelar los datos subyacentes.
  • Análisis de datos que preserva la privacidad: Los zk-STARKs se pueden usar en escenarios de análisis de datos que preservan la privacidad, donde se pueden procesar datos sensibles sin revelar los datos subyacentes. Por ejemplo, se pueden usar para verificar grandes conjuntos de datos de salud sin revelar la información del paciente subyacente.

Desafíos y Consideraciones

Complejidad Computacional: Implementar Pruebas ZK requiere una potencia de procesamiento significativa, pero la infraestructura de Stellar optimiza recursos para manejar múltiples operaciones simultáneamente. Utilizando multi-threading y procesamiento paralelo, Stellar optimiza el uso de recursos de computación de los validadores para manejar múltiples operaciones simultáneamente. Sin embargo, agregar operaciones de Prueba ZK como Rollups al Stellarstack puede introducir cargas computacionales desconocidas en la red, requiriendo monitoreo y optimización cuidadosos para asegurar un rendimiento de red sostenido.

Suposiciones de Confianza: La seguridad de los sistemas de Prueba ZK depende de suposiciones criptográficas específicas que deben ser rigurosamente probadas y validadas. Por ejemplo, implementar funciones para curvas criptográficas avanzadas es crucial para operaciones criptográficas sofisticadas en el ecosistema de Stellar. Esto incluye funciones como la adición y multiplicación de puntos de curva elíptica. Sin embargo, componentes esenciales como operaciones de emparejamiento y hashing a la curva aún necesitan ser implementados en el protocolo central de Stellar para asegurar la funcionalidad completa.

Mitigaciones de Finanzas Ilícitas: Emplear Pruebas ZK para soluciones de privacidad en cadena puede presentar desafíos legales. Los reguladores y las fuerzas del orden de todo el mundo han estado intensificando la presión sobre mezcladores y billeteras de privacidad que carecen de controles financieros ilícitos robustos. La industria de blockchain está trabajando arduamente para desarrollar estrategias y alternativas que puedan satisfacer las preocupaciones de privacidad y cumplimiento. Stellar Development Foundation está colaborando con socios de la industria y expertos técnicos y de cumplimiento para avanzar en la adopción de diseños de privacidad compatibles.

Únete a la Discusión

Stellar está trabajando activamente en integrar operaciones ZK en la red Stellar. Únete a la comunidad para ayudar a dar forma a las capacidades de Stellar! Visita la discusión en GitHub sobre la implementación ZK.