这篇博客文章是关于使用SNARKs验证FHE引导(Bootstrapping)的研究,旨在提高FHE的实际应用性。
本文介绍了Ola项目,一个由Sin7y Labs于2022年推出的ZK Stack基础设施项目,旨在为比特币、以太坊等区块链构建ZK轻客户端网络。Ola Stack包含OlaVM、Ola-lang等组件,旨在简化智能合约开发并支持 ZK 轻客户端网络。同时介绍了Massive,Ola的首个移动ZKP验证应用,以及如何通过Massive参与区块链验证并获得奖励。
FRI原理及其应用分析
双线性对是一种数学函数,广泛用于设计密码协议,如基于身份的加密、数字签名和零知识证明等。
介绍了Miller Loop算法在椭圆曲线密码学中的应用,特别是在计算双线性对时的作用。还讨论了几种优化方法,包括预计算、窗口法、优化曲线选择、Frobenius自同态、高效标量乘法算法和并行化,这些方法能显著提升Miller Loop的计算效率。
使用 Risc0 创建你的第一个 ZK 项目
MemoryStark确保内存访问操作是按时间和地址顺序进行的,并且读取的值与之前写入的值一致。LogicSNARK确保逻辑运算的正确性。
Zinc语言是一种智能合约语言,能方便的构建其对应的电路。Zinc开发的程序,编译成ZincVM指令,并在ZincVM执行并构建电路。构建电路的过程是将指令顺序执行,跟踪以及统一数据流。因为ZincVM构建电路需要将代码“静态”展开,所以Zinc不支持图灵完备。
本文介绍了一个MIPS模拟器的设计,支持MIPS ELF程序的加载、执行和段生成。模拟器通过逐步执行指令并检查退出条件,支持常规执行和段分割两种模式。内存管理采用4KB页面并通过哈希树计算镜像ID,优化了修改页面的哈希计算,提升了性能。主要数据结构包括仿真状态、内存和段信息。
zkMIPS 通过零知识证明(ZKP)验证 MIPS 程序的正确执行。流程包括代码编译、虚拟机运行、生成执行轨迹,并通过 STARK、PLONK 和 Groth16 等技术生成高效的可验证证明,实现链上验证与隐私保护。
零知识证明(ZKP)在区块链领域快速发展,从最初的隐私保护走向通用计算。尤其是zkVM(Zero-KnowledgeVirtualMachine)的出现,极大拓宽了ZK技术的应用边界。现在通过这篇文章,系统了解zkVM的核心概念、主流技术路线、应用图谱,以及如何选择适合自己的zk
ZKM Prover利用Plonky2构造零知识证明系统,其主要步骤涉及对每个Plonkish表的证明生成、聚合及压缩处理。
Jolt:一个快速、易于使用的 zkVM
本文介绍了SP1 zkVM的设计原理,重点分析了zkVM如何执行用户程序,并生成零知识证明。文章详细解释了zkVM的编译器、指令集架构、以及证明系统的核心代码实现,帮助读者理解这一前沿技术的运作机制。
递归零知识证明(RecursiveZero-KnowledgeProof,简称递归ZKP)是一种使用递归概念的零知识证明,它通过递归的方式生成可更高效验证的证明,某些情况下还可以将多个证明合并成一个单一的证明。这在区块链系统中尤为重要,因为在这些系统中,效率和可扩展性是至关重要的。