本文介绍了Lasso和Jolt的创新,它们能显著提升SNARK的性能,并更易于构建和审核。结合D&P的Binius方案,这些发展改变了我们对SNARK设计的基本理解,提出了新的思路以优化电路求解和多项式承诺方案,从而提高加密运算的效率,特别是在哈希函数应用中。
本文深入探讨了SNARK(简洁非交互式知识论证)的性能、成本和安全性,尤其是在与量子安全相关的背景下。它比较了不同类型的SNARK及其在去中心化设置中的应用,同时提出了确保SNARK安全性和性能的建议。
本文深入探讨了零知识证明协议Plonk,详细介绍了如何将算术电路的计算过程编码为多项式,并利用多项式承诺方案和交互式预言证明(IOPs)实现高效验证。文章涵盖了SNARKs的基本概念、根的单位在多项式编码中的应用、电路约束的数学表达,以及如何通过Fiat-Shamir启发法将交互式协议转为非交互式证明。内容涉及密码学、多项式运算及复杂协议设计,属于高级密码学技术解析。
本文对承诺方案进行了深入探讨,特别是多项式承诺方案中的KZG承诺。在介绍之前的基础上,文章详细描述了如何构建一个承诺多项式的过程,包括信任设置、承诺生成、评估以及验证。使用公开参数和配对技术,能够在不知道秘密多项式的情况下进行验证,确保所提交计算是正确的。同时,文中提到这一承诺方案在零知识证明中的应用潜力。文章尽量简化复杂概念,使读者能更好理解这些高级密码学内容。
本文详细介绍了多项式承诺机制的原理和实现,特别是如何使用Pedersen承诺和椭圆曲线来验证多项式在特定点的估值,而不泄露多项式本身。文章还讨论了验证步骤的工作原理和为什么验证者无法被欺骗。
文章详细介绍了如何使用多项式承诺方案在零知识证明中验证多项式乘法的正确性,包括算法步骤和优化方法,并附有代码实现。
本文详细探讨了 Danksharding 作为以太坊未来扩展方案的一部分,特别是数据可用性采样(DAS)的工作原理及其潜在改进。文章介绍了 Protodanksharding 和 Danksharding 的基本概念,如何通过 erasure coding 和多项式承诺确保数据的可用性和可恢复性,并提出了一种通过修改协议以降低重构所需数据比例的方案。
PlonK是一种实现通用零知识证明的算法,旨在通过结构化参考字符串(SRS)来简化信任设置过程。文章详细解释了PlonK的原理,包括多项式承诺、输入输出的排列协议及其在电路设计中的应用,突出其相较于Groth16的优势,尤其在证明过程和性能方面。
本文介绍了由Irreducible提出的Binius方法,该方法在二进制域(GF(2))中构建SNARK,以减少空间浪费并提高计算效率。文章涉及了多项式承诺、Reed-Solomon纠错码、Kronecker积等相关数学工具,并展示了如何通过具体示例说明Binius流程及其优势。
本文详细介绍了 Binius 方法在 binary field 中构建 SNARK 的过程,包括其背后的数学理论如 Polynomial Commitment Scheme、Reed-Solomon 纠错码和 Kronecker 乘积等。通过对这些理论的解释,展示了如何通过 Binius 方法高效进行多变量多项式的运算,以及其在具体案例中的应用,有助于理解其在减少计算资源和提高效率方面的贡献。
FIPS 203(草案)的第 2.4 节对所有这些进行了非常清楚和更详细的解释。FIPS 标准实际上在避免形式主义和与工程师交流方面做得很好了。就把这篇当作一个更友好、更务实的总结吧。
本文介绍了a16z加密团队发布的Jolt zkVM的初始实现及其性能和可用性的改进,包括验证成本的显著降低,集成折叠技术以提升多项式承诺方案和简单性。此外,文章详细描述了Jolt的各项新特性和未来的发展方向,包括对RISC-V的支持、开源贡献者所做的改进与正式验证的进展。
多项式承诺正在重塑整个区块链的架构,不论是在链的数据结构优化上,模块化区块链的数据可用性上,还是零知识证明系统上都将大有作为。
Trusted Setup其实就是生成一个非对称加密的私钥,即s;然后生成一系列的公钥,即g^(s^i), i = 0....n;其中g是椭圆曲线中的生成元; i是从0到n的整数,n是多项目的degree。其中的s必须销毁,谁都不能知道;只保留下来一系列的公钥;以太坊基金会已经生成了4组这类的公钥对
HyperPlonk是一种新的零知识证明系统,旨在克服传统Plonk系统在处理大规模计算时遇到的限制,特别是通过去除FFT(快速傅里叶变换)来提高可扩展性,并支持高阶自定义门和查找功能,特别适用于复杂的ZK-EVM应用。