Articulo de referencia

Prueba de conocimiento cero no interactiva

Las pruebas de conocimiento cero no interactivas son primitivas criptográficas en las que la información entre un probador y un verificador puede ser autenticada por el probador...

Las pruebas de conocimiento cero no interactivas son primitivas criptográficas en las que la información entre un probador y un verificador puede ser autenticada por el probador, sin revelar ningún dato específico más allá de la validez de la propia declaración. Esto hace innecesaria la comunicación directa entre el probador y el verificador, eliminando así cualquier intermediario.

La principal ventaja de las pruebas de conocimiento cero no interactivas es que pueden utilizarse en situaciones donde no existe posibilidad de interacción entre el probador y el verificador, como en las transacciones en línea donde las dos partes no pueden comunicarse en tiempo real. Esto hace que las pruebas de conocimiento cero no interactivas sean particularmente útiles en sistemas descentralizados como las cadenas de bloques , donde las transacciones son verificadas por una red de nodos y no existe una autoridad central que supervise el proceso de verificación. [ 1 ]

La mayoría de las pruebas de conocimiento cero no interactivas se basan en construcciones matemáticas como la criptografía de curva elíptica o la criptografía basada en emparejamientos , que permiten crear pruebas cortas y fácilmente verificables de la veracidad de una afirmación. A diferencia de las pruebas de conocimiento cero interactivas, que requieren múltiples rondas de interacción entre el probador y el verificador, las pruebas de conocimiento cero no interactivas están diseñadas para ser eficientes y pueden utilizarse para verificar un gran número de afirmaciones simultáneamente. [ 1 ]

Historia

Blum , Feldman y Micali [ 2 ] demostraron en 1988 que una cadena de referencia común compartida entre el probador y el verificador es suficiente para lograr el conocimiento cero computacional sin requerir interacción. Goldreich y Oren [ 3 ] dieron resultados de imposibilidad para protocolos de conocimiento cero de una sola pasada en el modelo estándar . En 2003, Shafi Goldwasser y Yael Tauman Kalai publicaron una instancia de un esquema de identificación para el cual cualquier función hash producirá un esquema de firma digital inseguro . [ 4 ]

El modelo influye en las propiedades que se pueden obtener de un protocolo de conocimiento cero. Pass [ 5 ] demostró que, en el modelo de cadena de referencia común, los protocolos de conocimiento cero no interactivos no conservan todas las propiedades de los protocolos de conocimiento cero interactivos; por ejemplo, no conservan la negabilidad. También se pueden obtener pruebas de conocimiento cero no interactivas en el modelo de oráculo aleatorio utilizando la heurística de Fiat-Shamir . [ 6 ]

Aplicaciones de blockchain

Una comparación de los sistemas de prueba más utilizados

En 2012, Alessandro Chiesa et al. desarrollaron el protocolo zk-SNARK, un acrónimo de argumento de conocimiento sucinto no interactivo de conocimiento cero . [ 7 ] La primera aplicación generalizada de zk-SNARKs fue en el protocolo de cadena de bloques Zerocash , donde la criptografía de conocimiento cero proporciona la base computacional, al facilitar pruebas matemáticas de que una parte posee cierta información sin revelar cuál es esa información. [ 8 ] Zcash utilizó zk-SNARKs para facilitar cuatro tipos distintos de transacciones: privadas, de protección, de protección y públicas. Este protocolo permitió a los usuarios determinar cuántos datos se compartían con el libro mayor público para cada transacción. [ 9 ] Ethereum zk-Rollups también utiliza zk-SNARKs para aumentar la escalabilidad . [ 10 ]

En 2017, se lanzó Bulletproofs [ 11 ] , que permite probar que un valor comprometido está dentro de un rango utilizando un número logarítmico (en la longitud de bits del rango) de elementos de campo y grupo. [ 12 ] Posteriormente, Bulletproofs se implementó en el protocolo Mimblewimble (la base de Grin y Beam, y Litecoin a través de bloques de extensión) y en la criptomoneda Monero . [ 13 ]

En 2018, Eli Ben-Sasson , Iddo Bentov, Yinon Horesh y Michael Riabzev presentaron el protocolo zk-STARK ( Zero-Knowledge Scalable Transparent Argument of Knowledge ) [ 14 ] , que ofrece transparencia (sin configuración de confianza), tiempo de prueba cuasi-lineal y tiempo de verificación polilogarítmico. Los argumentos transparentes sucintos de conocimiento cero son un tipo de sistema de prueba criptográfica que permite a una parte (el probador) demostrar a otra parte (el verificador) que una afirmación es verdadera, sin revelar información adicional más allá de la veracidad de la afirmación en sí. Los zk-STARK son sucintos, lo que significa que permiten la creación de pruebas cortas y fáciles de verificar, y son transparentes, lo que significa que cualquiera puede verificar la prueba sin necesidad de información secreta. [ 14 ]

