Lean4 中用于 ZK 电路的嵌入式 DSL 和形式化验证框架:Clean
2025-03-27
研究人员开发了 Clean,一个基于 Lean4 的嵌入式领域特定语言 (DSL) 和形式化验证框架,用于构建零知识 (ZK) 电路。ZK 电路容易出错,Clean 通过允许在 Lean4 中定义电路、指定其所需属性并正式证明它们来提高其正确性。该项目是 zkEVM 形式化验证项目的一部分,旨在为 zkEVM 提供基础设施和工具,以实现形式化验证。Clean 支持四种基本操作来定义电路:witness、assert、lookup 和 subcircuit,并提供一种单子接口来增强可用性。其核心是 FormalCircuit 结构,它以依赖类型的方式紧密打包电路定义、假设、规范、健全性和完整性证明。通过将子电路的约束替换为其(经过正式验证的)规范,可以正式验证大型电路。该框架已成功验证了 8 位加法等简单电路,未来计划添加更多低级组件、定义常用哈希函数电路并构建形式化验证的 RISC-V 子集最小虚拟机。
阅读更多
开发
Lean4