
Fuente: Cadena de compilación;
En 1985, el concepto original de prueba de conocimiento cero (ZKP) apareció en un artículo académico revisado por pares titulado «La complejidad del conocimiento de los sistemas de prueba interactiva», que marca un avance en la criptografía.Los investigadores Shafi Goldwasser, Silvio Micali y Charles Rackoff exploraron si es posible demostrar que los datos son válidos sin revelar ninguna información que no sea los datos en sí.Casi 40 años después, ZKP se ha convertido en un componente fundamental de muchas blockchains, lo que respalda a los usuarios a través de una mayor privacidad y seguridad.
¿Qué es la prueba de conocimiento cero?(ZKP)
Zero Knowledge Proof (ZKP) es un método de cifrado que permite a múltiples partes verificar la autenticidad de una declaración sin revelar información fuera de la declaración en sí.Muchas blockchains utilizan ZKP para mejorar la seguridad de las interacciones que involucran datos confidenciales.Por lo tanto, los participantes en blockchains con ZKP pueden interactuar con más confianza, ya que es poco probable que la información privada sea filtrada o explotada por actores maliciosos.
Los componentes de la prueba de conocimiento cero
ZKP requiere que al menos dos partes participen en cada interacción: el Prover y el validador.El Prover es responsable de proporcionar pruebas matemáticas reales para convencer al validador de la validez de la declaración.El validador debe verificar esta evidencia y aceptarla o rechazarla.
Por lo general, hay múltiples rondas de comunicación entre el Prover y el verificador para reducir la posibilidad de que cualquiera de las partes especule o proporcione información ilegal.
¿Cómo funciona la prueba de conocimiento cero?
ZKP opera utilizando bloques de construcción básicos de algoritmos de cifrado avanzados y conceptos matemáticos.Por ejemplo, ZKP utiliza funciones de hash criptográfica para generar desafíos aleatorios para los validadores en un esfuerzo por generar confianza mutua con los procesadores.
Las interacciones respaldadas por ZKP deben cumplir con las siguientes condiciones:
-
Integridad:Si la declaración es cierta, un prover honesto debería poder convencer fácilmente al validador.
-
Solvencia:Si la declaración es falsa, deshonesta Prover no debería poder engañar al verificador.
-
Cero conocimiento:Ninguna de las partes puede extraer otra información privada entre sí;
Veamos un ejemplo de cómo dos usuarios pueden usar ZKP para comerciar:
-
A (Prueba) quiere usar la moneda de privacidad ZCash para ejecutar la transacción para que ningún observador de la cadena de bloques oculta pueda retirar cualquier detalle de la transacción (es decir, el monto de la transferencia, la dirección de transferencia, etc.).
-
B (verificador) quiere recibir Zcash de A pero no conoce sus detalles privados, como los activos totales que se mantienen en la billetera de A.
-
Una transacción criptográfica y envíela a la cadena de bloques.
-
A Enviar un ZKP con una transacción criptográfica para demostrar que la transacción es válida.
-
Los nodos en la cadena de bloques verifican ZKP para garantizar que las transacciones de criptografía de A sean realmente válidas.
-
Si ZKP es válido, B lo aceptará.
-
ZCash se transfiere de la cuenta de A a la cuenta de B.
-
Las transacciones se registran permanentemente en la cadena de bloques.
Tipos de pruebas de conocimiento cero
ZKP viene principalmente en dos formas: interactiva y no interactiva.El ZKP interactivo implica múltiples rondas de comunicación de ida y vuelta entre Prover y validador.El ZKP no interactivo implica solo una ronda de comunicaciones: el comprobante solo envía un mensaje al verificador, y no tienen que estar en línea al mismo tiempo.
Las pruebas interactivas no son comunes en los sistemas basados en blockchain porque son ineficientes y, a menudo, no son deseables para exigir que ambas partes estén en línea al mismo tiempo.Por lo tanto, use los siguientes tipos de ZKP en una configuración no interactiva:
El argumento conciso de conocimiento no interactivo con conocimiento cero (ZK-SNARK) permite a los participantes demostrar la posesión de cierta información sin revelar los detalles de esa información.ZK-Snark es común en la cadena de bloques Ethereum y es especialmente útil para proteger los contratos inteligentes de la privacidad.ZCash también usa ZK-Snark para probar la validez de las transacciones protegidas, como las que no revelan ninguna información, incluidos los remitentes, los destinatarios y los montos de transferencia.
Los argumentos de conocimiento transparente escalable de conocimiento cero (ZK-STARK) funcionan de manera similar a ZK-Snark, pero tiene como objetivo escalar la informática grande.Debido a las ventajas adicionales de ZK-Stark, como la transparencia y la escalabilidad, es compatible con una variedad de aplicaciones de blockchain.
La prueba a prueba de balas demuestra que un valor está dentro de un cierto rango sin revelar el valor en sí.Al usar conceptos matemáticos avanzados, las pruebas a prueba de balas pueden hacer que las pruebas sean más pequeñas, reduciendo así el tamaño de la transacción y el tiempo de verificación.Monero usa a prueba de balas.
Casos de aplicación y uso de prueba de conocimiento cero
La prueba de conocimiento cero ofrece una amplia gama de aplicaciones en el ecosistema blockchain, desde protocolos descentralizados que mejoran la privacidad hasta las soluciones de transacción escalables.Aunque algunos de estos casos de uso han sido adoptados por Blockchain, otros todavía están en la etapa de especulación o en las primeras etapas del desarrollo.
Autenticación y autenticación segura:Los participantes de Defi pueden usar ZKP para demostrar que tienen ciertos atributos, como participar en actividades de gobierno o convertirse en miembros de un grupo de titulares de tokens específico sin revelar el valor real de estos atributos.Del mismo modo, los usuarios pueden interactuar con ZKP para divulgar selectivamente información relacionada con sus identidades.
Sistema de votación seguro:ZKP permite a los participantes de Defi demostrar su elegibilidad de votación y el número de votos sin revelar su historia o preferencias de votación.
ZK-RollupsEs la solución de extensión de la capa 2 que envuelve datos de transacción fuera de la cadena o «rollup» como prueba criptográfica, y luego publica la validez de la transacción en la red principal de Ethereum en forma de calldata.Dado que las transacciones se publican en Bundles a Mainnet, generalmente ocupan menos espacio, reduciendo la carga informática en Ethereum.Los populares ZK-Rollups incluyen Zksync y Loopring.
Zk-plasmaes una variante de la red de plasma que utiliza ZKP para crear tecnologías laterales protegidas por la privacidad en Ethereum.En lugar de verificar todos los datos en el Netnet, los usuarios pueden verificar las transacciones en la cadena lateral y luego publicar su validez en Ethereum usando ZKP.
Intercambio descentralizado (DEX):ZKP puede facilitar las transacciones de varios activos sin revelar el historial de transacciones, la estrategia o el saldo de la cuenta del usuario.
Transparencia de la cadena de suministro y verificación de integridad:ZKP puede mejorar la seguridad de la cadena de suministro verificando la autenticidad de las credenciales y productos del proveedor sin la necesidad de divulgar información de transacciones o información patentada sobre el proceso de producción a las partes no autorizadas.Además, ZKP puede ayudar a verificar la certificación y el cumplimiento de los estándares regulatorios de la cadena de suministro.
La siguiente figura ilustra la escala de aplicación de la tecnología de conocimiento cero en algunos casos de uso.Vimos la cantidad de fondos enviados a varias de las aplicaciones ZKP más populares, incluidas ZCash (una criptomoneda que protege la privacidad), el efectivo de Tornado (un contrato inteligente descentralizado y no administrado), RailGun (Ethereum L2 Privacy Protocol) y Aztec (Ethereum L2 Privacacy Privacy Privacy Acuerdo).Entre enero de 2022 y abril de 2024, se enviaron más fondos a Tornado Cash que las otras tres aplicaciones habilitadas para ZKP, cerca de $ 5 mil millones.
Desafíos de la adopción de la prueba de conocimiento cero
Aunque se espera que ZKP haga blockchains más seguros y más eficientes, su adopción generalizada aún enfrenta muchos desafíos:
-
Implementar e implementar ZKP requiere una comprensión profunda de los principios de cifrado y las matemáticas avanzadas: la mayoría de los desarrolladores no tienen esta experiencia.
-
La generación de ZKP a menudo requiere una gran cantidad de recursos informáticos, lo que resulta en tiempos de procesamiento de transacciones más lentos y mayores tarifas.
-
La interoperabilidad de las cadenas de bloques puede ser difícil si los participantes encuentran protocolos incompatibles o métodos de verificación.
-
La complejidad de ZKP y el almacenamiento de datos correspondiente puede plantear desafíos regulatorios y de auditoría.
El futuro de la prueba de conocimiento cero en blockchain
A medida que la conciencia de la importancia de la privacidad y la seguridad de las plataformas blockchain continúa aumentando, es probable que las pruebas de conocimiento cero sean más ampliamente adoptadas.Además, muchos protocolos de capa 2 en Ethereum buscan constantemente formas de mejorar la escalabilidad y la eficiencia, y las pruebas de conocimiento cero pueden ayudar a resolver estos problemas.Estos esfuerzos continuos desempeñarán un papel clave en la protección de la información sensible al usuario y la estandarización de las transacciones blockchain para facilitar la interoperabilidad de blockchain.