¿Qué es la Prueba de Conocimiento-Cero?
La prueba de conocimiento-cero (ZK proof, ZKP) es un método criptográfico para demostrar la validez de una afirmación sin revelar información sobre la misma.
¿Cómo puede alguien saber si una afirmación es verdadera o falsa sin tener acceso a ninguna información sobre la misma? Las pruebas ZK funcionan de la siguiente manera: hay un “prover” y un “verifier”. Veamos un ejemplo de una prueba ZK en funcionamiento:
En este ejemplo, tú eres el “probador” y la empresa de redes sociales es el “verificador”. La prueba ZK te permite verificar tu identidad sin revelar ninguna información personal. De este modo, tu información personal no se filtrará en caso de que la empresa de redes sociales sufra una violación de datos o un pirateo informático.
Ahora que ya conoces el poder de esta tecnología para preservar la privacidad, vamos a entrar en los detalles técnicos y la definición de las pruebas de conocimiento-cero.
¿Cómo funcionan las Pruebas de Conocimiento-Cero?
Una prueba ZK es una prueba de la validez de una afirmación. La innovación reside en la eliminación de la necesidad de revelar información para demostrar la validez de esta afirmación.
Una prueba ZK se compone de tres elementos:
- Testigo: El testigo es la información oculta de la prueba. Una prueba ZK se inicia cuando un prover (el que conoce esta información) establece un conjunto de preguntas que sólo pueden ser respondidas por alguien que conozca la información oculta.
- Desafío: Un verificador elige preguntas al azar (problemas matemáticos) y pide al verificador que las responda.
- Respuesta: El verificador calcula la respuesta y la envía al verificador. El verificador hace más preguntas al prover para reducir la posibilidad de que éste falsee sus conocimientos. Estas interacciones continúan hasta que el verificador queda satisfecho.
Las múltiples interacciones entre el prover y el verificador explican el funcionamiento de un “protocolo ZK interactivo”.
Los avances en este campo han dado lugar a “protocolos ZK no interactivos” que requieren que el prover y el verificador interactúen una sola vez.
Explicación de la Prueba de Conocimiento Cero: Tipos de Protocolos ZK
ZK SNARK
ZK SNARK, o Argumento de Conocimiento Cero Sucinto No Interactivo, es un protocolo que genera pruebas ZK. ZK SNARK posee las siguientes propiedades:
- Conocimiento cero: No se revela ninguna información sobre la declaración durante la validación. El único conocimiento que tiene un verificador es si la afirmación es verdadera o falsa.
- Sucinta: La prueba ZK es lo suficientemente pequeña como para ser verificada rápidamente.
- No interactiva: El probador y el verificador sólo interactúan una vez, lo que lo hace más rápido y eficiente.
- Argumento: La prueba ZK es sólida y difícil de engañar.
- De conocimiento: La prueba ZK de una afirmación no puede crearse sin acceso a la información secreta.
ZK STARK
ZK STARK, o Argumento Transparente Escalable de Conocimiento Cero, es similar a ZK SNARK. Aunque comparten propiedades similares, ZK STARK se considera más escalable.
Puede producir pruebas para grandes conjuntos de datos y es más rápido en los procesos de generación de pruebas y verificación que ZK SNARK cuando el tamaño del testigo es grande.
ZK STARK también se considera más transparente que ZK SNARK, ya que no necesita una configuración de confianza para funcionar.
Casos de uso de las pruebas ZK
Rollups ZK
Uno de los principales argumentos a favor de la tecnología de prueba ZK es su uso para escalar la red Ethereum mediante rollups de capa dos (L2).
Los rollups procesan y verifican transacciones fuera de la cadena, las agrupan y las publican en la cadena principal. La principal ventaja de utilizar rollups L2 es que abarata las comisiones de gas en la Capa uno (L1) y permite a la L1 procesar más rápido y mayores volúmenes de transacciones.
Las pruebas ZK se utilizan para verificar la corrección de la ejecución fuera de la cadena. Así, el L2 ejecutará transacciones fuera de la cadena y enviará las pruebas ZK para su verificación al L1.
Transacciones Privadas
La prueba ZK es una tecnología de preservación de la privacidad que se utiliza en la industria de las criptomonedas para permitir a los usuarios realizar transacciones anónimas.
Las criptotransacciones son transparentes. Las direcciones de los monederos, los saldos de las cuentas y las marcas de tiempo de las transacciones se publican en las bases de datos de blockchain. Aunque las direcciones de los monederos son seudónimas, no es imposible asociarlas a identidades reales.
Criptomonedas centradas en la privacidad como Zcash utilizan ZK SNARKS para ocultar información privada. Tornado Cash utiliza pruebas ZK para permitir a los usuarios realizar transacciones privadas en Ethereum.
Protección de la identidad y autenticación
Las pruebas ZK permiten a los usuarios crear identificadores personales que no exponen información privada. Si las pruebas ZK se generalizan en el futuro, el usuario podrá identificarse sin revelar la información de su pasaporte o su número de la seguridad social.
Las pruebas ZK también permitirán a los usuarios autenticar sus identidades, lo que puede ser necesario para acceder a sitios web y aplicaciones.
Limitaciones de las pruebas ZK
Gastos de hardware | Para verificar una prueba ZK se necesitan ordenadores especializados para realizar cálculos complejos. Estas máquinas son caras, lo que crea una barrera para su adopción y fomenta la centralización de la potencia de cálculo. |
Tasas de gas elevadas | El elevado coste del hardware necesario para realizar cálculos complejos en el protocolo ZK se repercute en el usuario final. Por ello, los rollups ZK tienden a cobrar más tasas de gas en comparación con los rollups Optimistic. |
Supuestos de confianza | Los ZK SNARK utilizan una cadena de referencia común que puede ser reutilizada por las partes que deseen participar en el protocolo ZK. Esta cadena de referencia común se crea en una configuración de confianza en la que se supone que los participantes son honestos. |
Amenazas de la computación cuántica | Los avances en el campo de la computación cuántica suponen una amenaza para el modelo de seguridad de los protocolos ZK SNARK. |
Lo esencial
Las pruebas ZK han desbloqueado una nueva forma de verificar la información. Permiten realizar transacciones seguras y protegen la información sensible y privada por defecto.
La tecnología ZK también está a la vanguardia del escalado de Ethereum, la blockchain de contratos inteligentes más popular del mundo.