本文介绍了零知识虚拟机(zkVMs)的概念,zkVMs 利用零知识证明(ZKPs)来验证在特定指令集架构上执行的计算的正确性。文章回顾了zkVMs的基本原理,并讨论了多个对zkVMs的设计和发展产生重大影响的项目,包括vnTinyRAM、Cairo、RISC Zero zkVM、Jolt等,并且 zkSecurity 正在开发 zkVM 的形式化验证框架。
本文深入探讨了Circle STARKs的代数基础,包括复数、单位圆的群性质,以及在有限域上的扩展。文章还讨论了单位圆的子群结构、余集,以及在Circle STARKs中用于计算轨迹的trace domain(标准位置陪集或更一般的双陪集)上的多项式插值和消失多项式。
本文介绍了MPC-in-the-Head(MPCITH)转换,这是一种从多方计算(MPC)协议构建零知识证明的方法。MPCITH将MPC协议视为黑盒,通过模拟MPC协议来生成零知识证明,并探讨了如何将此结构应用于开发后量子签名方案。文章还讨论了其在构建后量子签名中的应用,以及对MPCITH的一些改进。
本文揭示了2024年11月在Aleo主网上发现的一个严重通胀漏洞的细节,该漏洞源于不安全的输入/输出提交方式,可能导致攻击者绕过最终确认逻辑,非法铸造代币。漏洞发现后,立即报告给Aleo团队并迅速修复,未发现实际利用。修复方案通过增加显式检查确保交易输入/输出数据类型的正确性。
本文介绍了zkSecurity与Matter Labs合作发布的关于区块链Rollups安全性的论文,该论文提出了一个形式化模型来分析不同的安全机制。文章讨论了Rollups的安全性,并对论文内容进行了初步介绍,强调了Rollups在以太坊未来发展中的核心作用,以及形式化分析对于确保Rollups安全性的重要性,并提出了强制交易、安全黑名单和可升级性这三个关键机制。
本文介绍了交互式定理证明器(又称证明助手),这种工具可以创建严格的、机器可检查的数学定理和计算证明。文章以 Lean 为例,展示了如何使用证明助手来验证数学证明的正确性,并探讨了证明助手在零知识虚拟机(zkVM)开发中的应用。
本文详细介绍了Jolt zkVM 的工作原理,它是一个为 RISC-V 架构设计的零知识虚拟机,由 a16z 开发,并采用 Lasso 查找参数来证明 VM 执行的正确性,文章详细解释了指令查找、离线内存检查和 Rank-1 约束系统 (R1CS) 三个主要组件,以及它们如何协同工作以确保 VM 执行的正确性。
本文深入探讨了零知识虚拟机(zkVM)的工作原理、潜在的安全漏洞以及构建安全零知识应用的必要性。文章详细介绍了zkVM的编译、执行、证明和验证流程,并分析了每个阶段可能出现的安全风险,例如编译器漏洞、执行不确定性、电路约束不足以及验证过程中的输入混淆等问题。
zkSecurity 团队与 a16z 合作,对 Jolt zkVM 进行了深入研究,发现了多个严重的安全漏洞,如执行跟踪验证、输出检查和内存布局约束等方面的问题。这些漏洞可能允许恶意证明者绕过验证。Jolt 团队已经修复了这些问题, 并通过这次合作显示了对 zkVM 进行安全审计的重要性。
Noname 3.0 发布,它是一种受 Rust 和 Golang 启发的 zk 编程语言,旨在为开发人员提供比 Circom 更好的体验。此版本包含原生 hint、标准库 (stdlib) 和更丰富的调试功能,并介绍了 hint 函数的使用方式、标准库的模块、迭代器、日志记录和编译器管道可视化工具,同时规划了未来的开发方向。