本文深入探讨了如何在StarkWare的新零知识证明系统Stwo中实现递归证明验证,包括面临的三个主要挑战及其解决方案。通过将计算切割为小块以适应内存限制、并利用并行分布的证明生成方法,该系统增强了证明的效率。同时,介绍了设计专门的证明系统以优化证明者和验证者的效率,特别是在与比特币的兼容性方面。
本文介绍了如何在Circom中交换信号列表中的两个信号,这是排序算法的重要子程序,并解释了在ZK电路中执行此操作的复杂性,由于信号的不可变性,需要创建一个新数组并将旧值复制到新数组,在特定条件下进行修改,文章还指出了代码中的一个错误,即未考虑s等于t的情况,并提供了修复方案,最后总结了在Circom中操作数组的通用模式。
Zellic团队在ZK Hack IV比赛中展示了其在零知识证明和密码学领域的能力,成功解决了三个包含漏洞的加密应用难题。每道题目的解决方案都涉及到使用Rust编程语言和arkworks库,团队在第一个难题中赢得第一名,在第三个难题中取得第二名,总体上获得第二名。
本文介绍了Quin Selector这一设计模式,它允许使用信号作为信号数组的索引。文章通过代码示例,展示了如何在Circom中实现Quin Selector,并讨论了优化方法。同时,文章还提到了Circomlib库中的multiplexer组件,它可以实现类似的功能,并提供了一个使用示例。最后,文章提到了该算法的历史渊源。
本文深入探讨了 Circom 中 if 语句的使用限制,明确指出信号不能用于改变 if 语句的行为,也不能在依赖于信号的 if 语句中赋值。
本文介绍了在 Circom 中如何在循环中使用组件。由于 Circom 不允许在循环中直接实例化组件,文章提供了通过预先声明组件数组并在循环内指定组件类型的方式来解决这一问题,并提供了三个实际案例:求数组最大值、检查数组是否已排序以及确保数组中所有元素都是唯一的,展示了如何在循环中有效地使用 Circom 组件,以及一些使用 circom 的小技巧。
本文介绍了零知识电路中的“计算后约束”设计模式,它首先在没有约束的情况下计算算法的正确输出,然后通过强制执行与算法相关的约束来验证解决方案的正确性。
本文介绍了在 Circom 中使用 indicator signals 和 Circomlib comparator library 来实现复杂约束条件的方法。
本文介绍了 Circom 中的 <== 和 ==> 操作符,它们用于在电路中自动计算和赋值中间信号,从而避免手动提供所有信号作为输入。文章还展示了如何使用模板将电路拆分成更易于管理的模块,以及如何在组件之间传递结果。此外,还强调了组件的输出信号必须被约束使用,以防止恶意证明者篡改。
<==
==>
本文探讨了多项式交互式oracle证明(PIOPs)的概念及其在隐私保护计算中的潜力,描述了如何通过多项式编码实现数据的隐私验证。文章解释了PIOPs的工作原理、关键特性以及与zkSNARKs等其他验证系统的比较,强调了其在加密协议中的重要性和应用前景。
本文介绍了Circom代码与其编译成的Rank 1 Constraint System (R1CS)之间的关系,并通过几个例子详细解释了如何在Circom中编写约束,以及如何使用Circom命令行工具编译电路、生成witness,并验证电路的正确性。文章还介绍了zkRepl在线IDE的使用,以及Circom中有限域的概念,以及如何将snarkjs导出的R1CS约束转换为Circom中的原始约束。
本文介绍了 Circom 编程语言,它用于创建 Rank 1 Constraint Systems (R1CS) 并填充 R1CS 的 witness 向量,主要是为了简化约束系统的设计和自动化 witness 的生成。文章还解释了 Circom 存在的意义,以及它如何帮助开发者更轻松地进行零知识证明相关的开发,最后说明了学习 Circom 的理由,并概述了资源结构,包括语法和约束设计。
这篇文章深度分析了加密货币及区块链技术的最新趋势,特别着眼于2024年的展望,包括比特币和以太坊ETF的批准对市场动态的影响,以及去中心化金融(DeFi)的重要性。此外,文章探讨了多种技术进展,如零知识证明、去中心化物理基础设施(DePIN)和真实世界资产(RWA)等,展现了区块链生态系统的不断演化与增长。
通过上一篇,我们知道zkEVM包含多个电路,如EVM circuit, MPT circuit,Keccak256 circuit等。本节继续介绍EVM circuit部分,这一部分是典型的业务电路,用于约束EVM执行状态,因为其他例如 Keccak256 circuit 是通用型的电路,不仅可以用在ZKEVM工程中,也可以用在其他使用Keccak256做哈希的应用中,也就是独立于业务逻辑本身的电路组件。
17年出现了一款非常火爆的Dapp应用叫加密猫,加密猫曾造成以太坊主网大规模的拥堵,造成拥堵的原因是以太坊当时的TPS只有15,这意味着以太坊每秒只能处理15笔交易,如此低的TPS严重限制了区块链应用的大规模落地,所以有人开始研究区块链扩容的问题,目的就是为了提高链上的TPS。zkRollup就是基于零知识证明的二层扩容方案(layer2)。