零知识证明(ZKPs)是一种加密技术,允许一方在不暴露具体信息的情况下证明其对该信息的知识。文章深入探讨了ZKPs的工作原理、种类及其在区块链应用中的作用,旨在帮助程序员理解如何实际实现这一技术,并涵盖了交互式和非交互式证明、关键组件以及信任设置等重要概念。
探秘 Circle STARKs
以太坊基金会和Mina基金会发布提案征集(RfP),旨在设计并实现一种在以太坊上验证Pickles SNARK的机制。目标是实现Mina区块链在以太坊上的完全验证,从而实现两个链之间的互操作,并使应用程序更广泛地在以太坊上使用递归SNARK。该提案详细介绍了验证过程中的关键步骤,包括哈希计算、算术方程检查和多标量乘法(MSM),并提出了使用辅助证明系统来验证计算密集型步骤的方案。
Starknet开发指南:如何使用Cairo实现和测试存储合约在这篇文章中,我们将带领读者逐步完成在Starknet上开发一个简单存储合约的过程。通过使用Cairo语言进行编写,您将学习如何在区块链上存储和读取数据,掌握Starknet合约的基本开发流程,并使用Scarb进行项目构建和测试。本教程
circle stark: perspective from a new stark
EIP-7864 提议对以太坊状态使用二叉树,与 EIP-3102 相比,它提出了一个单一的平衡树,并借鉴了 EIP-6800 的一些思想,例如账户数据、存储槽和代码块的打包。该提议讨论了稀疏树与非稀疏树,以及用于默克尔化的哈希函数的选择,当前草案提议使用非稀疏默克尔树,并在主干级别压缩分支,使用 BLAKE3 哈希函数。
本文介绍了SP1 zkVM的设计原理,重点分析了zkVM如何执行用户程序,并生成零知识证明。文章详细解释了zkVM的编译器、指令集架构、以及证明系统的核心代码实现,帮助读者理解这一前沿技术的运作机制。
第1,2,3代STARK证明系统位宽分别为252,64和32bit,编码效率虽有提高,但仍有浪费空间;Binius直接对位操作,编码紧凑高效,很可能是未来的第4代STARK。
重要‼️Stark101虽然是希望成为任何软件工程师的入门教程,但是ZK确实有太多不得不说的概念,不过,我会尽量用最简单,最少公式的方式来讲解。所以,Start101绝对不会教会你如何成为数学大师,其目的在于让你轻松的理解Stark的逻辑。但是你需要遵守以下规则:任何标题开头为附加内容
计算轨迹是 Stark 的第一步,也是最简单的一步,但是最为重要的一步。 但是在章节开始之前,你需要必须 🚨掌握以下前置知识:
低度拓展(LDE)是Stark中用于提高安全性的一个步骤,通过把多项式的域拓展到更大的域,从而提高计算的安全性。
承诺(Commitments)是Stark中用于去除需要交互验证的步骤,通过将Trace的值进行默克尔树构建,从而获得虚拟的交互验证。
本文深入探讨了以太坊第二层(L2)扩展方案中的欺诈证明(Fraud Proofs)和有效性证明(Validity Proofs)的区别,分析了它们各自的优势和劣势,并讨论了它们在应对51%攻击时的表现。
本文详细介绍了STARK的实现,特别是通过Python代码展示了如何利用MIMC函数生成STARK证明。文章深入讨论了STARK的计算复杂性、验证过程及其在零知识证明中的应用。