Desafíos de seguridad de ZKP en la cadena de bloques: análisis de 8 puntos clave

robot
Generación de resúmenes en curso

zk-SNARKs en la Cadena de bloques: desafíos de seguridad y soluciones

zk-SNARKs(ZKP) como una tecnología criptográfica avanzada, está siendo cada vez más utilizada en el campo de la Cadena de bloques. Con la adopción de la tecnología ZKP en proyectos como protocolos de Capa 2 y cadenas públicas especiales, la complejidad de los sistemas también ha aumentado, lo que ha presentado nuevos desafíos de seguridad. Este artículo explorará, desde una perspectiva de seguridad, las vulnerabilidades que pueden surgir en el proceso de combinación de ZKP con la Cadena de bloques, proporcionando una referencia para la protección de seguridad de proyectos relacionados.

Características clave de zk-SNARKs

Un sistema completo de zk-SNARKs debe cumplir simultáneamente con tres características clave:

  1. Completitud: para una afirmación verdadera, el probador puede demostrar con éxito su corrección al verificador.

  2. Fiabilidad: un demostrador malicioso no puede engañar al verificador con declaraciones erróneas.

  3. Naturaleza de conocimiento cero: durante el proceso de verificación, el verificador no obtendrá ninguna información del probador sobre los datos en sí.

Estas tres características son la piedra angular de la seguridad y efectividad del sistema ZKP. Si la completitud no se cumple, el sistema puede no ser capaz de proporcionar pruebas correctas bajo ciertas condiciones, lo que podría llevar a un denegación de servicio. La falta de fiabilidad podría permitir a un atacante falsificar pruebas, causando graves problemas de elusión de permisos. La falta de conocimiento cero podría resultar en la filtración de parámetros originales, permitiendo al atacante construir pruebas de ataque o al probador actuar de manera maliciosa. Por lo tanto, es crucial prestar especial atención a la garantía de estas características durante el proceso de servicio de seguridad.

Puntos de seguridad en proyectos de zk-SNARKs

1. zk-SNARKs circuito

El circuito ZKP es el núcleo del sistema y se deben prestar especial atención a los siguientes aspectos:

  • Diseño de circuitos: puede haber errores lógicos que hagan que el proceso de prueba no cumpla con las propiedades de seguridad. Por ejemplo, el error en el diseño de circuitos encontrado en la actualización Sapling de Zcash en 2018 podría llevar a la creación de tokens falsificados sin restricciones.

  • Implementación de primitivas criptográficas: Si hay errores en la implementación de funciones hash, algoritmos de cifrado y otras primitivas, podría comprometer la seguridad del sistema entero.

  • Garantía de aleatoriedad: El proceso de prueba depende de generadores de números aleatorios, y si la aleatoriedad es insuficiente, puede comprometer la seguridad. Como se descubrió en 2018 con la vulnerabilidad de generación de números aleatorios de Dfinity, que podría romper la propiedad zk-SNARKs del circuito.

2. Seguridad de contratos inteligentes

Para proyectos de monedas privadas en Layer 2 o implementados a través de contratos inteligentes, la seguridad del contrato es crucial. Además de las vulnerabilidades comunes, las vulnerabilidades en la verificación de mensajes cruzados y en la validación de pruebas pueden llevar directamente a la falla de confiabilidad. Por ejemplo, una vulnerabilidad en el contrato Verify de Circom podría provocar un ataque de doble gasto de seudónimos.

3. Disponibilidad de datos

Asegurar que los datos fuera de la cadena puedan ser accedidos y verificados de manera segura y efectiva. Los problemas de disponibilidad de datos que ocurrieron en la cadena Plasma en 2019 llevaron a que los usuarios no pudieran enviar transacciones o retirar fondos, lo que destaca la importancia de este problema. Además de utilizar pruebas de disponibilidad de datos, también se pueden fortalecer las protecciones del host y la monitorización del estado de los datos.

4. Mecanismo de incentivos económicos

Evaluar el mecanismo de incentivos del proyecto para asegurar que pueda estimular razonablemente a todas las partes involucradas a mantener la seguridad y estabilidad del sistema. Prestar atención al diseño del modelo de incentivos, la distribución de recompensas y los mecanismos de penalización.

5. Protección de la privacidad

Para proyectos que impliquen la protección de la privacidad, es necesario auditar la implementación de sus soluciones de privacidad. Asegúrese de que los datos del usuario estén adecuadamente protegidos durante la transmisión, almacenamiento y verificación, al mismo tiempo que se mantiene la disponibilidad y confiabilidad del sistema. Se puede inferir si hay filtraciones de privacidad del probador o si el validador podría reconstruir el conocimiento del probador mediante el análisis del flujo de comunicación del protocolo.

6. Optimización del rendimiento

Evaluar las estrategias de optimización del rendimiento del proyecto, incluyendo la velocidad de procesamiento de transacciones, la eficiencia del proceso de verificación, etc. Auditar las medidas de optimización en la implementación del código para asegurar que cumplan con los requisitos de rendimiento.

7. Mecanismos de tolerancia a fallos y recuperación

Estrategias de tolerancia a fallos y recuperación para proyectos de auditoría ante situaciones imprevistas ( como fallos de red, ataques maliciosos, etc. Asegurar que el sistema pueda recuperar automáticamente y mantener su funcionamiento normal en la medida de lo posible.

) 8. Calidad del código

Auditar la calidad general del código del proyecto, centrándose en la legibilidad, mantenibilidad y robustez. Evaluar si existen prácticas de programación no estándar, código redundante, errores potenciales y otros problemas.

Resumen

Al discutir la seguridad de los proyectos de ZKP, es necesario aclarar primero dónde se utilizará el ZKP. Los diferentes tipos de proyectos ###, como Layer 2, monedas de privacidad y cadenas públicas (, tienen diferentes enfoques de seguridad. Pero de todos modos, hay que asegurarse de que las tres características clave del ZKP: completitud, confiabilidad y propiedad de conocimiento cero se garanticen de manera efectiva. Solo al considerar de manera integral estos factores de seguridad se puede construir un verdadero proyecto de Cadena de bloques ZKP seguro y confiable.

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.
  • Recompensa
  • 7
  • Compartir
Comentar
0/400
LiquidationKingvip
· 07-08 05:58
He visto varias veces y todavía estoy un poco confundido, zkp es demasiado complicado, ¿verdad?
Ver originalesResponder0
gas_fee_therapistvip
· 07-06 19:06
Los L2 que no saben hacer circuitos son todos unos tramposos, ¿verdad?
Ver originalesResponder0
OnChainDetectivevip
· 07-06 17:42
se rastrearon 6 exploits de zkp el mes pasado... complejidad = vulnerabilidad
Ver originalesResponder0
AirdropBuffetvip
· 07-06 17:33
Todo es demasiado complicado, mejor simplemente hodl.
Ver originalesResponder0
GasFeeCriervip
· 07-06 17:30
¿No será que zkp ni siquiera tiene una base sólida?
Ver originalesResponder0
WenMoonvip
· 07-06 17:29
¿Otra vez con el formalismo? ¿Qué pasa con la seguridad?
Ver originalesResponder0
CounterIndicatorvip
· 07-06 17:26
zkp es el futuro, no lo cambiaré por nada.
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)