本文介绍了零知识虚拟机(ZKVM)的概念,它能创建零知识证明来验证机器指令的正确执行。文章通过一个简化的栈式ZKVM示例,展示了如何使用Circom实现基本的算术运算,并探讨了提高ZKVM效率的现代方法,如查找表和递归证明。 ZKVM在零知识Layer2区块链中至关重要,并可用于验证机器学习算法的正确执行。
本文介绍了UltraGroth,这是一种基于Groth16零知识证明系统,通过引入查找表(lookup tables)来优化电路约束成本的方法,特别是在处理神经网络中的激活函数时,能显著减少约束数量,提高效率。此外,UltraGroth通过将私有witness分为两轮提交,并由验证者通过哈希承诺值导出随机数来防止恶意证明者作弊,增强了安全性。