Vitalik最新文章:探秘 Circle STARKs
作者:Vitalik Buterin,译者:Kurt Pan,XPTY
本文假设你熟悉 SNARK 和 STARK 工作原理的基础知识;如果你并不熟悉,建议阅读此文的前几节。特别感谢 Eli ben-Sasson、Shahar Papini、Avihu Levy 和 starkware 的其他人员提供的反馈和讨论。
https://vitalik.eth.limo/general/2024/04/29/binius.html
https://en.wikipedia.org/wiki/Karatsuba_algorithm
https://polygon.technology/blog/plonky2-a-deep-dive
https://blog.icme.io/small-fields-for-zero-knowledge/
这一转变已经使得证明速度大幅提升,最显著的是 Starkware 能够在一台 M3 的笔记本电脑上 每秒证明 620,000 个 Poseidon2 哈希。具体来说这意味着,只要我们愿意信任 Poseidon2 作为哈希函数的部分,那么构建一个高效的 ZK-EVM 中最困难的部分之一就已经得到了高效解决。但这些技术是如何工作的,密码学证明(通常需要大整数来保证安全性)是如何在这些域上构建的?以及这些协议与更奇特的 构造(比如 Binius)又如何比较?这篇文章将探讨其中的一些微妙差别,会特别关注一种称为 Circle STARKs 的构造(在 Starkware 的 stwo、Polygon 的 plonky3 和 我自己的python 实现 中有实现),其具有一些独特的性质,旨在与高效的 Mersenne31 域兼容。
https://x.com/StarkWareLtd/status/1807776563188162562
https://vitalik.eth.limo/general/2022/08/04/zkevm.html
https://vitalik.eth.limo/general/2024/04/29/binius.html
https://www.irreducible.com/posts/binius-hardware-optimized-snark
https://eprint.iacr.org/2024/278
https://github.com/starkware-libs/stwo
https://github.com/Plonky3/Plonky3
https://github.com/ethereum/research/tree/master/circlestark
小域常见的问题
在进行基于哈希的证明(或实际上任何类型的证明)时,最重要的“技巧”之一是用证明有关多项式在随机点的求值以代替证明有关底层多项式的事情。
https://en.wikipedia.org/wiki/Fiat%E2%80%93Shamir_heuristic
这个问题有两个自然的解决方案:
执行多次随机检验 扩域
- https://www2.clarku.edu/faculty/djoyce/complex/mult.html
这里实现不是最优的(可以用Karatsuba优化),只是展示原理
常规 FRI
https://eccc.weizmann.ac.il/report/2017/134/
Circle FRI
- https://elibensasson.blog/why-im-excited-by-circle-stark-and-stwo/