A diferencia de la primera generación de zk-SNARKs, los zk-STARKs, por defecto, no requieren una configuración de confianza, lo que los hace particularmente útiles para aplicaciones descentralizadas como las cadenas de bloques. Además, los zk-STARKs pueden usarse para verificar muchas declaraciones a la vez, lo que los hace escalables y eficientes. [ 1 ]

En 2019, se presentaron zk-SNARKs recursivos HALO sin una configuración de confianza. [ 15 ] Pickles [ 16 ] zk-SNARKs, basados ​​en la construcción anterior, impulsan Mina, la primera cadena de bloques sucintamente verificable. [ 17 ]

A continuación se presenta una lista de protocolos y bibliotecas de prueba de conocimiento cero, junto con comparaciones basadas en transparencia, universalidad y seguridad postcuántica plausible. Un protocolo transparente es aquel que no requiere ninguna configuración de confianza y utiliza aleatoriedad pública. Un protocolo universal es aquel que no requiere una configuración de confianza independiente para cada circuito. Finalmente, un protocolo postcuántico plausible es aquel que no es susceptible a ataques conocidos que involucren algoritmos cuánticos.

Definición

Originalmente, [ 2 ] el conocimiento cero no interactivo se definió únicamente como un sistema de prueba de un solo teorema. En dicho sistema, cada prueba requiere su propia cadena de referencia común nueva. Una cadena de referencia común generalmente no es una cadena aleatoria. Puede, por ejemplo, consistir en elementos de grupo elegidos al azar que todas las partes del protocolo utilizan. Aunque los elementos de grupo son aleatorios, la cadena de referencia no lo es, ya que contiene una cierta estructura (por ejemplo, elementos de grupo) que es distinguible de la aleatoriedad. Posteriormente, Feige, Lapidot y Shamir [ 37 ] introdujeron las pruebas de conocimiento cero de múltiples teoremas como una noción más versátil para las pruebas de conocimiento cero no interactivas.

Pruebas no interactivas basadas en emparejamientos

La criptografía basada en emparejamientos ha dado lugar a varios avances criptográficos. Uno de estos avances son las pruebas de conocimiento cero no interactivas más potentes y eficientes. La idea seminal fue ocultar los valores para la evaluación de emparejamientos en un compromiso . Utilizando diferentes esquemas de compromiso, esta idea se utilizó para construir sistemas de prueba de conocimiento cero bajo el ocultamiento de subgrupos [ 38 ] y bajo la suposición de linealidad decisional . [ 39 ] Estos sistemas de prueba demuestran la satisfacibilidad de circuitos y, por lo tanto, mediante el teorema de Cook-Levin, permiten demostrar la pertenencia para cada lenguaje en NP. El tamaño de la cadena de referencia común y las pruebas es relativamente pequeño; sin embargo, transformar una declaración en un circuito booleano implica una sobrecarga considerable.

Se han propuesto sistemas de prueba bajo la suposición de ocultación de subgrupos, la suposición de linealidad decisional y la suposición de Diffie-Hellman externa que permiten probar directamente las ecuaciones de producto de emparejamiento que son comunes en la criptografía basada en emparejamientos . [ 40 ]

Bajo supuestos de conocimiento sólidos , se sabe cómo crear sistemas de prueba computacionalmente sólidos de longitud sublineal para lenguajes NP-completos . Más precisamente, la prueba en dichos sistemas consta únicamente de un pequeño número de elementos de grupo bilineales . [ 41 ] [ 42 ]

