本文介绍了如何在零知识电路中证明选择排序算法的正确执行过程。由于ZK电路中信号的不可变性,每次交换都需要创建一个新的列表快照。为此,文章详细展示了如何通过多个中间状态的转换来证明排序的正确性,包括查找子列表中最小值的索引、交换列表中的两个元素等关键步骤, 并提供相应的代码模版。
本文介绍了零知识虚拟机(ZKVM)的概念,它能创建零知识证明来验证机器指令的正确执行。文章通过一个简化的栈式ZKVM示例,展示了如何使用Circom实现基本的算术运算,并探讨了提高ZKVM效率的现代方法,如查找表和递归证明。 ZKVM在零知识Layer2区块链中至关重要,并可用于验证机器学习算法的正确执行。
本文档介绍了使用排列参数证明两个列表包含相同的元素,但顺序可能不同的证明。
A lot of fancy stuffs, plz enjoy!
本文介绍了Elusiv平台如何利用零知识证明在Solana上实现私密交易。详细说明了使用Elusiv SDK创建私密代币转账的步骤,包括环境配置、创建新的密钥对、连接Solana集群等。最后,文章强调了保护用户隐私对Web3技术普及的重要性,并提供了相关资源链接。
本文介绍了在椭圆曲线背景下的配对技术,强调其在零知识证明协议和BLS签名中的应用。文中详细阐述了一维函数、阿贝尔群和计算难题,并通过具体示例深入探讨了配对的定义及相关性质。强调了对于椭圆曲线配对的计算需求及安全性考虑,同时对Weil和Tate配对进行了说明,最后指出将在后续文章中探讨具体的加密应用。
本文介绍了在零知识证明友好的哈希函数,重点介绍了Minimal Multiplicative Complexity (MiMC) 和 Poseidon 这两个流行的 ZK 友好哈希函数的工作原理和性能, 并对比了他们的优劣. 此外还提及了基于椭圆曲线的Pedersen哈希,并指出了以太坊基金会悬赏征集MiMC哈希碰撞,以及对Poseidon安全性的研究。
本文深入探讨了零知识证明(ZKP)应用审计过程,包括电路设计和实施审计的关键点。文章强调了电路中变量之间逻辑关系的显式声明的重要性,以及常见的审计问题,如完整性和有效性问题,以指导ZKP安全研究者和开发者提高代码质量和安全性。
本文详细介绍了如何在 Circom 中实现 MD5 哈希算法,包括计算哈希值和约束其正确性。文章首先介绍了 MD5 哈希的原理和步骤,然后展示了如何在 Circom 中构建实现 MD5 哈希所需的各种组件,如位运算、循环左移、32 位加法以及初始填充。并通过一个python的例子,展示了MD5哈希的计算过程。
本文介绍了如何在零知识证明(ZK)电路中模拟32位算术运算,由于ZK默认数据类型是有限域元素,而实际计算常用32位、64位或256位数字,因此需要用域元素来模拟传统数据类型。文章详细讲解了32位范围检查、加法、乘法、除法与取模、位移以及位运算的实现方法,并提供了相应的Circom代码示例,同时还讨论了ZK EVM如何处理256位数字。
本指南详细介绍了Solana的保密转移扩展功能,该功能允许安全且隐私保护的代币转账。文章阐述了原理、实现细节及使用方法,包括如何使用零知识证明和同态加密保护账户余额和转移金额,同时还提供代码示例和最佳实践建议。
本文详细介绍了如何在 Circom 中创建一个栈数据结构,以及如何使用零知识证明(ZK proofs)来验证栈的操作,包括 push、pop 和 no change。通过定义栈的最大高度和使用栈指针(stack pointer)来跟踪栈的使用情况,并详细描述了在不同操作下栈状态的转换和约束。
Caulk+ 是 Caulk 的优化版本方案,它用了一个被称为「polynomial divisibility check」的方法来替换原本的子协议,以提升 Caulk 生成证明的效率,使得证明复杂度仅与子集的大小有关,而与原向量的大小无关。
本文深入探讨了如何在StarkWare的新零知识证明系统Stwo中实现递归证明验证,包括面临的三个主要挑战及其解决方案。通过将计算切割为小块以适应内存限制、并利用并行分布的证明生成方法,该系统增强了证明的效率。同时,介绍了设计专门的证明系统以优化证明者和验证者的效率,特别是在与比特币的兼容性方面。
本文介绍了如何在Circom中交换信号列表中的两个信号,这是排序算法的重要子程序,并解释了在ZK电路中执行此操作的复杂性,由于信号的不可变性,需要创建一个新数组并将旧值复制到新数组,在特定条件下进行修改,文章还指出了代码中的一个错误,即未考虑s等于t的情况,并提供了修复方案,最后总结了在Circom中操作数组的通用模式。