zkSync采用PlonK零知识证明系统。在电路设计上,非常巧妙的将交易分割成一个个小的通用处理单元(Operation)。一个Operation对应的证明电路逻辑支持所有可能交易的Operation逻辑。多个有关联的Operation电路组成交易电路。多个交易的电路再组合成区块电路。从而,在固定大小的区块中也能包含不同组合的交易。
这篇文章记录一下团队解题的思路以及学习STARK的过程。方便更多的小伙伴学习零知识证明相关技术。
本文介绍了Ola,一个利用零知识证明(ZK Proofs)和BitVM2挑战者机制为比特币跨链交易构建安全基础设施的创新方案。Ola旨在提供一种安全且信任最小化的BTC跨链解决方案,允许BTC参与DeFi、NFT等应用,同时不牺牲比特币的核心安全原则,最终目标是成为关键的比特币Layer 2基础设施提供商。
文章详细介绍了Lasso和Jolt这两种新型零知识虚拟机(zkVM)的核心原理和实现,特别强调了sum-check协议在Jolt中的重要性,以及与Binius承诺方案的结合。作者探讨了Jolt在性能与简化方面的优势,讨论了椭圆曲线与哈希之间的比较,并解构了EVM中的预编译和zkVM基准测试的概念。
Ola 项目最初专注于构建高性能的基础设施,但意识到用户增长停滞。因此,Ola 推出 Massive,这是一个建立在移动设备上的去中心化 ZKP 验证网络,旨在通过低门槛的盈利模式持续吸引 Web2 用户进入 Web3,并最终构建基于用户需求的生态系统。目前 Massive 测试网络已经上线,并获得了大量用户的参与
本文介绍了a16z加密团队发布的Jolt zkVM的初始实现及其性能和可用性的改进,包括验证成本的显著降低,集成折叠技术以提升多项式承诺方案和简单性。此外,文章详细描述了Jolt的各项新特性和未来的发展方向,包括对RISC-V的支持、开源贡献者所做的改进与正式验证的进展。
Massive是一个去中心化的ZK验证网络服务,旨在通过移动设备节点、staking/re-staking机制和及时结算等特性,解决Web3大规模采用的问题。它通过“Verify to Earn”激励机制吸引新用户,同时作为区块链的结算层,提高资本效率,并促进区块链的模块化设计。
本文介绍了Four Pillars的研究系列Scout Article,旨在发掘有前景的早期区块链项目。
Hermez团队负责人Jordi Baylina比较清晰地给出了zkEVM大体的设计思路。本文梳理一下对zkEVM设计的理解。抛砖引玉,有理解偏差,小伙伴们可以留言讨论。
Groth16算法是zkSNARK的典型算法,目前在ZCash,Filecoin,Coda等项目中使用。本文从计算量的角度详细分析Groth16计算。Groth16计算分成三个部分:Setup针对电路生成Pk/Vk(证明/验证密钥),Prove在给定witness/statement的情况下生成证明,Verify通过Vk验证证明是否正确。
本文介绍了使用 WebAssembly (WASM) 在浏览器中实现基于双线性映射的累加器(Accumulator)的方法,累加器允许将值添加到固定长度的摘要中,并提供已添加值的证明,而无需泄露累加值中的实际内容。文章展示了如何使用docknetworkcryptoWasm库来创建累加器、添加和移除元素,并生成和验证成员资格证明,附有代码示例和在线演示链接。
docknetworkcryptoWasm
ZK技术的历史发展脉络梳理
Binius是个新颖的零知识证明系统,目的是降低证明者的计算开销。Binius能降低证明开销的原因是使用了$F_2$以及扩展域。
本文介绍了以太坊基金会在 2024 年第一季度资助的多个项目,总额超过 1140 万美元。这些项目涵盖社区教育、共识层、密码学、零知识证明、数据分析、开发者工具、执行层、通用增长与支持、通用研究、L2 等多个领域,旨在推动以太坊生态系统的发展。
本文介绍了如何使用JavaScript中的zk-SNARK技术,特别是通过Circom和SnarkJS库来生成和验证零知识证明。首先解释了零知识证明的基本概念及其在区块链中的应用,接着介绍了如何安装Circom和SnarkJS,并详细说明了如何编写电路代码以生成证明,最后展示了验证证明的步骤。读者在完成后应该对如何在JavaScript项目中实现zk-SNARK有初步的理解和实践能力。