Método de verificación de memoria del sistema de pruebas de conocimiento cero: cómo zkWasm implementa la Verificación formal

Verificación formal de zk-SNARKs: método de prueba de memoria

Al llevar a cabo la Verificación formal de un sistema de zk-SNARKs, el manejo del subsistema de memoria es un desafío clave. A diferencia de las máquinas virtuales tradicionales, zkVM utiliza tablas de ejecución y tablas auxiliares para representar el estado de la memoria, lo que requiere métodos de verificación especiales.

zk-SNARKs de verificación formal avanzada: ¿cómo probar la memoria de cero conocimiento?

El sistema de memoria de zkWasm está compuesto por una tabla de ejecución y una tabla de memoria. La tabla de ejecución registra el proceso de ejecución de instrucciones, mientras que la tabla de memoria guarda el historial de todos los accesos a la memoria. Para simplificar el desarrollo, zkWasm proporciona una capa de abstracción, que permite operar la memoria a través de las funciones alloc_memory_table_lookup_write_cell y alloc_memory_table_lookup_read_cell.

zk-SNARKs de avanzada Verificación formal: ¿Cómo probar la memoria de cero conocimiento?

Durante el proceso de verificación, consideramos la tabla de memoria como una estructura de datos mutable, construyendo un mapeo de datos de dirección a través de la función memory_at. Esto permite demostrar que las restricciones generadas por la función alloc son equivalentes a las operaciones de set y get realizadas sobre el mapeo, simplificando así la verificación de instrucciones a una forma similar a un intérprete no ZK.

zk-SNARKs de verificación formal avanzada: ¿cómo demostrar la memoria de conocimiento cero?

Para evitar que los atacantes manipulen la tabla de memoria, zkWasm utiliza un mecanismo de conteo para rastrear la cantidad de entradas válidas. La tabla de ejecución y la tabla de memoria mantienen contadores por separado, asegurando la coherencia entre ambas a través de restricciones. Esto requiere una mayor precisión durante la verificación, ya que se necesita demostrar que cada instrucción corresponde a la cantidad correcta de entradas en la tabla de memoria.

zk-SNARKs de verificación formal avanzada: ¿cómo probar la memoria de cero conocimiento?

El proceso de verificación se realiza de arriba hacia abajo e incluye tres pasos:

  1. Se debe estimar el número de entradas que debe crear la instrucción.
  2. El número de entradas en la tabla de pruebas no debe ser mayor de lo esperado
  3. Demostrar por inducción que cum_mops e instructions_mops son siempre consistentes en la tabla.

zk-SNARKs de verificación formal avanzada: ¿cómo demostrar memoria cero conocimiento?

Este método de verificación detallado ayuda a identificar errores potenciales, como un problema clave en el mecanismo de conteo de saltos.

zk-SNARKs de verificación formal avanzada: ¿cómo demostrar la memoria de conocimiento cero?

Para lograr la verificación modular, hemos dividido el sistema en tres partes independientes: verificación del circuito de instrucciones, verificación de la tabla de ejecución e implementación de la tabla de memoria. Esta estructura permite que varios ingenieros trabajen en paralelo, mejorando la eficiencia de la verificación.

zk-SNARKs de forma avanzada: ¿cómo probar la memoria de conocimiento cero?

En general, aunque la verificación de zkVM presenta diferencias al manejar estados dinámicos, aún se puede adoptar un enfoque modular similar al de la verificación de intérpretes tradicionales mediante la coincidencia de la capa de abstracción en la implementación. Este enfoque minimiza el impacto de las diferencias, permitiendo que cada instrucción sea verificada de forma independiente a través de la interfaz get-set.

zk-SNARKs de la verificación formal avanzada: ¿cómo demostrar la memoria de cero conocimiento?

zk-SNARKs de avanzada verificación formal: ¿cómo probar la memoria de conocimiento cero?

zk-SNARKs de la avanzada Verificación formal: ¿Cómo demostrar la memoria de cero conocimiento?

zk-SNARKs de verificación formal avanzada: ¿cómo probar la memoria de conocimiento cero?

zk-SNARKs de avanzada Verificación formal: ¿cómo probar la memoria de cero conocimiento?

Ver originales
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 7
  • Compartir
Comentar
0/400
AltcoinHuntervip
· 07-04 16:51
perspectivas valiosas llena Minería
Ver originalesResponder0
PerpetualLongervip
· 07-04 00:09
La gestión de la memoria es clave.
Ver originalesResponder0
MercilessHalalvip
· 07-03 12:25
El método de verificación es muy sólido.
Ver originalesResponder0
BearHuggervip
· 07-02 01:45
El costo es extremadamente alto, no es adecuado para uso comercial.
Ver originalesResponder0
BearMarketSagevip
· 07-02 01:43
La tecnología proviene de la Cadena de bloques
Ver originalesResponder0
TokenCreatorOPvip
· 07-02 01:39
¿Es útil el método de verificación?
Ver originalesResponder0
SocialAnxietyStakervip
· 07-02 01:30
La estructura de la memoria es realmente compleja.
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)