Clean: Un DSL incrustado y un framework de verificación formal para circuitos ZK en Lean4

2025-03-27

Los investigadores han desarrollado Clean, un lenguaje específico de dominio (DSL) incrustado y un framework de verificación formal en Lean4 para construir circuitos de conocimiento cero (ZK). Los circuitos ZK son propensos a errores, y Clean tiene como objetivo mejorar la corrección al permitir a los usuarios definir circuitos en Lean4, especificar sus propiedades deseadas y probarlos formalmente. Este proyecto es parte del Proyecto de Verificación Formal zkEVM, cuyo objetivo es proporcionar la infraestructura y las herramientas para la verificación formal de zkEVMs. Clean admite cuatro operaciones básicas para definir circuitos: witness, assert, lookup y subcircuit, y ofrece una interfaz monádica para una mejor usabilidad. Su núcleo es la estructura FormalCircuit, que empaqueta de forma fuertemente tipada la definición del circuito, los supuestos, la especificación, las pruebas de solidez y completitud. Los circuitos grandes se pueden verificar formalmente reemplazando recursivamente las restricciones de los subcircuitos por sus especificaciones (formalmente verificadas). El framework ya ha verificado con éxito circuitos simples como la suma de 8 bits, con planes futuros para agregar más gadgets de bajo nivel, definir circuitos de funciones hash comunes y construir una máquina virtual mínima formalmente verificada para un subconjunto de RISC-V.

Leer más