📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
Circle STARKs: 小字段优化提升ZK-EVM效率
探索Circle STARKs
近年来,STARKs协议设计趋向使用较小的字段。最早期的STARKs实现使用256位字段,但这种设计效率较低。为解决这个问题,STARKs开始转向使用更小的字段,如Goldilocks、Mersenne31和BabyBear。
这种转变大幅提升了证明速度。例如,Starkware能在M3笔记本上每秒证明620,000个Poseidon2哈希值。这意味着,只要信任Poseidon2作为哈希函数,就可以解决高效ZK-EVM的难题。
本文将探讨这些技术的工作原理,特别关注Circle STARKs方案,这种方案与Mersenne31字段兼容。
使用小字段的常见问题
在创建基于哈希的证明时,一个重要技巧是通过多项式在随机点的评估来验证多项式性质。这大大简化了证明过程。
为防止攻击,我们需要在攻击者提供多项式后再选择随机点。在较小字段的STARKs中,可选的随机值只有约20亿个,对于坚定的攻击者来说是可行的。
解决方案有两个:
进行多次检查简单有效,但存在效率问题。扩展字段类似复数,但基于有限域。这样可以在有限域上进行更复杂的运算,提高安全性。
Regular FRI
FRI协议通过将证明多项式度数为d的问题简化为证明度数为d/2的问题,来简化验证过程。这个过程可以重复多次,每次将问题简化一半。
FRI的工作原理是重复这个简化过程。如果某个阶段的输出不是预期的多项式度数,那么这一轮的检查将失败。
为实现域的逐步减少,使用了二对一映射。这种映射允许将数据集大小减半,同时保留相同属性。
Circle FRI
Circle STARKs的巧妙之处在于,给定质数p,可以找到大小为p的群体,具有类似的二对一特性。这个群体由满足特定条件的点组成。
这些点遵循一种加法规律。从第二轮开始,映射发生变化。这个映射每次都将集合大小减半。
Circle FFTs
Circle group也支持FFT,其构造方式与FRI类似。一个关键区别是,Circle FFT处理的对象并不严格是多项式,而是Riemann-Roch空间。
作为开发者,几乎可以完全忽略这一点。STARKs只需将多项式作为评估值存储。唯一需要FFT的地方是进行低度扩展。
Quotienting
在circle group的STARK协议中,由于没有可以通过单一点的线性函数,需要采用不同技巧来替代传统商运算方法。
我们不得不通过在两个点上评估来证明,从而添加一个不需关注的虚拟点。
Vanishing polynomials
在圆形STARK中,消失多项式的相应函数是:
Z_1(x,y) = y Z_2(x,y) = x
Z_{n+1}(x,y) = (2 * Z_n(x,y)^2) - 1
Reverse bit order
在Circle STARKs中,折叠结构略有不同。为调整反向位序以反映这种折叠结构,我们需要反转除最后一位的每一位。
效率
Circle STARKs非常高效。计算通常涉及:
效率的关键是充分利用整个计算空间进行有用工作。
结论
Circle STARKs对开发者来说并不比STARKs复杂。主要区别在于上述三个问题。尽管背后数学复杂,但这种复杂性被很好地隐藏了。
结合Mersenne31、BabyBear和Binius等技术,我们正接近STARKs基础层的效率极限。未来优化方向可能包括: