ZK技术的历史发展脉络梳理
Binius是个新颖的零知识证明系统,目的是降低证明者的计算开销。Binius能降低证明开销的原因是使用了$F_2$以及扩展域。
本文介绍了以太坊基金会在 2024 年第一季度资助的多个项目,总额超过 1140 万美元。这些项目涵盖社区教育、共识层、密码学、零知识证明、数据分析、开发者工具、执行层、通用增长与支持、通用研究、L2 等多个领域,旨在推动以太坊生态系统的发展。
本文介绍了如何使用JavaScript中的zk-SNARK技术,特别是通过Circom和SnarkJS库来生成和验证零知识证明。首先解释了零知识证明的基本概念及其在区块链中的应用,接着介绍了如何安装Circom和SnarkJS,并详细说明了如何编写电路代码以生成证明,最后展示了验证证明的步骤。读者在完成后应该对如何在JavaScript项目中实现zk-SNARK有初步的理解和实践能力。
零知识证明 - KZG多项式承诺
文章详细介绍了Solana生态系统中新推出的“Confidential Balances”功能,这一功能通过增强的加密技术为资产持有者和代币发行者提供了更高的隐私性和合规性。文中涵盖了机密交易的实施步骤、最新的功能扩展以及未来发展的趋势,并强调了与合规框架结合的重要性。
Schwartz-Zippel 引理是关于有限域中的多变量多项式零点个数的紧致上界,具体表述如下:
Dark Forest是一款实时策略游戏。星球的移动和攻占是整个游戏的策略重点。为了在不公开星球坐标的情况,还能证明星球的移动正确,引入了零知识证明技术。
Constantine是一个高性能密码学库,专注于区块链协议和零知识证明系统。它提供常数时间实现的密码学原语,支持多种椭圆曲线和协议,包括以太坊BLS签名、KZG承诺等,并提供Nim、C、Rust、Go等多种语言的接口。该库旨在提供快速、紧凑和强化的椭圆曲线密码学解决方案。
本文主要介绍了Constantine在区块链和零知识证明等领域的性能优势,以及如何通过基准测试来衡量其性能。文章详细对比了不同编译器(如GCC和Clang)在优化大整数和密码学代码方面的差异,并强调了使用内联汇编以确保性能和避免分支的重要性,Constantine通过优化代码大小和栈使用量,以及避免堆分配,适用于资源受限的设备。
本文深入探讨了以太坊Layer2的Rollups扩容方案,详细解析了Optimistic Rollups和Zero-Knowledge Rollups(ZK Rollups)两种主要类型的工作原理、安全考量以及优缺点对比。Rollups通过将交易数据计算移至链下,并打包成单个交易提交至主链,有效提升了交易速度和吞吐量,同时依赖以太坊共识机制保证安全性。
Matter Labs 获得了以太坊基金会的资助,用于开发基于零知识证明的 L2 扩展解决方案。他们的工作包括创建可扩展的 L2 平台、改进开发者工具以及推广零知识证明的应用。
DIZK,Distributed Zero Knowledge,分布式的零知识证明系统。在分布式环境下,DIZK能支持超大规模电路(10亿门级别)的计算。
DIZK源代码导读
本教程详细介绍了如何从零开始构建一个高效的零知识Merkle树(ZMT)实现,并讨论了如何构建仅需要O(log(n))存储的仅追加Merkle树。文章还探讨了如何生成和验证批量更新的Spiderman证明,并提供了TypeScript的实现代码。