WEB3DEV Español

Cover image for Prueba de Conocimiento Cero: Delegación de Privacidad de los Probadores
Paulo Gio
Paulo Gio

Posted on

Prueba de Conocimiento Cero: Delegación de Privacidad de los Probadores

Al ver los videos del zkSummit7 recientemente, el primer tema captó mi atención:

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*ryKIuixVMxi5l1gwJhMSFw.png

https://www.youtube.com/watch?v=SCIuwh9ya8U

Delegación de Privacidad Eficiente de los Probadores zkSNARK. La presentación que hizo Pratyush Mishra fue excelente, explicando claramente la razón del diseño de la delegación y la lógica de implementación. Si te interesa este tema, no dudes en ver el video y leer este artículo para entender la Delegación de Privacidad Eficiente del Probador zkSNARK.

Primero, revisemos el modelo de aplicación de la situación zkSNARK: el Probador construye y envía la prueba al Verificador para su verificación. Ten en cuenta que la prueba se genera localmente en el Probador.

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*vfZj1e-sTmGQauk78hIAMQ.png

Con más y más aplicaciones ZKP, aquí está la situación: no es eficiente generar la delegación de circuitos localmente en el lado del Probador, porque lleva mucho tiempo ejecutar los circuitos, o la capacidad de cálculo del Probador es limitada. Naturalmente, las personas pensaron en externalizar el trabajo de ZKP.

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*2_CgzppJmK5VZIHr09Cwvg.png

Sin embargo, hay un gran problema: la fuga de información. ZKP fue diseñado originalmente para proteger la privacidad de la información. Sin embargo, un protocolo de externalización simple podría filtrar información privada. El objetivo de este tema es averiguar cómo externalizar la Delegación ZKP asegurando la privacidad:

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*WLtJgOGUe7tffsnQcBPq_Q.png

Hay dos objetivos: 1/ La eficiencia de la prueba. Si se utiliza un protocolo complejo, entonces no tiene sentido el trabajo del delegador si es más lento que el Probador. (El trabajo del delegador debe ser mucho menor que el de probar.) 2/ (El testigo del delegador debe estar oculto al trabajador.) Toda la información original del testigo debe ser protegida.

Algunas personas pueden decir que el problema podría resolverse con homomorfismo. Sin embargo, no es una gran opción debido a su mayor costo.

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*MIF4IjiUFEr-WiC5fkTjSQ.png

Es posible tercerizar el trabajo de prueba para ZKP con el método de privacidad basado en el valor de campo.

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*wG1R54AA_jKR7bPx3umTJg.png

En otras palabras, siempre y cuando al menos 1 trabajador sea honesto, la privacidad de la prueba está segura. A continuación, veamos la factibilidad del protocolo zkSNARK.

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*DdK4baGl0N0g0ThPKgU6fQ.png

El actual protocolo de delegación de privacidad soporta un sistema de prueba basado en el PIOP (Producto Interno entre Ortogonal de Polinomios), que tiene dos características: 1/ Utilizar los esquemas de compromiso polinomial KZG y de argumento de producto interno 2/ Uso del marco PIOP. Para el rendimiento, hay más datos de soporte proporcionados al final de la presentación.

Todo el diseño se basa en el MPC:

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*OAmM4xNhxN2JcNsYpSsZog.png

Es hora de considerar algunos detalles. La complicidad del sistema de prueba necesita ser considerada al utilizar MPC. Todo el sistema de prueba puede ser visto como dos partes: 1/ PIOP 2/ Compromiso Polinomial.

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*Xkt33FHemAgrkN6wnm39Aw.png

Antes de entrar en detalles sobre cómo cada parte utiliza MPC para implementar la delegación, repasemos la estructura del protocolo de Prueba de Conocimiento Cero con el PIOP y el compromiso polinomial.

Después de que se generan los compromisos polinomiales, luego los puntos de consulta aleatorios son devueltos por el oráculo con las entradas de estos valores de compromiso. De manera que estos puntos de consulta podrían ser utilizados para abrir polinomios y verificar. Antes de entrar en detalle, hay algunos conocimientos básicos sobre Compartir Secretos Aditivos.

Si el Compartir Secreto se separa en varias partes, y el protocolo soporta homomorfismo aditivo, entonces el protocolo soporta delegación de privacidad. Con la implementación de MPC para las dos partes principales de la Prueba de Conocimiento Cero, podemos implementar la Delegación de la Prueba de Conocimiento Cero.

Todo el proceso se muestra a continuación:

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*YlYfmLlsDupUBoil4IZaFQ.png

Echemos un vistazo más de cerca a las dos implementaciones de MPC. Comencemos con el MPC para delegar los probadores PIOP:

Existen 4 tipos principales de computación para PIOP: los tres primeros son lineales (tienen homomorfismo aditivo), sin embargo, el tipo de multiplicación polinómica no tiene homomorfismo aditivo. Normalmente, hay tres pasos para calcular la multiplicación de dos polinomios:

Usar FFT para obtener valores polinomiales sobre el dominio 2d. Después de obtener el producto de los valores polinomiales, recupera el coeficiente polinomial del producto a través de iFFT. Tanto el primer como el tercer paso son homomorfismos, pero el segundo paso no lo es. Imagina esto: varios trabajadores quieren obtener algunas acciones secretas del producto polinomial sin exponer todas las acciones secretas. Bajo esta circunstancia, estos trabajadores pueden enviar las acciones secretas parciales de vuelta al Delegador. Ya que el Delegador puede acceder a todas las acciones secretas, el Delegador puede enviar el resultado redistribuido de vuelta a los trabajadores después de poner las acciones secretas a través del proceso de interpolación y remultiplicación polinomial.

Con el Delegador en el juego, el proceso PIOP puede ser delegado:

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*yiNpvkHGaGnXpgbYAyPkXA.png

Ahora, echemos un vistazo al Esquema de Compromiso Polimérico. Esta parte es lineal, lo que hace que el proceso sea más natural:

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*tUsjBAzZtuWeFn0412wGNg.png

Al final de la presentación, se proporcionan algunos datos básicos de prueba:

https://miro.medium.com/v2/resize:fit:1100/format:webp/1*mxdZoS4rc_7SPp5KuFTsAg.png

A través de la Delegación de la Prueba de Conocimiento Cero, es posible aumentar obviamente el rendimiento y el tamaño de los circuitos.

Resumen

Con más y más aplicaciones ZKP, la Delegación de Privacidad de la Prueba de Conocimiento Cero se volvió cada vez más importante. En algunas escenas, cómo externalizar eficientemente el trabajo de prueba garantizando al mismo tiempo la privacidad de los datos es un tema significativo, cuando se tarda mucho tiempo en construir una prueba local. La presentación zkSummit7 presentó una solución: combinando con MPC, la Delegación de Privacidad de los Probadores puede ser implementada con PIOP + Compromiso Polinomial de ZKP.

Artículo original publicado por Trapdoor-Tech. Traducido por Paulinho Giovannini.

Discussion (0)