La prueba de conocimiento cero (ZKP) es una tecnología criptográfica introducida por primera vez en un artículo titulado "La complejidad del conocimiento de los sistemas de prueba interactivos" a principios de la década de 1980 por S.Goldwasser, S.Micali y C.Rackoff. Concebido originalmente como un modelo teórico, su objetivo era abordar el desafío de verificar afirmaciones matemáticas sin revelar ninguna evidencia. Este concepto atrajo una amplia atención en el mundo académico por desafiar los límites de las técnicas de cifrado tradicionales y ofrecer un enfoque novedoso para el manejo de información confidencial.
Con el tiempo, ZKP evolucionó de un concepto teórico abstracto a protocolos concretos que pueden integrarse en diversas aplicaciones. A principios del siglo XXI, con el crecimiento explosivo de Internet y la comunicación digital, el potencial de ZKP comenzó a explorarse en el mundo real. Particularmente con el auge de blockchain y las criptomonedas, ZKP demostró su capacidad para mejorar la privacidad y la seguridad manteniendo al mismo tiempo la eficiencia de las transacciones y el procesamiento de datos.
Hoy en día, ZKP no sólo es un tema candente en la investigación criptográfica, sino que también se ha integrado en múltiples plataformas y aplicaciones de blockchain. Por ejemplo, la aplicación zk-SNARKs en Ethereum Layer2 ofrece transacciones anónimas sin revelar detalles de la transacción. Esta transición de la teoría a la aplicación práctica no sólo demuestra el valor práctico de ZKP sino que también impulsa la exploración de interacciones digitales más eficientes y seguras. Con continuos avances tecnológicos, ZKP desempeña un papel cada vez más crítico en la protección de la privacidad personal, garantizando la seguridad de los datos y estableciendo sistemas digitales confiables.
La prueba de conocimiento cero (ZKP) es un método de cifrado que permite a una parte (el probador) demostrar la exactitud de una declaración a otra parte (el verificador) sin revelar ninguna información adicional, es decir, sin revelar ningún conocimiento sobre el cual se pueda confirmar la exactitud de una declaración. la declaración depende. Este proceso no sólo protege la privacidad del probador sino que también garantiza que el verificador no pueda replicar el proceso de prueba ni utilizarlo para obtener información adicional.
Diagrama conceptual de pruebas de conocimiento cero (Fuente: ChainLink)
Los principios básicos de las pruebas de conocimiento cero (ZKP) se pueden definir mediante los siguientes tres atributos:
El principio de ZKP a menudo se entiende a través de ejemplos simples: si necesito demostrarle a la persona A que tengo el número de teléfono de la persona B, no necesito revelar directamente el número de B a A. En cambio, puedo demostrarlo llamando al número de B. . Una vez que se conecta la llamada, demuestra que efectivamente poseo el número de B, sin revelar ninguna información sobre el número en sí.
En aplicaciones prácticas, ZKP generalmente requiere construcciones matemáticas complejas como ecuaciones polinómicas, curvas elípticas u otros desafíos matemáticos. La seguridad de estas construcciones se basa en la dificultad computacional de problemas como la factorización o logaritmos discretos. Con el avance de la criptografía, han surgido diversas implementaciones de ZKP, como zk-SNARK y zk-STARK, que ofrecen una protección eficaz de la privacidad en diferentes contextos, especialmente en los campos de blockchain y criptomonedas.
La forma básica de prueba de conocimiento cero consta de tres elementos: testigo, desafío y respuesta.
Testigo: En la prueba de conocimiento cero, el demostrador quiere demostrar conocimiento de alguna información oculta. Esta información secreta actúa como “testigo” de la prueba. El probador, basándose en su conocimiento del testigo, plantea una serie de preguntas que sólo alguien con conocimiento de la información puede responder. Por lo tanto, el probador selecciona aleatoriamente una pregunta para iniciar la prueba, calcula la respuesta y luego la envía al verificador.
Desafío: el verificador elige al azar otra pregunta del conjunto y le pide al probador que la responda.
Respuesta: El probador recibe la pregunta, calcula la respuesta y la envía de vuelta al verificador. La respuesta del probador le permite al verificador verificar si efectivamente tiene acceso al testigo. Para asegurarse de que el probador no esté adivinando correctamente a ciegas por casualidad, el verificador selecciona otra pregunta para investigar. Al repetir este proceso varias veces, la probabilidad de que el probador invente la verdad se reduce en gran medida hasta que el verificador esté satisfecho.
En el ejemplo de llamada telefónica antes mencionado, "Yo" soy el testigo que no está dispuesto a revelar información, mientras que A es el verificador, y el desafío planteado es "Demostrar que 'Yo' poseo el número de B". El proceso de respuesta implica que "yo" conecte una llamada al número de B para demostrar que realmente lo tengo.
Como se analizó anteriormente, las pruebas de conocimiento cero (ZKP) ofrecen inherentemente ventajas significativas en el ámbito de la protección de la privacidad. En la era actual de sobrecarga de información, los datos personales a menudo se almacenan en plataformas de terceros, lo que aumenta el riesgo de violaciones de datos. Además, debido a las barreras técnicas y al retraso en las sanciones legales, la seguridad de la información depende en gran medida de limitaciones éticas, lo que dificulta que los usuarios controlen verdaderamente su información privada. La llegada de la tecnología ZKP proporciona una solución que protege la privacidad y mejora la eficiencia y la seguridad de la verificación.
En comparación con otras tecnologías de cifrado, ZKP tiene múltiples ventajas:
Ya sea en la Web 2.0 tradicional o en el dominio emergente Web 3.0, las perspectivas de aplicación de ZKP son amplias.
Existen múltiples implementaciones de pruebas de conocimiento cero, como zk-SNARK, zk-STARK, PLONK y Bulletproofs. Cada tipo tiene sus ventajas y desventajas en términos de tamaño de la prueba, tiempo de prueba y tiempo de verificación. Este artículo se centra en presentar los cuatro tipos más utilizados en escenarios de aplicaciones.
Los zk-SNARK, que significan "Argumento de conocimiento no interactivo, sucinto y de conocimiento cero", son herramientas criptográficas que se utilizan para demostrar que alguien conoce una información sin revelar ninguna información en sí. En zk-SNARK, “conocimiento cero” significa que el probador puede demostrar que una afirmación es verdadera sin proporcionar ninguna información más que su exactitud. “Concisión” se refiere al pequeño tamaño de la prueba y a la velocidad del proceso de verificación. “No interactivo” significa que una vez que se genera una prueba, cualquier persona puede verificarla sin necesidad de interacción adicional entre el probador y el verificador. Los componentes principales de zk-SNARK incluyen:
Los zk-SNARK se utilizan en diversos escenarios de preservación de la privacidad, como criptomonedas con transacciones anónimas, sistemas de votación seguros, autenticación e intercambio de datos que preservan la privacidad y tecnologías de escalabilidad de blockchain.
Los zk-STARK, o “Argumentos de conocimiento transparentes escalables y de conocimiento cero”, permiten que una parte (el probador) demuestre a otra (el verificador) que conoce cierta información sin revelar la información en sí. A diferencia de los zk-SNARK, los zk-STARK no requieren un proceso de configuración confiable. Esto significa que no dependen de la confidencialidad de cierta información privada, una característica que a menudo se considera crucial para la seguridad, ya que la configuración confiable puede ser una vulnerabilidad sistémica.
Los zk-STARK funcionan basándose en conceptos de varios campos matemáticos, incluidas funciones hash, cálculos polinomiales y teoría de corrección de errores. Utilizan una construcción conocida como "argumento transparente escalable de conocimiento cero", que permite la generación de pruebas sin una configuración confiable. Las aplicaciones potenciales de zk-STARK son similares a las de zk-SNARK, pero debido a su escalabilidad y transparencia, son particularmente adecuadas para aplicaciones a gran escala, incluidas criptomonedas que preservan la privacidad, tecnologías de escalabilidad blockchain y verificación segura en computación en la nube. .
PLONK, no es un acrónimo, hace referencia a los apellidos de sus creadores. Está diseñado para proporcionar una solución ZKP universal y eficiente, especialmente en aplicaciones blockchain como contratos inteligentes y transacciones protegidas por la privacidad. El núcleo de PLONK es el uso de una técnica de "ocultamiento homomórfico", que permite operaciones aritméticas con datos sin revelar los datos originales. Emplea un algoritmo especial (un esquema de compromiso polinomial) para crear pruebas, lo que permite a los probadores demostrar de manera eficiente que tienen los resultados de cálculo correctos para un conjunto de datos.
Una característica clave de PLONK es su universalidad. Una vez que se configuran los parámetros para una tarea computacional específica (a través de una configuración confiable única), se pueden reutilizar varias veces para crear nuevas pruebas, sin necesidad de nuevas configuraciones cada vez. Esto hace que PLONK sea altamente eficiente en la creación y verificación de pruebas y, a menudo, está diseñado para admitir diversas tareas computacionales en blockchain y otros sistemas distribuidos.
Bulletproofs, una solución ZKP recientemente introducida, no requiere una configuración confiable y está diseñada específicamente para construir pruebas de rango y ciertos tipos de pruebas aritméticas. Propuesto por Benedikt Bunz, Jonathan Bootle, Dan Boneh y otros en 2017, Bulletproofs opera en construcciones matemáticas complejas como el cifrado homomórfico y la criptografía de curva elíptica. Aprovechan una serie de técnicas matemáticas para permitir a los probadores crear una prueba de rango efectiva para un número sin revelar su valor exacto. Especialmente en el ámbito de las criptomonedas, esto se puede utilizar para demostrar que los valores de las transacciones se encuentran dentro de un rango legal sin exponer los montos reales de las transacciones.
Debido a su característica de prueba de rango, los Bulletproofs se usan ampliamente en los campos de las criptomonedas y blockchain, particularmente en monedas de privacidad como Monero, para ocultar los montos de las transacciones y al mismo tiempo verificar la legitimidad de las transacciones. Además, se pueden emplear en otras aplicaciones donde se requiere privacidad numérica.
Entendamos mejor estas cuatro tecnologías diferentes de prueba de conocimiento cero (ZKP): zk-SNARK, zk-STARK, PLONK y Bulletproofs a través de una analogía con el mapa del tesoro.
Imagina que tienes un mapa del tesoro que te lleva a la ubicación exacta de un tesoro enterrado. Quieres demostrarle a alguien que sabes dónde está el tesoro sin revelar el contenido del mapa o la ubicación real del tesoro.
zk-SNARKs: Creas un complejo rompecabezas del mapa del tesoro. Seleccionas una pequeña pieza clave de este rompecabezas (una prueba) y se la muestras a la otra parte, lo suficiente para convencerla de que sabes cómo armar el rompecabezas completo, es decir, la ubicación del tesoro, sin revelar todo el rompecabezas. Sin embargo, para hacer esto, necesitará marcadores especiales de una imprenta confiable para demostrar que la pieza del rompecabezas es genuina.
zk-STARKs: muestra una parte del mapa del tesoro a la otra parte y le dice que puede usar una lupa especial (un algoritmo de verificación) para verificar aleatoriamente los detalles del mapa y verificar que efectivamente apunta al tesoro, sin necesidad de saberlo. la ubicación exacta del tesoro. Esta lupa es tan poderosa que ni siquiera las tecnologías futuras (computadoras cuánticas) podrán descifrar el secreto de su mapa del tesoro.
PLONK: Esta vez, creas una serie de acertijos, cada uno de los cuales apunta a la ubicación del tesoro. Presentas un método universal para verificar las soluciones a estos acertijos (una configuración universal) a la otra parte, suficiente para que crean que conoces todas las respuestas sin tener que resolver cada acertijo individualmente.
A prueba de balas: decides demostrar que conoces el alcance aproximado de la ubicación del tesoro sin revelar su posición exacta. Proporcionas una serie de soluciones a problemas matemáticos que demuestran el rango de ubicación del tesoro. Su método no requiere marcadores ni técnicas de impresión especiales, lo que significa que no requiere confianza inicial.
En esta analogía:
Cada método tiene sus ventajas y desventajas en las aplicaciones prácticas y la elección depende del escenario de aplicación específico y de las necesidades de seguridad.
Antes de comparar, debemos comprender los criterios para evaluar las ZKP:
Ahora, comparemos zk-SNARK, zk-STARK, PLONK y Bulletproof según estos indicadores y analicemos sus ventajas y desventajas.
Ventajas
Contras
Ventajas
Contras
Ventajas
Contras
Ventajas
Contras
En Web3, hay muchos casos de aplicación de ZKP y hemos seleccionado dos casos típicos para estudiar.
zk-Rollups es una solución de Capa 2 que agrupa cientos o miles de transacciones fuera de la cadena y genera una prueba de zk-SNARK. Esta prueba, junto con los datos de la transacción, se envía a la cadena principal de Ethereum. Permite la validación de transacciones sin que la cadena principal procese cada transacción, lo que reduce las tarifas y aumenta el rendimiento. zk-Sync Era y Starknet han adoptado la tecnología zk-rollup, y Polygon ha introducido recientemente Polygon zk-EVM utilizando zk-rollups.
Una demostración de la aplicación de zk-SNARK en la capa 2 (Fuente: Simon Brown)
La prueba de reserva de cambio se refiere a la verificación de los saldos mantenidos por los intercambios de criptomonedas u otras instituciones financieras, asegurando que los activos registrados coincidan con los activos reales mantenidos. Inicialmente, los intercambios utilizaban árboles Merkle y firmas de auditoría de terceros para esta verificación, pero este proceso dependía de terceros y podía filtrar datos privados de los usuarios, como los saldos de las cuentas. Los intercambios como Gate.io ahora utilizan la tecnología zk-SNARK para pruebas de reserva, cifrar datos de usuario y obtener números de activos de usuario a través de circuitos zk-SNARK, emitiendo así informes completos de prueba de reserva.
Las diversas soluciones de tecnología a prueba de conocimiento cero resaltan su poderoso potencial en Web3. Desde la protección de la privacidad de los datos hasta el escalamiento de blockchain, ZKP es importante para construir una infraestructura Web3 segura y eficiente. Si bien los diferentes enfoques tienen sus ventajas y limitaciones, en conjunto apuntan hacia un futuro digital más confiable y protegido de la privacidad. A medida que avance la tecnología, los desafíos de optimizar el rendimiento y la seguridad con ZKP se irán superando gradualmente, lo que indica su papel cada vez más importante en el mundo digital.
La prueba de conocimiento cero (ZKP) es una tecnología criptográfica introducida por primera vez en un artículo titulado "La complejidad del conocimiento de los sistemas de prueba interactivos" a principios de la década de 1980 por S.Goldwasser, S.Micali y C.Rackoff. Concebido originalmente como un modelo teórico, su objetivo era abordar el desafío de verificar afirmaciones matemáticas sin revelar ninguna evidencia. Este concepto atrajo una amplia atención en el mundo académico por desafiar los límites de las técnicas de cifrado tradicionales y ofrecer un enfoque novedoso para el manejo de información confidencial.
Con el tiempo, ZKP evolucionó de un concepto teórico abstracto a protocolos concretos que pueden integrarse en diversas aplicaciones. A principios del siglo XXI, con el crecimiento explosivo de Internet y la comunicación digital, el potencial de ZKP comenzó a explorarse en el mundo real. Particularmente con el auge de blockchain y las criptomonedas, ZKP demostró su capacidad para mejorar la privacidad y la seguridad manteniendo al mismo tiempo la eficiencia de las transacciones y el procesamiento de datos.
Hoy en día, ZKP no sólo es un tema candente en la investigación criptográfica, sino que también se ha integrado en múltiples plataformas y aplicaciones de blockchain. Por ejemplo, la aplicación zk-SNARKs en Ethereum Layer2 ofrece transacciones anónimas sin revelar detalles de la transacción. Esta transición de la teoría a la aplicación práctica no sólo demuestra el valor práctico de ZKP sino que también impulsa la exploración de interacciones digitales más eficientes y seguras. Con continuos avances tecnológicos, ZKP desempeña un papel cada vez más crítico en la protección de la privacidad personal, garantizando la seguridad de los datos y estableciendo sistemas digitales confiables.
La prueba de conocimiento cero (ZKP) es un método de cifrado que permite a una parte (el probador) demostrar la exactitud de una declaración a otra parte (el verificador) sin revelar ninguna información adicional, es decir, sin revelar ningún conocimiento sobre el cual se pueda confirmar la exactitud de una declaración. la declaración depende. Este proceso no sólo protege la privacidad del probador sino que también garantiza que el verificador no pueda replicar el proceso de prueba ni utilizarlo para obtener información adicional.
Diagrama conceptual de pruebas de conocimiento cero (Fuente: ChainLink)
Los principios básicos de las pruebas de conocimiento cero (ZKP) se pueden definir mediante los siguientes tres atributos:
El principio de ZKP a menudo se entiende a través de ejemplos simples: si necesito demostrarle a la persona A que tengo el número de teléfono de la persona B, no necesito revelar directamente el número de B a A. En cambio, puedo demostrarlo llamando al número de B. . Una vez que se conecta la llamada, demuestra que efectivamente poseo el número de B, sin revelar ninguna información sobre el número en sí.
En aplicaciones prácticas, ZKP generalmente requiere construcciones matemáticas complejas como ecuaciones polinómicas, curvas elípticas u otros desafíos matemáticos. La seguridad de estas construcciones se basa en la dificultad computacional de problemas como la factorización o logaritmos discretos. Con el avance de la criptografía, han surgido diversas implementaciones de ZKP, como zk-SNARK y zk-STARK, que ofrecen una protección eficaz de la privacidad en diferentes contextos, especialmente en los campos de blockchain y criptomonedas.
La forma básica de prueba de conocimiento cero consta de tres elementos: testigo, desafío y respuesta.
Testigo: En la prueba de conocimiento cero, el demostrador quiere demostrar conocimiento de alguna información oculta. Esta información secreta actúa como “testigo” de la prueba. El probador, basándose en su conocimiento del testigo, plantea una serie de preguntas que sólo alguien con conocimiento de la información puede responder. Por lo tanto, el probador selecciona aleatoriamente una pregunta para iniciar la prueba, calcula la respuesta y luego la envía al verificador.
Desafío: el verificador elige al azar otra pregunta del conjunto y le pide al probador que la responda.
Respuesta: El probador recibe la pregunta, calcula la respuesta y la envía de vuelta al verificador. La respuesta del probador le permite al verificador verificar si efectivamente tiene acceso al testigo. Para asegurarse de que el probador no esté adivinando correctamente a ciegas por casualidad, el verificador selecciona otra pregunta para investigar. Al repetir este proceso varias veces, la probabilidad de que el probador invente la verdad se reduce en gran medida hasta que el verificador esté satisfecho.
En el ejemplo de llamada telefónica antes mencionado, "Yo" soy el testigo que no está dispuesto a revelar información, mientras que A es el verificador, y el desafío planteado es "Demostrar que 'Yo' poseo el número de B". El proceso de respuesta implica que "yo" conecte una llamada al número de B para demostrar que realmente lo tengo.
Como se analizó anteriormente, las pruebas de conocimiento cero (ZKP) ofrecen inherentemente ventajas significativas en el ámbito de la protección de la privacidad. En la era actual de sobrecarga de información, los datos personales a menudo se almacenan en plataformas de terceros, lo que aumenta el riesgo de violaciones de datos. Además, debido a las barreras técnicas y al retraso en las sanciones legales, la seguridad de la información depende en gran medida de limitaciones éticas, lo que dificulta que los usuarios controlen verdaderamente su información privada. La llegada de la tecnología ZKP proporciona una solución que protege la privacidad y mejora la eficiencia y la seguridad de la verificación.
En comparación con otras tecnologías de cifrado, ZKP tiene múltiples ventajas:
Ya sea en la Web 2.0 tradicional o en el dominio emergente Web 3.0, las perspectivas de aplicación de ZKP son amplias.
Existen múltiples implementaciones de pruebas de conocimiento cero, como zk-SNARK, zk-STARK, PLONK y Bulletproofs. Cada tipo tiene sus ventajas y desventajas en términos de tamaño de la prueba, tiempo de prueba y tiempo de verificación. Este artículo se centra en presentar los cuatro tipos más utilizados en escenarios de aplicaciones.
Los zk-SNARK, que significan "Argumento de conocimiento no interactivo, sucinto y de conocimiento cero", son herramientas criptográficas que se utilizan para demostrar que alguien conoce una información sin revelar ninguna información en sí. En zk-SNARK, “conocimiento cero” significa que el probador puede demostrar que una afirmación es verdadera sin proporcionar ninguna información más que su exactitud. “Concisión” se refiere al pequeño tamaño de la prueba y a la velocidad del proceso de verificación. “No interactivo” significa que una vez que se genera una prueba, cualquier persona puede verificarla sin necesidad de interacción adicional entre el probador y el verificador. Los componentes principales de zk-SNARK incluyen:
Los zk-SNARK se utilizan en diversos escenarios de preservación de la privacidad, como criptomonedas con transacciones anónimas, sistemas de votación seguros, autenticación e intercambio de datos que preservan la privacidad y tecnologías de escalabilidad de blockchain.
Los zk-STARK, o “Argumentos de conocimiento transparentes escalables y de conocimiento cero”, permiten que una parte (el probador) demuestre a otra (el verificador) que conoce cierta información sin revelar la información en sí. A diferencia de los zk-SNARK, los zk-STARK no requieren un proceso de configuración confiable. Esto significa que no dependen de la confidencialidad de cierta información privada, una característica que a menudo se considera crucial para la seguridad, ya que la configuración confiable puede ser una vulnerabilidad sistémica.
Los zk-STARK funcionan basándose en conceptos de varios campos matemáticos, incluidas funciones hash, cálculos polinomiales y teoría de corrección de errores. Utilizan una construcción conocida como "argumento transparente escalable de conocimiento cero", que permite la generación de pruebas sin una configuración confiable. Las aplicaciones potenciales de zk-STARK son similares a las de zk-SNARK, pero debido a su escalabilidad y transparencia, son particularmente adecuadas para aplicaciones a gran escala, incluidas criptomonedas que preservan la privacidad, tecnologías de escalabilidad blockchain y verificación segura en computación en la nube. .
PLONK, no es un acrónimo, hace referencia a los apellidos de sus creadores. Está diseñado para proporcionar una solución ZKP universal y eficiente, especialmente en aplicaciones blockchain como contratos inteligentes y transacciones protegidas por la privacidad. El núcleo de PLONK es el uso de una técnica de "ocultamiento homomórfico", que permite operaciones aritméticas con datos sin revelar los datos originales. Emplea un algoritmo especial (un esquema de compromiso polinomial) para crear pruebas, lo que permite a los probadores demostrar de manera eficiente que tienen los resultados de cálculo correctos para un conjunto de datos.
Una característica clave de PLONK es su universalidad. Una vez que se configuran los parámetros para una tarea computacional específica (a través de una configuración confiable única), se pueden reutilizar varias veces para crear nuevas pruebas, sin necesidad de nuevas configuraciones cada vez. Esto hace que PLONK sea altamente eficiente en la creación y verificación de pruebas y, a menudo, está diseñado para admitir diversas tareas computacionales en blockchain y otros sistemas distribuidos.
Bulletproofs, una solución ZKP recientemente introducida, no requiere una configuración confiable y está diseñada específicamente para construir pruebas de rango y ciertos tipos de pruebas aritméticas. Propuesto por Benedikt Bunz, Jonathan Bootle, Dan Boneh y otros en 2017, Bulletproofs opera en construcciones matemáticas complejas como el cifrado homomórfico y la criptografía de curva elíptica. Aprovechan una serie de técnicas matemáticas para permitir a los probadores crear una prueba de rango efectiva para un número sin revelar su valor exacto. Especialmente en el ámbito de las criptomonedas, esto se puede utilizar para demostrar que los valores de las transacciones se encuentran dentro de un rango legal sin exponer los montos reales de las transacciones.
Debido a su característica de prueba de rango, los Bulletproofs se usan ampliamente en los campos de las criptomonedas y blockchain, particularmente en monedas de privacidad como Monero, para ocultar los montos de las transacciones y al mismo tiempo verificar la legitimidad de las transacciones. Además, se pueden emplear en otras aplicaciones donde se requiere privacidad numérica.
Entendamos mejor estas cuatro tecnologías diferentes de prueba de conocimiento cero (ZKP): zk-SNARK, zk-STARK, PLONK y Bulletproofs a través de una analogía con el mapa del tesoro.
Imagina que tienes un mapa del tesoro que te lleva a la ubicación exacta de un tesoro enterrado. Quieres demostrarle a alguien que sabes dónde está el tesoro sin revelar el contenido del mapa o la ubicación real del tesoro.
zk-SNARKs: Creas un complejo rompecabezas del mapa del tesoro. Seleccionas una pequeña pieza clave de este rompecabezas (una prueba) y se la muestras a la otra parte, lo suficiente para convencerla de que sabes cómo armar el rompecabezas completo, es decir, la ubicación del tesoro, sin revelar todo el rompecabezas. Sin embargo, para hacer esto, necesitará marcadores especiales de una imprenta confiable para demostrar que la pieza del rompecabezas es genuina.
zk-STARKs: muestra una parte del mapa del tesoro a la otra parte y le dice que puede usar una lupa especial (un algoritmo de verificación) para verificar aleatoriamente los detalles del mapa y verificar que efectivamente apunta al tesoro, sin necesidad de saberlo. la ubicación exacta del tesoro. Esta lupa es tan poderosa que ni siquiera las tecnologías futuras (computadoras cuánticas) podrán descifrar el secreto de su mapa del tesoro.
PLONK: Esta vez, creas una serie de acertijos, cada uno de los cuales apunta a la ubicación del tesoro. Presentas un método universal para verificar las soluciones a estos acertijos (una configuración universal) a la otra parte, suficiente para que crean que conoces todas las respuestas sin tener que resolver cada acertijo individualmente.
A prueba de balas: decides demostrar que conoces el alcance aproximado de la ubicación del tesoro sin revelar su posición exacta. Proporcionas una serie de soluciones a problemas matemáticos que demuestran el rango de ubicación del tesoro. Su método no requiere marcadores ni técnicas de impresión especiales, lo que significa que no requiere confianza inicial.
En esta analogía:
Cada método tiene sus ventajas y desventajas en las aplicaciones prácticas y la elección depende del escenario de aplicación específico y de las necesidades de seguridad.
Antes de comparar, debemos comprender los criterios para evaluar las ZKP:
Ahora, comparemos zk-SNARK, zk-STARK, PLONK y Bulletproof según estos indicadores y analicemos sus ventajas y desventajas.
Ventajas
Contras
Ventajas
Contras
Ventajas
Contras
Ventajas
Contras
En Web3, hay muchos casos de aplicación de ZKP y hemos seleccionado dos casos típicos para estudiar.
zk-Rollups es una solución de Capa 2 que agrupa cientos o miles de transacciones fuera de la cadena y genera una prueba de zk-SNARK. Esta prueba, junto con los datos de la transacción, se envía a la cadena principal de Ethereum. Permite la validación de transacciones sin que la cadena principal procese cada transacción, lo que reduce las tarifas y aumenta el rendimiento. zk-Sync Era y Starknet han adoptado la tecnología zk-rollup, y Polygon ha introducido recientemente Polygon zk-EVM utilizando zk-rollups.
Una demostración de la aplicación de zk-SNARK en la capa 2 (Fuente: Simon Brown)
La prueba de reserva de cambio se refiere a la verificación de los saldos mantenidos por los intercambios de criptomonedas u otras instituciones financieras, asegurando que los activos registrados coincidan con los activos reales mantenidos. Inicialmente, los intercambios utilizaban árboles Merkle y firmas de auditoría de terceros para esta verificación, pero este proceso dependía de terceros y podía filtrar datos privados de los usuarios, como los saldos de las cuentas. Los intercambios como Gate.io ahora utilizan la tecnología zk-SNARK para pruebas de reserva, cifrar datos de usuario y obtener números de activos de usuario a través de circuitos zk-SNARK, emitiendo así informes completos de prueba de reserva.
Las diversas soluciones de tecnología a prueba de conocimiento cero resaltan su poderoso potencial en Web3. Desde la protección de la privacidad de los datos hasta el escalamiento de blockchain, ZKP es importante para construir una infraestructura Web3 segura y eficiente. Si bien los diferentes enfoques tienen sus ventajas y limitaciones, en conjunto apuntan hacia un futuro digital más confiable y protegido de la privacidad. A medida que avance la tecnología, los desafíos de optimizar el rendimiento y la seguridad con ZKP se irán superando gradualmente, lo que indica su papel cada vez más importante en el mundo digital.