zk-S N ARK , Zk-S T ARK y BulletProofs son tres importantes pruebas de conocimiento cero para brindar privacidad a la tecnología blockchain.
Si podemos compararlos,
(1) Los Bulletproofs y Zk-S T ARK no requieren una configuración confiable.
A diferencia de zk -S N ARK , que requiere una configuración confiable que crea una situación incómoda para él.
(2) Zcash que usa zk -S N ARK puede ocultar la dirección de la cantidad junto con el remitente y el destinatario .
Todavía no me queda claro si es posible ocultar el remitente y el destinatario mediante Bulletproofs y Zk-S T ARK .
(3) Aparentemente, Zk-S T ARKs es más rápido que zk-S N ARKs es más rápido que Bulletproofs .
(4) Bulletproofs es más corto que zk-S N ARK y Zk-S T ARK .
En general, ¿cuáles son las principales diferencias (ventajas y desventajas) entre estas 3 técnicas principales de pruebas de conocimiento cero?
Nota: Las referencias se utilizan para las comparaciones anteriores:
https://crypto.stanford.edu/bulletproofs/
https://blockonomi.com/bullet-proofs/
https://nulltx.com/mit-review-acclaims-zk-snarks-but-zk-starks-may-steal-the-show/
Nota 1: el siguiente artículo compara SNARK con STARK: https://medium.com/coinmonks/zk-starks-create-verifiable-trust-even-against-quantum-computers-dd9c6a2bb13d
Nota 2: comparé zk-SNARKs vs. Zk-STARKs vs. BulletProofs en la siguiente figura. Cualquier comentario sobre esta comparación es apreciado:
Algunos de sus puntos son válidos (por ejemplo, SNARK y STARKS son más rápidos que Bulletproof), pero también hay algunos errores:
¿Cuáles son las principales diferencias (ventajas y desventajas)?
De acuerdo con el increíble repositorio ZKP :
Según las diapositivas de Elena Nadilinski de Devcon4:
Según el discurso de apertura de Zooko Wilcox (Zcash) de Devcon4:
De acuerdo con el discurso de apertura de Eli-Ben Sasson (STARKware) en la Technion Summer School (tenga en cuenta que esta última imagen mide un solucionador de suma de subconjuntos, probablemente más complejo que los cálculos realizados en la comparación anterior):
Los Starks son casi mejores que los Snarks en general: requieren suposiciones criptográficas más débiles, no requieren una configuración confiable y son resistentes a la poscuántica. Pero tienen un gran inconveniente, ya que en la prueba es enorme.
Para ciertas aplicaciones, como la que tengo que trabajar, eso simplemente no es factible. Tuvimos que elegir entre una prueba Snark del orden de cientos de bytes y una prueba STARK de cientos de kilobytes. Ese único factor fue un asesino para nosotros.
El tiempo para verificar también es notablemente mayor en Starks que en Snarks. En el primero, crece en el tiempo O(poly log n), mientras que para Snarks es lineal en el tamaño de entrada , que es solo una pequeña constante, especialmente en circuitos complejos. Recuerda que n aquí es el número de puertas.
Por ejemplo, tome un circuito que demuestre que conoce la preimagen de un cierto valor hash. La entrada tendrá el tamaño de esa entrada, que es de 32 bytes si usa SHA256. Sin embargo, para esta función, la cantidad de puertas será de decenas de miles, y puede ver cómo el tiempo de verificación para SNARK es insignificante en comparación.
Los números en las tablas anteriores son muy engañosos. No le dicen qué tipo de circuito tiene y qué tan grande es n . Dependiendo de cuán complejo sea su circuito, pueden variar enormemente. Prefiero usar notación asintótica, y hay una buena tabla para eso en este documento (página 3).
AFAIK Bulletproofs son más cortos, pero verificarlos lleva mucho más tiempo que Starks, por lo que no es escalable para el oscurecimiento de blockchain tx.
Preguntador
alex pinto
4
, y el de 27 es1
.