建筑局网站,代做外国空间网站,网站优化推广公司,wordpress编辑小工具栏1. 引言
StarkWare团队和Polygon Labs团队#xff0c;历时数月#xff0c;构造了基于Mersenne素数域M31的Circle STARK协议#xff0c;通过使用M31 over a circle#xff0c;可基于任意有限域构造高效STARKs#xff0c;具体见2024年2月19日论文《Circle STARKs》。
基于…1. 引言
StarkWare团队和Polygon Labs团队历时数月构造了基于Mersenne素数域M31的Circle STARK协议通过使用M31 over a circle可基于任意有限域构造高效STARKs具体见2024年2月19日论文《Circle STARKs》。
基于Circle STARK协议StarkWare团队开发了超快的证明系统Stwo大幅改进了现有Stone prover见Stone ProverStarkWare的STARK Prover。
Stwo开源代码见
https://github.com/starkware-libs/stwoRust
BabyBear域背景知识见
RISC Zero的Babybear域 及其 扩域技术探秘在RISC Zero中验证FHE——RISC Zero应用的DevOps2
Mersenne素数域M31背景知识见
Plonky3 Mersenne素数域的Reed-Solomon codes设计基于circle group的Reed-Solomon codes
传统STARKs协议其组成步骤要求代数结构
需要一个素数域 p p p其 p − 1 p-1 p−1可被2的大幂整除。
即传统STARKs其所使用的域内要有一个smooth order的cyclic group。 原因在于STARKs协议中有2大核心
FFT使用FFT算法来高效插值点并编写包含相邻行的约束。FRI
这就排除了许多尺寸较小的域尽管这些域非常适合高效计算。如Mersenne素数域M31其 p 2 31 − 1 p2^{31}-1 p231−1而 p − 1 2 ( 2 30 − 1 ) p-12(2^{30}-1) p−12(230−1)甚至不能被 4 4 4整除。从而陷入僵局
传统STARKs协议无法与M31结合使用
数年前曾希望让STARKs协议适用于2种主流加密曲线secp256k1 和 secp256r1。但这2条曲线也不满足上面的要求。为此还研究出了Elliptic Curve Fast Fourier Transform (ECFFT) Part I: Fast Polynomial Algorithms over all Finite Fields论文其使用椭圆曲线为FFT和FRI提供了替代的结构源在该论文中详细介绍了将STARKs用于任意域的机制——使用某椭圆曲线的cyclic group。
为能让M31与STARKs结合使用StarkWare团队和Polygon Labs团队合作最终有了Circle STARKs
一种紧凑、优雅的协议避免了ECFFT论文的重型机制。简而言之当 p 1 p1 p1可被2的大幂整除时如M31基于该素数域的circle curve x 2 y 2 1 x^2y^21 x2y21提供了适于FFT和FRI所需的结构。 2. Stwo基于Circle STARK和M31的下一代STARK证明系统
Stwo
利用 Circle STARK 和各种其他优化来带来前所未有的证明性能。
Stone为St-one为一代而StwoS-two为二代。已基于Stone系统构建的应用链和Starknet都不受影响高级Cairo将与Stwo完全兼容。当时机到来时Stwo 已准备好推出Starknet 生态系统即用户和开发人员将受益于 Stwo 的下一级别的扩展而无需执行任何操作Stwo 将与编写合约的高级Cairo代码兼容也与Sierra兼容。当前基于Stone的Starknet prover(s)未来将使用Stwo。用户/构建者/dapp 也将在延迟和费用方面受益。
3. 性能对比
在《Circle STARKs》论文中对基于M31的Circle STARKs和基于Babybear域的传统STARK使用的Babybear代码为https://github.com/Plonky3/Plonky3/commit/86d13ddf269427c4788cdd41f413308a6050f9f3做了性能对比要快约1.4倍
参考资料
[1] StarkWare 2024年3月博客 Stwo Prover: the next-gen of STARK scaling is here [2] 2024年2月21日 Circle STARKs