Desafíos de seguridad en la combinación de zk-SNARKs y Cadena de bloques
zk-SNARKs(ZKP) como una tecnología criptográfica avanzada, está siendo adoptada por un número creciente de proyectos de Cadena de bloques. Sin embargo, la complejidad del sistema ZKP también ha traído numerosos riesgos de seguridad. Este artículo explorará, desde una perspectiva de seguridad, las vulnerabilidades que pueden surgir en el proceso de combinación de ZKP y Cadena de bloques, proporcionando referencias para la seguridad de proyectos relacionados.
Características clave de ZKP
Un sistema completo de zk-SNARKs debe satisfacer simultáneamente tres características clave:
Completitud: para una declaración verdadera, el probador siempre puede demostrar con éxito su validez al verificador.
Confiabilidad: en caso de declaraciones incorrectas, el probador malicioso no puede engañar al validador.
zk-SNARKs: Durante el proceso de verificación, el verificador no obtendrá ninguna información sobre los datos originales.
Estas tres características son la base de la seguridad y eficacia de los sistemas de zk-SNARKs. Si alguna de estas características no se cumple, puede dar lugar a problemas graves como denegación de servicio, eludir permisos o filtración de datos. Por lo tanto, al realizar una evaluación de seguridad, es necesario prestar especial atención a si estas características están garantizadas.
Principales preocupaciones de seguridad
Para los proyectos de cadena de bloques basados en ZKP, es necesario prestar atención a los siguientes aspectos de seguridad:
1. zk-SNARKs circuito
El circuito ZKP es el núcleo de todo el sistema y es necesario asegurar la seguridad de su diseño e implementación. Principalmente incluye:
Error de diseño del circuito: puede provocar que el proceso de prueba no cumpla con atributos de seguridad como zk-SNARKs, completitud o fiabilidad.
Error en la implementación de primitivas criptográficas: si hay problemas en la implementación de funciones hash, algoritmos de cifrado, etc., esto podría comprometer la seguridad de todo el sistema de prueba.
Falta de aleatoriedad: Si el proceso de generación de números aleatorios tiene defectos, puede comprometer la seguridad de la prueba.
2. Seguridad de contratos inteligentes
Para los proyectos de monedas privadas en Layer2 o implementados a través de contratos inteligentes, la seguridad del contrato es crucial. Además de las vulnerabilidades comunes, también se deben prestar especial atención a los problemas de verificación de mensajes entre cadenas y verificación de pruebas, ya que estos pueden afectar directamente la fiabilidad del sistema.
3. Disponibilidad de datos
Es necesario asegurarse de que los datos fuera de la cadena puedan ser accedidos y verificados de manera segura y efectiva cuando sea necesario. Preste atención a la seguridad del almacenamiento de datos, los mecanismos de verificación y el proceso de transmisión. Además de utilizar pruebas de disponibilidad de datos, también se puede fortalecer la protección del host y el monitoreo del estado de los datos.
4. Mecanismo de incentivos económicos
Evaluar el diseño del modelo de incentivos del proyecto, la distribución de recompensas y el mecanismo de penalización, asegurando que todas las partes involucradas tengan el incentivo de mantener la seguridad y el funcionamiento estable del sistema.
5. Protección de la privacidad
La implementación del esquema de protección de la privacidad en los proyectos de auditoría garantiza que los datos de los usuarios 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 el riesgo de divulgación de la privacidad del probador analizando el flujo de comunicación del protocolo.
6. Optimización del rendimiento
Evaluar las estrategias de optimización del rendimiento del proyecto, como la velocidad de procesamiento de transacciones, la eficiencia del proceso de verificación, etc. Auditar las medidas de optimización implementadas en el código para asegurar que cumplan con los requisitos de rendimiento.
7. Mecanismos de tolerancia a fallos y recuperación
Revisar las estrategias de tolerancia a fallos y recuperación del proyecto frente a situaciones imprevistas como fallos de red y ataques maliciosos, asegurando que el sistema pueda recuperarse automáticamente y mantener un funcionamiento normal.
8. Calidad del código
La calidad general del código de auditoría del proyecto, prestando atención a la legibilidad, mantenibilidad y robustez. Evaluar si existen prácticas de programación no estándar, código redundante o errores potenciales.
Servicios de seguridad y protección
Proporcionar protección de seguridad integral para proyectos ZKP, se puede abordar desde los siguientes aspectos:
Auditoría de código de circuito: Se utilizan métodos manuales y automatizados para auditar la corrección de las condiciones de restricción y la generación de testigos, realizando un análisis profundo de las vulnerabilidades de cálculo de restricciones que faltan.
Prueba de seguridad del código del nodo: realizar pruebas de Fuzz en el código del Sequencer/Prover y en el contrato de verificación, al mismo tiempo que se proporciona protección para las entidades y los datos del nodo.
Monitoreo de seguridad en la cadena: implementar sistemas de percepción de la situación de seguridad en la cadena, alertas de riesgos y seguimiento en la cadena para lograr una percepción de riesgos en tiempo real.
Protección de seguridad del host: producto de protección de seguridad del host que aplica capacidades de CWPP y ASA, proporciona gestión del ciclo cerrado de activos, riesgos, amenazas y respuestas a nivel de servidor.
Conclusión
La evaluación de seguridad de los proyectos ZKP necesita centrarse en escenarios de aplicación específicos ( como Layer2, monedas de privacidad, cadenas de bloques públicas, etc. ) Sin embargo, independientemente del tipo, se debe garantizar adecuadamente las tres características centrales del ZKP. Solo al considerar de manera integral todos los factores de seguridad se puede construir un sistema de cadena de bloques ZKP verdaderamente 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.
15 me gusta
Recompensa
15
9
Compartir
Comentar
0/400
ChainWatcher
· 07-09 07:44
Continuar contando la historia está muy incompleto.
Ver originalesResponder0
Fren_Not_Food
· 07-08 15:09
¡ZKP tiene algo especial!
Ver originalesResponder0
DataBartender
· 07-07 09:46
¿De qué sirve la privacidad? Los demás igualmente saben que tu cuenta no tiene dinero.
Ver originalesResponder0
FUDwatcher
· 07-06 08:15
zkp no es una solución universal, quienes entienden, entienden.
Ver originalesResponder0
MainnetDelayedAgain
· 07-06 08:15
Según estadísticas, este proyecto ha acumulado 328 días de pruebas de conocimiento cero.
Ver originalesResponder0
Lonely_Validator
· 07-06 08:07
La teoría la entiendo, pero la práctica no la entiendo del todo.
Ver originalesResponder0
fork_in_the_road
· 07-06 08:01
zk+Cadena de bloques también puede salvar este mal mercado
Ver originalesResponder0
Layer3Dreamer
· 07-06 07:55
teóricamente hablando, el trilema zk golpea más fuerte que el trilema blockchain, para ser honesto
Ver originalesResponder0
NftDataDetective
· 07-06 07:52
aquí vamos de nuevo... zkp recibiendo atención pero nadie habla sobre los vectores de ataque smh
Ocho grandes desafíos de seguridad y estrategias de respuesta de la combinación de ZKP y Cadena de bloques
Desafíos de seguridad en la combinación de zk-SNARKs y Cadena de bloques
zk-SNARKs(ZKP) como una tecnología criptográfica avanzada, está siendo adoptada por un número creciente de proyectos de Cadena de bloques. Sin embargo, la complejidad del sistema ZKP también ha traído numerosos riesgos de seguridad. Este artículo explorará, desde una perspectiva de seguridad, las vulnerabilidades que pueden surgir en el proceso de combinación de ZKP y Cadena de bloques, proporcionando referencias para la seguridad de proyectos relacionados.
Características clave de ZKP
Un sistema completo de zk-SNARKs debe satisfacer simultáneamente tres características clave:
Completitud: para una declaración verdadera, el probador siempre puede demostrar con éxito su validez al verificador.
Confiabilidad: en caso de declaraciones incorrectas, el probador malicioso no puede engañar al validador.
zk-SNARKs: Durante el proceso de verificación, el verificador no obtendrá ninguna información sobre los datos originales.
Estas tres características son la base de la seguridad y eficacia de los sistemas de zk-SNARKs. Si alguna de estas características no se cumple, puede dar lugar a problemas graves como denegación de servicio, eludir permisos o filtración de datos. Por lo tanto, al realizar una evaluación de seguridad, es necesario prestar especial atención a si estas características están garantizadas.
Principales preocupaciones de seguridad
Para los proyectos de cadena de bloques basados en ZKP, es necesario prestar atención a los siguientes aspectos de seguridad:
1. zk-SNARKs circuito
El circuito ZKP es el núcleo de todo el sistema y es necesario asegurar la seguridad de su diseño e implementación. Principalmente incluye:
Error de diseño del circuito: puede provocar que el proceso de prueba no cumpla con atributos de seguridad como zk-SNARKs, completitud o fiabilidad.
Error en la implementación de primitivas criptográficas: si hay problemas en la implementación de funciones hash, algoritmos de cifrado, etc., esto podría comprometer la seguridad de todo el sistema de prueba.
Falta de aleatoriedad: Si el proceso de generación de números aleatorios tiene defectos, puede comprometer la seguridad de la prueba.
2. Seguridad de contratos inteligentes
Para los proyectos de monedas privadas en Layer2 o implementados a través de contratos inteligentes, la seguridad del contrato es crucial. Además de las vulnerabilidades comunes, también se deben prestar especial atención a los problemas de verificación de mensajes entre cadenas y verificación de pruebas, ya que estos pueden afectar directamente la fiabilidad del sistema.
3. Disponibilidad de datos
Es necesario asegurarse de que los datos fuera de la cadena puedan ser accedidos y verificados de manera segura y efectiva cuando sea necesario. Preste atención a la seguridad del almacenamiento de datos, los mecanismos de verificación y el proceso de transmisión. Además de utilizar pruebas de disponibilidad de datos, también se puede fortalecer la protección del host y el monitoreo del estado de los datos.
4. Mecanismo de incentivos económicos
Evaluar el diseño del modelo de incentivos del proyecto, la distribución de recompensas y el mecanismo de penalización, asegurando que todas las partes involucradas tengan el incentivo de mantener la seguridad y el funcionamiento estable del sistema.
5. Protección de la privacidad
La implementación del esquema de protección de la privacidad en los proyectos de auditoría garantiza que los datos de los usuarios 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 el riesgo de divulgación de la privacidad del probador analizando el flujo de comunicación del protocolo.
6. Optimización del rendimiento
Evaluar las estrategias de optimización del rendimiento del proyecto, como la velocidad de procesamiento de transacciones, la eficiencia del proceso de verificación, etc. Auditar las medidas de optimización implementadas en el código para asegurar que cumplan con los requisitos de rendimiento.
7. Mecanismos de tolerancia a fallos y recuperación
Revisar las estrategias de tolerancia a fallos y recuperación del proyecto frente a situaciones imprevistas como fallos de red y ataques maliciosos, asegurando que el sistema pueda recuperarse automáticamente y mantener un funcionamiento normal.
8. Calidad del código
La calidad general del código de auditoría del proyecto, prestando atención a la legibilidad, mantenibilidad y robustez. Evaluar si existen prácticas de programación no estándar, código redundante o errores potenciales.
Servicios de seguridad y protección
Proporcionar protección de seguridad integral para proyectos ZKP, se puede abordar desde los siguientes aspectos:
Auditoría de código de circuito: Se utilizan métodos manuales y automatizados para auditar la corrección de las condiciones de restricción y la generación de testigos, realizando un análisis profundo de las vulnerabilidades de cálculo de restricciones que faltan.
Prueba de seguridad del código del nodo: realizar pruebas de Fuzz en el código del Sequencer/Prover y en el contrato de verificación, al mismo tiempo que se proporciona protección para las entidades y los datos del nodo.
Monitoreo de seguridad en la cadena: implementar sistemas de percepción de la situación de seguridad en la cadena, alertas de riesgos y seguimiento en la cadena para lograr una percepción de riesgos en tiempo real.
Protección de seguridad del host: producto de protección de seguridad del host que aplica capacidades de CWPP y ASA, proporciona gestión del ciclo cerrado de activos, riesgos, amenazas y respuestas a nivel de servidor.
Conclusión
La evaluación de seguridad de los proyectos ZKP necesita centrarse en escenarios de aplicación específicos ( como Layer2, monedas de privacidad, cadenas de bloques públicas, etc. ) Sin embargo, independientemente del tipo, se debe garantizar adecuadamente las tres características centrales del ZKP. Solo al considerar de manera integral todos los factores de seguridad se puede construir un sistema de cadena de bloques ZKP verdaderamente seguro y confiable.