SNARK y STARK son tecnologías de prueba de conocimiento cero que permiten que una parte demuestre a otra que una afirmación es verdadera sin revelar ninguna información adicional.
Las pruebas de conocimiento cero (ZKP) han atraído mucha atención en una variedad de casos de uso por su potencial transformador para aumentar la seguridad, proteger la privacidad del usuario y admitir el escalado con redes de capa 2.
Los ZKP permiten que una parte demuestre a otra parte que una declaración es verdadera sin revelar ninguna información adicional. Los ZKP son beneficiosos para aumentar la privacidad, ya que reducen la cantidad de información compartida entre las partes, y la escalabilidad, ya que permiten verificar la evidencia a un ritmo más rápido que si se tuviera que verificar todo el conjunto de datos.
Dos sistemas destacados de prueba de conocimiento cero son SNARK y STARK. En este artículo profundizaremos en qué son, cómo funcionan y sus principales diferencias.
¿Qué es un SNARK?
Los zk-SNARK se pueden agregar a las soluciones de registros distribuidos como un protocolo a prueba de conocimiento cero para mejorar la privacidad y la escalabilidad. Zcash fue la primera aplicación generalizada de zk-SNARK, aplicando la tecnología para crear transacciones protegidas en las que el remitente, el receptor y el monto se mantienen privados. Las transacciones aseguradas en Zcash se pueden encriptar completamente en la cadena de bloques y aun así verificarse como válidas según las reglas de consenso de la red utilizando zk-SNARK.
Una propiedad importante de algunos SNARK es su confianza en una ceremonia de establecimiento de confianza, un evento en el que se crean las claves utilizadas para crear las pruebas necesarias para las transacciones privadas y la verificación de esas pruebas. Si los secretos utilizados para crear las claves durante el evento no se destruyen, pueden utilizarse para crear pruebas falsas. Esto les daría a los participantes la capacidad de falsificar transacciones o acuñar nuevos tokens de la nada, en el caso de una criptomoneda. Debido a las características de privacidad inherentes de los SNARK, no habría forma de verificar que las pruebas falsificadas fueran realmente falsificadas.
El nivel de seguridad de un SNARK se mide por la cantidad de trabajo que se debe realizar para encontrar pruebas convincentes de una afirmación falsa. En otras palabras, un SNARK es seguro si no es computacionalmente factible producir una prueba convincente de una afirmación falsa. Para que los SNARK que requieren una configuración confiable se consideren seguros, al menos un participante en la ceremonia debe haber producido y descartado una trampilla que, si se combina con las otras trampillas, permitiría comprometer la seguridad del SNARK. Como tal, las configuraciones confiables generalmente se ejecutan con muchos participantes para que la posibilidad de que esto ocurra sea lo suficientemente baja.
Aunque la configuración de confianza solo se requiere inicialmente, los usuarios de una red basada en SNARK deben estar seguros de que la ceremonia se realizó correctamente y que los secretos fueron destruidos y no están en manos de los participantes en el evento de creación. La dependencia de tal ceremonia ha sido un área de crítica para los SNARK como un potencial talón de Aquiles de seguridad.
Otra limitación de algunos SNARK es que no se consideran resistentes cuánticamente. Los defensores de SNARK argumentan que si las computadoras cuánticas comienzan a representar una amenaza para SNARK, se avecinan problemas mayores en el mundo de la criptografía.
¿Qué es un STARK?
zk-STARK significa Zero-Knowledge Scalable Transparent Argument of Knowledge y es un sistema de prueba de conocimiento cero que se presentó como una alternativa a SNARK en un artículo de 2018 de Eli Ben-Sasson, Iddo Bentov, Yinon Horesh y Michael Riabzev. Como se indica en el documento, los STARK (y más ampliamente los ZKP) pueden brindar un beneficio importante a la sociedad:
“La dignidad humana exige que la información personal, como los datos médicos y forenses, se oculte al público. Pero también se puede abusar de los velos de secreto destinados a preservar la privacidad para encubrir mentiras y engaños por parte de las instituciones a cargo de los datos, dañando injustamente a los ciudadanos y socavando la confianza en las instituciones centrales. Los sistemas Zero-Knowledge Proof (ZK) son una solución criptográfica ingeniosa a esta tensión entre los ideales de privacidad personal e integridad institucional, aplicando este último de una manera que no comprometa el primero”.
Los STARK sustentan la tecnología de escalabilidad de StarkWare. Al permitir que los desarrolladores tomen almacenamiento y computación fuera de la cadena, los STARK aumentan la escalabilidad, ya que los servicios fuera de la cadena pueden producir pruebas de STARK que verifican la precisión de los cálculos fuera de la cadena y luego publicarse en la cadena.
Los STARK permiten que las cadenas de bloques muevan los cálculos a un único probador STARK fuera de la cadena y luego verifiquen la integridad de esos cálculos utilizando un verificador STARK en la cadena. Las redes de capa 2 pueden desbloquear los beneficios de escalabilidad al calcular grandes cantidades de transacciones en un solo lote utilizando STARK y luego usar una sola sonda STARK para confirmar la validez de las transacciones en la cadena. Todas las transacciones en el lote comparten el costo de operación en cadena, ofreciendo un bajo costo de gas para cada transacción individual en la red de nivel 2.
Es importante señalar que, dado que la aleatoriedad utilizada por el verificador está disponible públicamente y la prueba se puede verificar sin depender de ningún parámetro externo, los STARK no necesitan una ceremonia de configuración confiable.
SNARK vs. STARK: principales diferencias
Tanto SNARK como STARK tienen sus ventajas, y la elección entre los dos depende de los requisitos específicos del caso de uso del usuario.
Los defensores de los SNARK los consideran más eficientes y rápidos, ya que pueden escanearse en cuestión de milisegundos. Sin embargo, esta eficiencia tiene un costo, ya que los SNARK dependen de un posible eslabón débil de seguridad: la ceremonia de configuración de confianza. Esto significa que los parámetros iniciales utilizados en la prueba deben generarse en un entorno seguro, y cualquier compromiso de los parámetros puede resultar en una violación de la seguridad.
Los STARK ofrecen una seguridad mejorada al no requerir una configuración confiable, pero tardan más en verificarse y, como resultado, se consideran menos eficientes. Los STARK tienen tamaños de sonda más grandes que los SNARK, lo que significa que escanear los STARK puede llevar más tiempo y consumir más gas que los SNARK. Por otro lado, debido a que la prueba de STARK se puede verificar sin depender de ningún parámetro externo, STARK puede ser más fácil de auditar que SNARK. A diferencia de la mayoría de los SNARK, los STARK se basan en funciones hash que se consideran resistentes a la cuántica.
Los STARK son más escalables y resistentes a la cuántica, mientras que los SNARK son más eficientes en cuanto a recursos.
Dicho esto, hay varias razones por las que los SNARK se adoptaron inicialmente más ampliamente que los STARK, a pesar de tener los posibles inconvenientes de seguridad asociados con la ceremonia de configuración de confianza. Los SNARK se desarrollaron seis años antes que los STARK, lo que ayudó a darles una ventaja inicial en términos de adopción.
Lograr escalabilidad exponencial con pruebas de conocimiento cero
Las pruebas de conocimiento cero son una tecnología fundamental para el ecosistema de la cadena de bloques que ayuda a desbloquear órdenes de magnitud más escalables, lo que ayuda a preservar la privacidad de las personas y la integridad de las instituciones. zk-SNARKS y zk-STARKS están a la vanguardia de esta revolución y ambos están ayudando a desbloquear una amplia gama de casos de uso para redes públicas de blockchain que antes eran inaccesibles, fomentando la innovación y ayudando a crear una economía global más eficiente.
Si es un desarrollador y desea integrar los servicios de reducción de confianza de Chainlink, consulte nuestra documentación, haga una pregunta en Discord o programe una llamada con un experto.
Historia original publicada en Chainlink Blog