zkPass es un protocolo de oráculo que permite la verificación de datos de Internet privado en la cadena. zkPass se basa en zkTLS, que está compuesto por 3P-TLS y tecnología ZK híbrida, y proporciona herramientas y aplicaciones para el intercambio de datos seguro y verificable, garantizando la privacidad y la integridad de cualquier sitio web HTTPS, sin necesidad de API OAuth.
¿Cómo funciona zkPass? Estructura general y conceptos clave
¿Cómo funciona zkPass? Para entender su arquitectura, es necesario conocer tres roles clave: P (probar/individuo), V (verificador/comercial/nodo de zkPass), S (servidor TLS/fuente de datos). En el proceso tradicional de verificación de datos, el probador presenta la información al verificador, quien extrae estos datos y colabora con la fuente de datos para realizar la verificación. Este modelo presenta tres grandes problemas: el probador enfrenta el riesgo de revelar demasiada información personal; la fuente de datos, aunque confiable, no puede ofrecer servicios de verificación personalizados; el verificador posee todos los datos privados de los clientes, lo que plantea un gran riesgo potencial de filtración de datos.
zkPass ha propuesto una solución revolucionaria que posiciona al demostrador entre el validador y la fuente de datos. A diferencia de los métodos tradicionales, el demostrador utiliza su token de acceso para localizar y recuperar datos directamente de la fuente de datos, generando posteriormente una prueba de conocimiento cero (ZKP) para que el validador la verifique. Este proceso asegura que el validador aún no conozca la información personal del demostrador. Esta arquitectura integra 3P-TLS, MPC (cómputo multipartito) y tecnología ZK (conocimiento cero) híbrida.
Componentes técnicos clave:
3P-TLS: Seguridad de la capa de transporte tripartita basada en el protocolo DH de curvas elípticas, combinando MPC y Transferencia Obliviosa (OT) para prevenir el engaño.
Mezcla ZK: sistema de prueba de doble capa que combina ZK interactivo (VOLE-ZK 23) y ZK no interactivo (SNARK/Circom)
zkSBT: Token de vínculo espiritual basado en el estándar NFT combinable ERC998, que almacena declaraciones principales y declaraciones de consulta.
3P-TLS y MPC: un avance tecnológico en el apretón de manos de tres partes
La primera clave de cómo funciona zkPass radica en el protocolo 3P-TLS. La seguridad de la capa de transporte (TLS) es el protocolo de comunicación seguro de HTTPS, que es compatible con casi todas las fuentes de datos. zkPass construyó el protocolo 3P-TLS basado en el protocolo DH de curvas elípticas y lo combinó con MPC y Transferencia Obliviosa, logrando una comunicación segura entre tres partes.
Fase uno: El apretón de manos entre las tres partes P, V y S genera conjuntamente una clave de sesión, donde P y V obtienen sus respectivas participaciones de estas claves. Esto se logra mediante el algoritmo de cifrado Paillier, que proporciona homomorfismo aditivo. La clave maestra provisional se divide en dos partes, donde P y V obtienen la mitad cada uno, mientras que S retiene la clave maestra provisional completa. Para evitar que el cliente falsifique sitios web falsos, el cliente solicitará al servidor que devuelva el certificado, asegurando la confianza en la fuente de los datos.
Fase dos: Intercambio de claves y cálculo de la clave de cifrado (enc_key) y la clave de código de autenticación de mensajes (mac_key) mediante MPC entre P y V. El diseño clave es que V solo posee una parte de mac_key y no tiene enc_key, lo que asegura que V no pueda acceder a la información privada del usuario. Por otro lado, P posee una parte de mac_key, puede acceder a información de identidad específica pero no puede modificarla; cualquier modificación puede ser detectada a través de la verificación de la autenticidad del mensaje mediante mac_key.
Tercera etapa: Preparación de datos de la aplicación con TLS estándar y ZKP. Los datos de la aplicación siguen el protocolo de comunicación TLS estándar, P y V intercambian claves, preparándose para la próxima fase que involucra pruebas de conocimiento cero. El algoritmo MPC de zkPass ha optimizado significativamente el tiempo de comunicación, las funciones hash y las operaciones de memoria, aumentando la eficiencia más de tres veces. Al adoptar un nuevo método de prueba AES128, se ha reducido el número de bloques en 300 veces, y el tiempo de ejecución de Garbler/Evaluator se ha incrementado diez veces. En concreto, zkPass utiliza Silent OT para operaciones OT, aprovechando GC apilado para reducir el tamaño del circuito de enmascaramiento, acortando considerablemente el tiempo de ejecución de todo el proceso MPC.
ZK Híbrido: La combinación perfecta de interactivo y no interactivo
La segunda clave de cómo funciona zkPass radica en el método de mezcla de conocimiento cero. El último paso del protocolo zkPass implica que el cliente genere una prueba de conocimiento cero, que es verificada por un contrato inteligente en la blockchain. Este enfoque mixto combina las ventajas de los protocolos ZK interactivos y no interactivos.
Conocimiento cero interactivo (IZK): VOLE-ZK 23 zkPass utiliza un protocolo ZK interactivo basado en VOLE para la autenticación, asegurando que los datos provengan de fuentes precisas y protegiéndolos contra la manipulación del cliente. El protocolo VOLE-ZK 23 es un marco de “compromiso y prueba”, en el que el probador (P) y el verificador (V) generan conjuntamente una gran cantidad de instancias de VOLE, cada una de las cuales satisface la fórmula lineal “m = k + w * delta”. P compromete algunos componentes de esta fórmula, mientras que V contiene los componentes restantes.
Esta linealidad es la razón clave por la que la solución es rentable, diferenciándola de otras soluciones de polinomios de alto grado como SNARK. P solo necesita transmitir dos elementos de campo al validador, y luego V utiliza sus parámetros VOLE para verificar la correlación. Esta fase tiene cinco limitaciones principales, que aseguran que la solicitud use una clave de cifrado para encriptar, que la solicitud debe generarse utilizando el token de acceso del usuario, que el usuario debe poseer la clave de cifrado para descifrar la respuesta, que el usuario no puede modificar la respuesta, y que los datos de respuesta deben cumplir con las condiciones específicas descritas en la plantilla.
La tecnología zkPass ha sido optimizada en múltiples aspectos para mejorar la utilidad del protocolo. Se ha introducido SoftSpoken para reducir en aproximadamente un 50% el gasto de red y acelerar la generación de VOLE. Aprovechando la característica de homomorfismo aditivo de VOLE, se reduce el compromiso de las puertas XOR e INV a cero. Para casos de uso específicos que involucran las mismas operaciones, se pueden reutilizar los parámetros de VOLE, convirtiendo las operaciones de multiplicación en operaciones de adición, lo que se conoce como “entrada de señal de datos múltiples”, similar a la arquitectura SIMD en las CPU.
La prueba de conocimiento cero no interactiva (NIZK) se transita desde la prueba IZK hacia la prueba NIZK, con el objetivo de ocultar el patrón de plantilla real, permitiendo a los usuarios divulgar selectivamente la prueba para que cualquier parte la verifique públicamente. Se utiliza el marco SNARK, en particular Circom. Una vez que el cliente pasa la verificación IZK con éxito, el nodo proporciona una firma para el resultado, y el cliente inserta el resultado y su firma correspondiente en el árbol de Merkle, actualizando la raíz en el contrato SBT. Cuando el cliente necesita probar el resultado, solo necesita proporcionar la prueba de conocimiento cero, demostrando que el resultado es una hoja en el árbol de Merkle y que ha sido firmado por el nodo.
zkSBT: Sistema de tokens vinculados al alma combinables
La tercera clave de cómo funciona zkPass radica en la estructura de zkSBT. zkPass se adhiere al estándar ERC998, un estándar de NFT que es combinable. tSBT representa categorías como identidad legal, redes sociales e información financiera, mientras que dSBT incluye los certificados reales que el usuario reclama. Estas declaraciones tienen dos tipos: declaraciones principales y declaraciones de consulta.
Las principales reclamaciones implican que los usuarios obtengan sus datos privados de las fuentes de datos después de ejecutar MPC, como el país/región, la edad, el género y otra información de sitios web gubernamentales. Se construye un árbol de reclamaciones basado en estos datos, donde cada nodo representa el valor hash de sus nodos secundarios. Se utiliza la firma babyjub para añadir un número aleatorio y evitar ataques detallados, almacenando el hash raíz del árbol de declaraciones principal en dSBT, el cual debe ser generado y verificado por un contrato inteligente como prueba de conocimiento cero de la corrección del árbol.
Consulta sobre la declaración, por ejemplo, determinar si la edad del usuario es mayor de 18, el usuario solo necesita proporcionar una prueba, que representa su edad, y que la hoja correspondiente está contenida en la estructura arbórea, y que el valor de esta hoja es mayor de 18. El usuario puede transmitir esta prueba directamente al verificador, quien puede ejecutar una función en la cadena para validar la prueba. Esto asegura que los datos privados reales del usuario permanezcan ocultos para todas las partes relevantes, y solo la declaración de la consulta de datos se revelará selectivamente a verificadores específicos.
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
¿Cómo funciona zkPass? 3P-TLS + Mezcla ZK para crear una Máquina de oráculo de conocimiento cero.
zkPass es un protocolo de oráculo que permite la verificación de datos de Internet privado en la cadena. zkPass se basa en zkTLS, que está compuesto por 3P-TLS y tecnología ZK híbrida, y proporciona herramientas y aplicaciones para el intercambio de datos seguro y verificable, garantizando la privacidad y la integridad de cualquier sitio web HTTPS, sin necesidad de API OAuth.
¿Cómo funciona zkPass? Estructura general y conceptos clave
¿Cómo funciona zkPass? Para entender su arquitectura, es necesario conocer tres roles clave: P (probar/individuo), V (verificador/comercial/nodo de zkPass), S (servidor TLS/fuente de datos). En el proceso tradicional de verificación de datos, el probador presenta la información al verificador, quien extrae estos datos y colabora con la fuente de datos para realizar la verificación. Este modelo presenta tres grandes problemas: el probador enfrenta el riesgo de revelar demasiada información personal; la fuente de datos, aunque confiable, no puede ofrecer servicios de verificación personalizados; el verificador posee todos los datos privados de los clientes, lo que plantea un gran riesgo potencial de filtración de datos.
zkPass ha propuesto una solución revolucionaria que posiciona al demostrador entre el validador y la fuente de datos. A diferencia de los métodos tradicionales, el demostrador utiliza su token de acceso para localizar y recuperar datos directamente de la fuente de datos, generando posteriormente una prueba de conocimiento cero (ZKP) para que el validador la verifique. Este proceso asegura que el validador aún no conozca la información personal del demostrador. Esta arquitectura integra 3P-TLS, MPC (cómputo multipartito) y tecnología ZK (conocimiento cero) híbrida.
Componentes técnicos clave:
3P-TLS: Seguridad de la capa de transporte tripartita basada en el protocolo DH de curvas elípticas, combinando MPC y Transferencia Obliviosa (OT) para prevenir el engaño.
Mezcla ZK: sistema de prueba de doble capa que combina ZK interactivo (VOLE-ZK 23) y ZK no interactivo (SNARK/Circom)
zkSBT: Token de vínculo espiritual basado en el estándar NFT combinable ERC998, que almacena declaraciones principales y declaraciones de consulta.
3P-TLS y MPC: un avance tecnológico en el apretón de manos de tres partes
La primera clave de cómo funciona zkPass radica en el protocolo 3P-TLS. La seguridad de la capa de transporte (TLS) es el protocolo de comunicación seguro de HTTPS, que es compatible con casi todas las fuentes de datos. zkPass construyó el protocolo 3P-TLS basado en el protocolo DH de curvas elípticas y lo combinó con MPC y Transferencia Obliviosa, logrando una comunicación segura entre tres partes.
Fase uno: El apretón de manos entre las tres partes P, V y S genera conjuntamente una clave de sesión, donde P y V obtienen sus respectivas participaciones de estas claves. Esto se logra mediante el algoritmo de cifrado Paillier, que proporciona homomorfismo aditivo. La clave maestra provisional se divide en dos partes, donde P y V obtienen la mitad cada uno, mientras que S retiene la clave maestra provisional completa. Para evitar que el cliente falsifique sitios web falsos, el cliente solicitará al servidor que devuelva el certificado, asegurando la confianza en la fuente de los datos.
Fase dos: Intercambio de claves y cálculo de la clave de cifrado (enc_key) y la clave de código de autenticación de mensajes (mac_key) mediante MPC entre P y V. El diseño clave es que V solo posee una parte de mac_key y no tiene enc_key, lo que asegura que V no pueda acceder a la información privada del usuario. Por otro lado, P posee una parte de mac_key, puede acceder a información de identidad específica pero no puede modificarla; cualquier modificación puede ser detectada a través de la verificación de la autenticidad del mensaje mediante mac_key.
Tercera etapa: Preparación de datos de la aplicación con TLS estándar y ZKP. Los datos de la aplicación siguen el protocolo de comunicación TLS estándar, P y V intercambian claves, preparándose para la próxima fase que involucra pruebas de conocimiento cero. El algoritmo MPC de zkPass ha optimizado significativamente el tiempo de comunicación, las funciones hash y las operaciones de memoria, aumentando la eficiencia más de tres veces. Al adoptar un nuevo método de prueba AES128, se ha reducido el número de bloques en 300 veces, y el tiempo de ejecución de Garbler/Evaluator se ha incrementado diez veces. En concreto, zkPass utiliza Silent OT para operaciones OT, aprovechando GC apilado para reducir el tamaño del circuito de enmascaramiento, acortando considerablemente el tiempo de ejecución de todo el proceso MPC.
ZK Híbrido: La combinación perfecta de interactivo y no interactivo
La segunda clave de cómo funciona zkPass radica en el método de mezcla de conocimiento cero. El último paso del protocolo zkPass implica que el cliente genere una prueba de conocimiento cero, que es verificada por un contrato inteligente en la blockchain. Este enfoque mixto combina las ventajas de los protocolos ZK interactivos y no interactivos.
Conocimiento cero interactivo (IZK): VOLE-ZK 23 zkPass utiliza un protocolo ZK interactivo basado en VOLE para la autenticación, asegurando que los datos provengan de fuentes precisas y protegiéndolos contra la manipulación del cliente. El protocolo VOLE-ZK 23 es un marco de “compromiso y prueba”, en el que el probador (P) y el verificador (V) generan conjuntamente una gran cantidad de instancias de VOLE, cada una de las cuales satisface la fórmula lineal “m = k + w * delta”. P compromete algunos componentes de esta fórmula, mientras que V contiene los componentes restantes.
Esta linealidad es la razón clave por la que la solución es rentable, diferenciándola de otras soluciones de polinomios de alto grado como SNARK. P solo necesita transmitir dos elementos de campo al validador, y luego V utiliza sus parámetros VOLE para verificar la correlación. Esta fase tiene cinco limitaciones principales, que aseguran que la solicitud use una clave de cifrado para encriptar, que la solicitud debe generarse utilizando el token de acceso del usuario, que el usuario debe poseer la clave de cifrado para descifrar la respuesta, que el usuario no puede modificar la respuesta, y que los datos de respuesta deben cumplir con las condiciones específicas descritas en la plantilla.
La tecnología zkPass ha sido optimizada en múltiples aspectos para mejorar la utilidad del protocolo. Se ha introducido SoftSpoken para reducir en aproximadamente un 50% el gasto de red y acelerar la generación de VOLE. Aprovechando la característica de homomorfismo aditivo de VOLE, se reduce el compromiso de las puertas XOR e INV a cero. Para casos de uso específicos que involucran las mismas operaciones, se pueden reutilizar los parámetros de VOLE, convirtiendo las operaciones de multiplicación en operaciones de adición, lo que se conoce como “entrada de señal de datos múltiples”, similar a la arquitectura SIMD en las CPU.
La prueba de conocimiento cero no interactiva (NIZK) se transita desde la prueba IZK hacia la prueba NIZK, con el objetivo de ocultar el patrón de plantilla real, permitiendo a los usuarios divulgar selectivamente la prueba para que cualquier parte la verifique públicamente. Se utiliza el marco SNARK, en particular Circom. Una vez que el cliente pasa la verificación IZK con éxito, el nodo proporciona una firma para el resultado, y el cliente inserta el resultado y su firma correspondiente en el árbol de Merkle, actualizando la raíz en el contrato SBT. Cuando el cliente necesita probar el resultado, solo necesita proporcionar la prueba de conocimiento cero, demostrando que el resultado es una hoja en el árbol de Merkle y que ha sido firmado por el nodo.
zkSBT: Sistema de tokens vinculados al alma combinables
La tercera clave de cómo funciona zkPass radica en la estructura de zkSBT. zkPass se adhiere al estándar ERC998, un estándar de NFT que es combinable. tSBT representa categorías como identidad legal, redes sociales e información financiera, mientras que dSBT incluye los certificados reales que el usuario reclama. Estas declaraciones tienen dos tipos: declaraciones principales y declaraciones de consulta.
Las principales reclamaciones implican que los usuarios obtengan sus datos privados de las fuentes de datos después de ejecutar MPC, como el país/región, la edad, el género y otra información de sitios web gubernamentales. Se construye un árbol de reclamaciones basado en estos datos, donde cada nodo representa el valor hash de sus nodos secundarios. Se utiliza la firma babyjub para añadir un número aleatorio y evitar ataques detallados, almacenando el hash raíz del árbol de declaraciones principal en dSBT, el cual debe ser generado y verificado por un contrato inteligente como prueba de conocimiento cero de la corrección del árbol.
Consulta sobre la declaración, por ejemplo, determinar si la edad del usuario es mayor de 18, el usuario solo necesita proporcionar una prueba, que representa su edad, y que la hoja correspondiente está contenida en la estructura arbórea, y que el valor de esta hoja es mayor de 18. El usuario puede transmitir esta prueba directamente al verificador, quien puede ejecutar una función en la cadena para validar la prueba. Esto asegura que los datos privados reales del usuario permanezcan ocultos para todas las partes relevantes, y solo la declaración de la consulta de datos se revelará selectivamente a verificadores específicos.