¿Qué es zk-SNARK? ¿Qué ventajas y problemas tiene?

Rubén Colomer, 5 marzo 2021

¿Qué es zk-SNARK?

Zk-SNARK es un acrónimo de Zero-Knowledge Succinct Non-Interactive Argument of Knowledge que significa algo así como “Argumento Sucinto de Conocimiento No Interactivo”.

Básicamente un zk-SNARK es una prueba criptográfica que permite a una parte demostrar que posee cierta información sin revelarla. Esta prueba es posible gracias a una clave secreta creada antes de que tenga lugar la transacción.

Zk-SNARK se utiliza frecuentemente como parte de los protocolos de criptomonedas centradas en la privacidad.

Cómo funciona zk-SNARKs

A principios de la década de 2010, los usuarios de Bitcoin asumían que sus transacciones eran anónimas porque sus identidades offline no estaban asociadas a las claves públicas de los usuarios. Pero a finales de la década, los esfuerzos coordinados de los científicos de datos, los hackers y las fuerzas del orden demostraron que no sólo es posible, sino relativamente fácil, volver a identificar a las personas que habían proporcionado datos pseudónimos a múltiples fuentes.

En la tecnología blockchain, es fácil seguir y rastrear las transacciones que se están llevando a cabo por los individuos. Esto se conoce como análisis de blockchain y puede ser utilizado por cualquier organismo de control, incluido el gobierno.

Zero-Knowledge Proof - Prueba de conocimiento cero

Un zk-SNARK utiliza un concepto conocido como “prueba de conocimiento cero”. La idea en la que se basan estas pruebas se desarrolló por primera vez en la década de 1980. En pocas palabras, una prueba de conocimiento cero es una situación en la que cada una de las dos partes de una transacción es capaz de verificar a la otra que tiene un conjunto particular de información, mientras que al mismo tiempo no revela cuál es esa información.

En la mayoría de los otros tipos de pruebas, al menos una de las dos partes debe tener acceso a toda la información. Una prueba tradicional puede compararse con una contraseña utilizada para acceder a una red en línea. El usuario envía la contraseña y la propia red comprueba el contenido de la misma para verificar que es correcta. Para ello, la red también debe tener acceso al contenido de la contraseña.

Una versión de esta situación con conocimiento cero implicaría que el usuario demostrara a la red (mediante una prueba matemática) que tiene la contraseña correcta sin revelar la propia contraseña. Las ventajas de privacidad y seguridad en esta situación son claras: si la red no tiene la contraseña almacenada en algún lugar con fines de verificación, la contraseña no puede ser robada.

La base matemática de zk-SNARKS es compleja. No obstante, las pruebas de este tipo permiten a una parte demostrar no sólo que existe un determinado bit de información, sino también que la parte en cuestión tiene conocimiento de esa información. En el caso de Zcash, las pruebas zk-SNARK pueden ser verificadas casi instantáneamente, y el protocolo no requiere ninguna interacción entre el que realiza la prueba y el verificador.

Problemas de Zcash

Por supuesto, existen problemas relacionados con los zk-SNARKs. Por ejemplo, si alguien pudiera acceder a la clave privada que se utilizó para crear los parámetros del protocolo de prueba, podría crear pruebas falsas que, sin embargo, parecieran válidas para los verificadores. Esto permitiría a esa persona crear nuevos tokens de Zcash, en este caso, mediante un proceso de falsificación. Para evitar que esto ocurra, Zcash se diseñó de forma que los protocolos de prueba fueran elaborados y se repartieran entre varias partes.

Zcash también tiene otro problema importante y es que se creó con un “impuesto” del 20% sobre todos los bloques creados durante los primeros años del token. Este impuesto se conoce como el “impuesto del fundador” y se utiliza para compensar a los desarrolladores de la criptodivisa.

Los críticos han sugerido que los fundadores podrían utilizar esta faceta del sistema para crear un número infinito de tokens de Zcash sin que nadie más sepa de la existencia de esos tokens. Por esa razón, no es del todo posible saber el número exacto de tokens Zcash existentes en este momento.

Desde 2019, algunos desarrolladores han estado trabajando para mejorar los zk-SNARKs eliminando la configuración de confianza. Un equipo llamado Suterusu ha desarrollado un sistema llamado zK-ConSNARK que afirma ser operable sin una configuración de confianza, puede proporcionar protección de privacidad para blockchains convencionales como Bitcoin, y tiene la inflación más baja para cualquier criptodivisa existente.
Lemming at Work puede usar cookies para recopilar estadísticas, optimizar la funcionalidad del sitio y ofrecerte publicidad basada en tus intereses. Si sigues navegando estarás aceptando su uso. Más información de nuestras políticas.