Referencias

  1. 1 2 3 Gong, Yinjie; Jin, Yifei; Li, Yuchan; Liu, Ziyi; Zhu, Zhiyi (enero de 2022). "Análisis y comparación del principal esquema de prueba de conocimiento cero". Conferencia Internacional de 2022 sobre Big Data, Información y Redes Informáticas (BDICN) . págs. 366–372 . doi : 10.1109/BDICN55575.2022.00074 . ISBN  978-1-6654-8476-3. S2CID 248267862 . 
  2. 1 2 Manuel Blum, Paul Feldman y Silvio Micali. Conocimiento cero no interactivo y sus aplicaciones. Actas del vigésimo simposio anual de la ACM sobre teoría de la computación (STOC 1988). 103–112. 1988
  3. Oded Goldreich y Yair Oren. Definiciones y propiedades de los sistemas de prueba de conocimiento cero. Journal of Cryptology. Vol. 7(1). 1–32. 1994 (PS)
  4. Shafi Goldwasser y Yael Kalai. Sobre la (in)seguridad del paradigma Fiat-Shamir. Actas del 44.º Simposio Anual del IEEE sobre Fundamentos de la Informática (FOCS'03). 2003
  5. Rafael Pass. Sobre la negabilidad en el modelo de cadena de referencia común y oráculo aleatorio. Avances en criptología – CRYPTO 2003. 316–337. 2003 (PS)
  6. Wu, H. (2014). "Un estudio sobre sistemas de prueba de conocimiento cero no interactivos" . The Scientific World Journal . Recuperado el 19 de septiembre de 2025 .
  7. Bitansky, Nir; Canetti, Ran; Chiesa, Alessandro; Tromer, Eran (enero de 2012). «De la resistencia a colisiones extraíble a los argumentos de conocimiento sucintos no interactivos, y viceversa» . Actas de la 3.ª Conferencia sobre Innovaciones en Ciencias de la Computación Teórica (ITCS '12) . ACM . págs. 326-349 . doi : 10.1145/2090236.2090263 . ISBN  978-1-4503-1115-1. S2CID 2576177 . 
  8. Ben-Sasson, Eli; Chiesa, Alessandro; Garman, Christina; Green, Matthew; Miers, Ian; Tromer, Eran; Virza, Madars (18 de mayo de 2014). "Zerocash: Pagos anónimos descentralizados desde Bitcoin" (PDF) . IEEE . Consultado el 26 de enero de 2016 .
  9. ^ Ben-Sasson, Eli; Chiesa, Alejandro. "¿Qué son los zk-SNARK?" . z.efectivo . Consultado el 3 de noviembre de 2022 .
  10. "Zero-Knowledge rollups" . ethereum.org . Consultado el 25 de febrero de 2023 .
  11. Bünz, Benedikt; Bootle, Jonathan; Boneh, Dan; Poelstra, Andrew; Wuille, Pieter; Maxwell, Greg (mayo de 2018). «Bulletproofs: Pruebas breves para transacciones confidenciales y más». Simposio IEEE de 2018 sobre seguridad y privacidad (SP) . págs. 315–334 . doi : 10.1109/SP.2018.00020 . ISBN  978-1-5386-4353-2. S2CID 3337741 . 
  12. Bünz, Benedikt; Bootle, Jonathan; Boneh, Dan; Poelstra, Andrew; Wuille, Pieter; Maxwell, Greg (mayo de 2018). «Bulletproofs: Pruebas breves para transacciones confidenciales y más» (PDF) . Simposio IEEE de 2018 sobre seguridad y privacidad (SP) . págs. 315–334 . doi : 10.1109/SP.2018.00020 . ISBN  978-1-5386-4353-2. S2CID 3337741 . Consultado el 2 de diciembre de 2022 . 
  13. Odendaal, Hansie; Sharrock, Cayle; Heerden, SW. "Bulletproofs and Mimblewimble" . Tari Labs University. Archivado del original el 29 de septiembre de 2020. Recuperado el 3 de diciembre de 2020 .
  14. 1 2 3 Eli Ben-Sasson; Iddo Bentov; Yinon Horesh; Michael Riabzev (6 de marzo de 2018). "Integridad computacional escalable, transparente y segura post-cuántica" (PDF) . Asociación Internacional para la Investigación Criptológica . Recuperado el 24 de octubre de 2021 .
  15. 1 2 Bowe, Sean; Grigg, Jack; Hopwood, Daira (2019). "Composición de pruebas recursivas sin una configuración de confianza" . Cryptology ePrint Archive .
  16. "Conoce a Pickles SNARK: Habilitando contratos inteligentes en Coda Protocol" . Mina Protocol . Consultado el 25 de febrero de 2023 .
  17. Bonneau, Joseph; Meckler, Izaak; Rao, V.; Evan; Shapiro (2021). "Mina: Criptomoneda descentralizada a escala" (PDF) . S2CID 226280610 . 
  18. Parno, Bryan; Howell, Jon; Gentry, Craig; Raykova, Mariana (mayo de 2013). «Pinocho: Computación verificable casi práctica». Simposio IEEE de 2013 sobre seguridad y privacidad . págs. 238–252 . doi : 10.1109/SP.2013.47 . ISBN  978-0-7695-4977-4. S2CID 1155080 . 
  19. Costello, Craig; Fournet, Cédric; Howell, Jon; Kohlweiss, Markulf; Kreuter, Benjamin; Naehrig, Michael; Parno, Bryan; Zahur, Samee (mayo de 2015). «Geppetto: Computación verificable versátil». Simposio IEEE de 2015 sobre seguridad y privacidad . págs. 253–270 . doi : 10.1109/SP.2015.23 . ISBN  978-1-4673-6949-7. S2CID 3343426 . 
  20. Ben-Sasson, Eli; Chiesa, Alessandro; Genkin, Daniel; Tromer, Eran; Virza, Madars (2013). "SNARKs para C: Verificación concisa de ejecuciones de programas y con conocimiento cero" . En Canetti, Ran; Garay, Juan A. (eds.). Avances en criptología – CRYPTO 2013. Lecture Notes in Computer Science. Vol. 8043. Berlín, Heidelberg: Springer. pp. 90–108 . doi : 10.1007/978-3-642-40084-1_6 . hdl : 1721.1/87953 . ISBN   978-3-642-40084-1.
  21. Wahby, Riad S.; Setty, Srinath; Ren, Zuocheng; Blumberg, Andrew J.; Walfish, Michael (2015). Efficient RAM and Control Flow in Verifiable Outsourced Computation . doi : 10.14722/ndss.2015.23097 . ISBN 978-1-891562-38-9. Consultado el 25 de febrero de 2023 .
  22. Zhang, Yupeng; Genkin, Daniel; Katz, Jonathan; Papadopoulos, Dimitrios; Papamanthou, Charalampos (mayo de 2018). «VRAM: Memoria RAM verificable más rápida con preprocesamiento independiente del programa». Simposio IEEE de 2018 sobre seguridad y privacidad (SP) . págs. 908–925 . doi : 10.1109/SP.2018.00013 . ISBN  978-1-5386-4353-2. S2CID 41548742 . 
  23. ^ Ben-Sasson, Eli; Chiesa, Alejandro; Tromer, Eran; Virza, Madars (2014). Conocimiento cero sucinto {no interactivo} para una arquitectura von Neumann . Asociación USENIX. págs. 781–796 . ISBN  978-1-931971-15-7.
  24. Kosba, Ahmed; Papadopoulos, Dimitrios; Papamanthou, Charalampos; Song, Dawn (2020). "MIRAGE: Argumentos concisos para algoritmos aleatorios con aplicaciones a zk-SNARKs universales" . Cryptology ePrint Archive .
  25. Maller, Mary; Bowe, Sean; Kohlweiss, Markulf; Meiklejohn, Sarah (6 de noviembre de 2019). "Sonic" . Actas de la Conferencia ACM SIGSAC de 2019 sobre Seguridad Informática y de las Comunicaciones . CCS '19. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 2111–2128 . doi : 10.1145/3319535.3339817 . ISBN  978-1-4503-6747-9. S2CID 60442921 . 
  26. Chiesa, Alessandro; Hu, Yuncong; Maller, Mary; Mishra, Pratyush; Vesely, Noah; Ward, Nicholas (2020). "Marlin: Preprocesamiento de zkSNARKs con SRS universal y actualizable" . En Canteaut, Anne; Ishai, Yuval (eds.). Avances en criptología – EUROCRYPT 2020. Lecture Notes in Computer Science. Vol. 12105. Cham: Springer International Publishing. pp. 738–768 . doi : 10.1007/978-3-030-45721-1_26 . ISBN   978-3-030-45721-1. S2CID 204772154 . 
  27. Gabizon, Ariel; Williamson, Zachary J.; Ciobotaru, Oana (2019). "PLONK: Permutaciones sobre bases de Lagrange para argumentos no interactivos ecuménicos del conocimiento" . Cryptology ePrint Archive .
  28. Bünz, Benedikt; Fisch, Ben; Szepieniec, Alan (2020). "SNARKs transparentes de compiladores DARK" . En Canteaut, Anne; Ishai, Yuval (eds.). Avances en criptología – EUROCRYPT 2020. Lecture Notes in Computer Science. Vol. 12105. Cham: Springer International Publishing. pp. 677–706 . doi : 10.1007/978-3-030-45721-1_24 . ISBN   978-3-030-45721-1. S2CID 204892714 . 
  29. Bünz, Benedikt; Bootle, Jonathan; Boneh, Dan; Poelstra, Andrew; Wuille, Pieter; Maxwell, Greg (mayo de 2018). «Bulletproofs: Pruebas breves para transacciones confidenciales y más». Simposio IEEE de 2018 sobre seguridad y privacidad (SP) . págs. 315–334 . doi : 10.1109/SP.2018.00020 . ISBN  978-1-5386-4353-2. S2CID 3337741 . 
  30. Wahby, Riad S.; Tzialla, Ioanna; Shelat, Abhi; Thaler, Justin; Walfish, Michael (mayo de 2018). "zkSNARKs doblemente eficientes sin configuración de confianza". Simposio IEEE de 2018 sobre seguridad y privacidad (SP) . págs. 926–943 . doi : 10.1109/SP.2018.00060 . ISBN  978-1-5386-4353-2. S2CID 549873 . 
  31. Zhang, Jiaheng; Xie, Tiancheng; Zhang, Yupeng; Song, Dawn (mayo de 2020). «Delegación polinomial transparente y sus aplicaciones a la prueba de conocimiento cero». Simposio IEEE de 2020 sobre seguridad y privacidad (SP) . págs. 859–876 . doi : 10.1109/SP40000.2020.00052 . ISBN  978-1-7281-3497-0. S2CID 209467198 . 
  32. Ames, Scott; Hazay, Carmit; Ishai, Yuval; Venkitasubramaniam, Muthuramakrishnan (30 de octubre de 2017). "Ligero" . Actas de la Conferencia ACM SIGSAC de 2017 sobre Seguridad Informática y de las Comunicaciones . CCS '17. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 2087–2104 . doi : 10.1145/3133956.3134104 . ISBN  978-1-4503-4946-8. S2CID 5348527 . 
  33. Ben-Sasson, Eli; Chiesa, Alessandro; Riabzev, Michael; Spooner, Nicholas; Virza, Madars; Ward, Nicholas P. (2019). "Aurora: Argumentos sucintos transparentes para R1CS" . En Ishai, Yuval; Rijmen, Vincent (eds.). Avances en criptología – EUROCRYPT 2019. Lecture Notes in Computer Science. Vol. 11476. Cham: Springer International Publishing. pp. 103–128 . doi : 10.1007/978-3-030-17653-2_4 . ISBN   978-3-030-17653-2. S2CID 52832327 . 
  34. Ben-Sasson, Eli; Bentov, Iddo; Horesh, Yinon; Riabzev, Michael (2019). "Conocimiento cero escalable sin configuración de confianza" . En Boldyreva, Alexandra; Micciancio, Daniele (eds.). Avances en criptología – CRYPTO 2019. Lecture Notes in Computer Science. Vol. 11694. Cham: Springer International Publishing. pp. 701–732 . doi : 10.1007/978-3-030-26954-8_23 . ISBN   978-3-030-26954-8. S2CID 199501907 . 
  35. Computing, Trustworthy (30 de agosto de 2021). "Pruebas de conocimiento cero transparentes con Zilch" . Medium . Consultado el 25 de febrero de 2023 .
  36. Mouris, Dimitris; Tsoutsos, Nektarios Georgios (2021). "Zilch: Un marco para implementar pruebas de conocimiento cero transparentes". IEEE Transactions on Information Forensics and Security . 16 : 3269–3284 . Bibcode : 2021ITIF...16.3269M . doi : 10.1109/TIFS.2021.3074869 . ISSN 1556-6021 . S2CID 222069813 .  
  37. Uriel Feige, Dror Lapidot, Adi Shamir: Pruebas de conocimiento cero no interactivas múltiples bajo supuestos generales. SIAM J. Comput. 29(1): 1–28 (1999)
  38. Jens Groth, Rafail Ostrovsky, Amit Sahai: Conocimiento cero no interactivo perfecto para NP. EUROCRYPT 2006: 339–358
  39. Jens Groth, Rafail Ostrovsky, Amit Sahai: Zaps no interactivos y nuevas técnicas para NIZK. CRYPTO 2006: 97–111
  40. Jens Groth, Amit Sahai: Sistemas de prueba no interactivos eficientes para grupos bilineales. EUROCRYPT 2008: 415–432
  41. Jens Groth. Argumentos de conocimiento cero no interactivos basados ​​en emparejamientos cortos. ASIACRYPT 2010: 321–340
  42. Helger Lipmaa. Conjuntos libres de progresión y argumentos de conocimiento cero no interactivos basados ​​en emparejamientos sublineales. TCC 2012: 169–189