Clean : Un DSL embarqué et un framework de vérification formelle pour les circuits ZK dans Lean4
Des chercheurs ont développé Clean, un langage spécifique de domaine (DSL) embarqué et un framework de vérification formelle dans Lean4 pour construire des circuits à connaissance zéro (ZK). Les circuits ZK sont sujets aux bogues, et Clean vise à améliorer l’exactitude en permettant aux utilisateurs de définir des circuits dans Lean4, de spécifier leurs propriétés souhaitées et de les prouver formellement. Ce projet fait partie du projet de vérification formelle zkEVM, qui vise à fournir l’infrastructure et les outils nécessaires à la vérification formelle des zkEVM. Clean prend en charge quatre opérations de base pour définir les circuits : witness, assert, lookup et subcircuit, et offre une interface monadique pour une meilleure convivialité. Au cœur du système se trouve la structure FormalCircuit, qui regroupe de manière fortement typée la définition du circuit, les hypothèses, la spécification, les preuves de solidité et de complétude. Les grands circuits peuvent être vérifiés formellement en remplaçant récursivement les contraintes des sous-circuits par leurs spécifications (formellement vérifiées). Le framework a déjà vérifié avec succès des circuits simples comme l’addition 8 bits, avec des projets futurs pour ajouter plus de gadgets de bas niveau, définir des circuits de fonctions de hachage courantes et construire une machine virtuelle minimale formellement vérifiée pour un sous-ensemble de RISC-V.
Lire plus