Polygon MidenVM中的recursive STARK verification优化

news2025/4/19 16:13:40

1. 引言

本文主要参考Bobbin Threadbare 2023年9月在ZK Summit 10上的分享 ZK10: Optimizing recursive STARK verification in Polygon Miden VM - Bobbin Threadbare。

本文基本内容框架为:

  • STARK递归方法
  • Miden需求及目标
  • 递归verifier开销
  • Miden VM优化措施
  • 结果及结论

2. STARK递归方法

STARK递归方法:

  • 1)专用电路:以 N N N个programs为例,其可以是同一big program切分chunks而来,也可以是完全独立的program。基于STARK的zkVM,会为这 N N N个program中的每个都生成proof,然后将各个proofs汇总为单个proof。由于本方案中采用的是专用电路,因此递归证明聚合也是由专用电路实现的。
    在这里插入图片描述
  • 2)单一相同电路:以 N N N个programs为例,与上面的专用电路不同之处在于,采用相同的VM电路来聚合proofs。即执行相同的VM,具有相同的VM逻辑。原因在于VM自身很强大,可执行程序,并生成相应程序执行的proof并验证该proof。因此可使用相同的逻辑,而不需要专用电路。
    在这里插入图片描述

以上2种STARK递归方法各有优劣:

专用电路单一相同电路
灵活性有限
设计复杂度中等
审计多个电路单个电路
性能取决于所使用的指令集

在这里插入图片描述

3. Miden需求及目标

Miden rollup的需求为:

  • Single VM approach:因为聚合证明包含non-trivial additional logic。即,采用相同的VM来执行程序、聚合证明。
  • proof安全级别为100位:当前的参数为:
    • 8倍blowup factor
    • 27个queries
    • 16 bits of grinding
  • 相对小的计算:大多数“leaf” programs期望的cycle数为 2 12 2^{12} 212 2 22 2^{22} 222

Miden rollup希望达成的目标为:

  • 在消费级硬件上:生成2-to-1 recursive proof,用时在1到2秒。这里的消费级硬件,是指笔记本,而不是手机。
  • 在定制化硬件上:生成16-to-1 recursive proof,用时在1到2秒。这里的定制化硬件,不是ASIC或FPGA,而是指具有一两个GPU的强处理器。

2 17 2^{17} 217个cycles计算为例,当前Miden VM性能为:
在这里插入图片描述
Miden rollup期望实现的recursive threshold为:

  • < 2 16 <2^{16} <216个cycles,来验证a Miden VM execution proof。

4. 递归verifier开销

Miden VM架构为:
在这里插入图片描述
上图看起来像Miden VM的trace layout,为基于STARK的系统。
其中最主要的2个元素为:

  • 1)Main processor(Operand stack 19 columns):相当于会为每条指令添加一行到trace中。
    在这里插入图片描述
  • 2)Chiplets:
    • 处理专用计算
    • 每条指令有多行
    • 可供main processor并行运行
    • Hash chiplet:每个RPO permutation有8行
      在这里插入图片描述

Miden VM的cost模型为:可将Recursive verifier costs分为2大部分:

  • 1)哈希开销:如Merkle path verification,以及PRF。
    在这里插入图片描述
  • 2)其它开销:如constraint evaluation、DEEP composition等等。

5. Miden VM优化措施

STARK verifier组件有:

  • 1)Verifying trace and constraint commitments。
  • 2)Loading OOD frame and evaluations。
  • 3)Evaluating AIR constraints at OOD point。
  • 4)Generating random composition coefficients。
  • 5)Computing DEEP composition polynomial。
  • 6)FRI verification。

其中3)5)6)为STARK verifier的主要瓶颈。

5.1 FRI verification优化

在这里插入图片描述
在FRI verification过程中:

  • 1)需验证每层都fold正确:即需确定最优的folding factor是多少?
    • 1.1)验证每层folding正确的挑战在于:
      • 大量算术运算是在扩域的。
      • folding factor越高,这种算术运算越复杂,但fold的层数越少。
        每层folding对应约1万个cycles。
    • 1.2)验证每层folding正确的优化措施有:
      • 为扩域乘法引入新的指令:EXT2MUL
      • 为folding a single point with folding factor 4 4 4引入新的指令:FRIE2F4。如原来需要100个cycle,现在只需要一个cycle。
        优化后,每层folding对应约300个cycles。
  • 2)需验证remainder为某bounded-degree多项式:即需确定最优的remainder多项式degree是多少?
    • 2.1)验证remainder的常规方式为:

      • 采用NTT将remainder插值为某多项式。
      • 检查该多项式的degree。

      在Miden VM中,做以上验证remainder的常规方式是非常昂贵的。

    • 2.2)验证remainder的优化方式为:

      • 在Miden VM之外运行NTT。
      • 以non-deterministically方式,将所插值多项式提供给Miden VM。
      • 使用barycentric evaluation,在Miden VM内验证外部所做NTT的正确性。
        优化后,对于degree < 8 <8 <8的remainder,可 以小于3000个cycles进行验证。

5.2 DEEP composition优化

计算DEEP composition多项式对应如下公式:
Y ( x ) = ∑ i = 0 k ( α i ⋅ T i ( x ) − T i ( z ) x − z + β i ⋅ T i ( x ) − T i ( z ⋅ g ) x − z ⋅ g + γ i ⋅ T i ( x ) − T i ( z ˉ ) x − z ˉ ) + ∑ j = 0 m δ ⋅ H j ( x ) − H j ( z m ) x − z m Y(x)=\sum_{i=0}^{k}(\alpha_i\cdot \frac{T_i(x)-T_i(z)}{x-z}+\beta_i\cdot \frac{T_i(x)-T_i(z\cdot g)}{x-z\cdot g}+\gamma_i\cdot \frac{T_i(x)-T_i(\bar{z})}{x-\bar{z}})+\sum_{j=0}^{m}\delta\cdot \frac{H_j(x)-H_j(z^m)}{x-z^m} Y(x)=i=0k(αixzTi(x)Ti(z)+βixzgTi(x)Ti(zg)+γixzˉTi(x)Ti(zˉ))+j=0mδxzmHj(x)Hj(zm)

该计算存在如下调整:

  • 在基域和扩域有大量算术计算。
  • 需跟踪大量遍历
  • 需要大量随机值

DEEP composition多项式计算在Miden VM中非常昂贵。相应的优化策略为:

  • 1)移除对trace polynomials的conjugate(共轭) check。
  • 2)移除对constraint polynomials的degree adjustment factors。
  • 3)减少了所需的随机值数量。
  • 4)为增加linear combination术语,引入2个新指令:RCOMB1和RCOMB2。如原来需20-40 cycle,现在仅需1个cycle。

5.3 AIR constraint evaluation at OOD point优化

当前Miden VM正在对AIR constraint evaluation at OOD point进行优化。

Evaluating AIR constraints at OOD point的挑战在于:

  • 1)constraint evaluation logic需写在Miden assembly中:这不仅充满挑战,且难于维护。
  • 2)constraints仍在进化中。如降低trace columns数量,在Miden assembly中修改约束很难,而跟踪这些修改更难。

相应的解决方案为:【方案正在处理中,未完成】

  • 1)在AirScript中写Miden约束。
  • 2)使用AirScript Miden Assembly backend来输出优化后的constraint evaluation code。

AirScript架构为:
在这里插入图片描述

6. 结果及结论

经以上优化后的结果为:
在这里插入图片描述
即,若想以 < 2 16 <2^{16} <216个cycles完成proof验证,则当且仅当,constraint valuation < 30 K <30K <30K个cycles。当前优化后所需的约束cycles数为36.7K,进一步优化是有可能满足要求的。
在这里插入图片描述

参考资料

[1] Bobbin Threadbare 2023年9月在ZK Summit 10上的分享 ZK10: Optimizing recursive STARK verification in Polygon Miden VM - Bobbin Threadbare
[2] 2022年8月ethresearch讨论 Miden VM v0.2: new VM architecture for a zk-rollup

Miden系列博客

  • zk、zkVM、zkEVM及其未来
  • Polygon L2扩容方案揭秘
  • 混合Rollup:探秘 Metis、Fraxchain、Aztec、Miden和Ola
  • Polygon Miden:扩展以太坊功能集的ZK-optimized rollup
  • Polygon Miden zkRollup中的UTXO+账户混合状态模型
  • Polygon Miden交易模型:Actor模式 + ZKP => 并行 + 隐私
  • Polygon Mide状态模型:解决状态膨胀,而不牺牲隐私和去中心化
  • Polygon Miden中的nullifier sets设计

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1159330.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv7优化:独家创新(SC_C_Detect)检测头结构创新,实现涨点 | 检测头新颖创新系列

💡💡💡本文独家改进:独家创新(SC_C_Detect)检测头结构创新,适合科研创新度十足,强烈推荐 SC_C_Detect | 亲测在多个数据集能够实现大幅涨点 收录: YOLOv7高阶自研专栏介绍: http://t.csdnimg.cn/tYI0c ✨✨✨前沿最新计算机顶会复现 🚀🚀🚀YOLOv7自研…

JS加密/解密之XX数据后台列表JS加密

目标地址 ZHkuZmVpZ3VhLmNu 需求 老朋友联系到我&#xff0c;希望能自己做一个方便读取的小工具给公司内部用&#xff0c;承诺绝不外传。但是获取接口数据的最后一步遇到了问题&#xff0c;响应回来的数据做了大量加密&#xff0c;无法识别。 代码分析 该站代码做了大量的…

MS-VS C# 简单开发记录(GUI)1 -从一个菜单点击打开新窗口

前言&#xff1a; C# 的使用&#xff0c;似乎在机器视觉的集成项目里面变得越来越多了&#xff0c;笔者无奈的熟悉起来这个环境&#xff0c;不过&#xff0c;据说&#xff0c;如果做界面的设计&#xff0c;C#的使用是异常方便的&#xff0c;有的不行了&#xff0c;做几个实例看…

如何在Linux命令行界面愉快进行性能测试?

本人在做性能测试的过程中&#xff0c;遇到一个问题&#xff0c;测试机选了一台Linux服务器&#xff0c;只有命令行界面。执行测试用例不是非常的灵活&#xff0c;有时候我需要改一两个参数添加一些日志&#xff0c;都需要重新打包部署&#xff0c;虽然自动化构建比较方便&…

坚持#第420天~阿里云轻量服务器内存受AliYunDunMonito影响占用解决方法

阿里云轻量服务器内存受AliYunDunMonito影响占用解决方法&#xff0c;亲测有效&#xff1a; Mobax好卡啊&#xff0c;那就直接在阿里云后台操作即可&#xff0c;阿里云后台也可以上传文件。 Navicat mysql好卡啊&#xff0c;那就直接在阿里云后台最上面帮助的右边有个数据库&…

vscode插件安装

Error Lens错误提示 One Dark Pro代码颜色主题

区块链与教育:颠覆传统,引领未来

区块链与教育&#xff1a;颠覆传统&#xff0c;引领未来 摘要&#xff1a;本文将探讨区块链技术在教育领域的应用及其潜在影响。通过介绍区块链技术的基本原理、教育领域的现状&#xff0c;以及区块链技术在教育中的实际应用案例&#xff0c;我们将展望一个去中心化、安全可信…

NI-9219 100 S/s/ch国产化4通道C系列通用多功能模拟输入模块,支持多种传感器

100 S/s/ch&#xff0c;4通道C系列通用模拟输入模块 NI-9219专为多功能测试而设计。NI-9219可用于测量来自多种传感器&#xff08;如应变计&#xff0c;电阻温度检测器(RTD)&#xff0c;热电偶&#xff0c;测压元件和其他有源传感器等&#xff09;的信号&#xff0c;以及制作1…

如何确认目标期刊被SCI或EI收录?

原创内容&#xff0c;仅供参考&#xff0c;欢迎大家批评指正&#xff01; 目录 通过Web of Science查询SCI期刊1. 登录Web of Science2. 查找目标期刊3. 查看期刊信息 通过Scopus查询EI期刊1. 登录Scopus2. 查找目标期刊3. 查看期刊信息 参考 通过Web of Science查询SCI期刊 1…

518年会抽奖软件,支持超高的照片滚动速度

518抽奖软件简介 518抽奖软件&#xff0c;518我要发&#xff0c;超好用的年会抽奖软件&#xff0c;简约设计风格。 包含文字号码抽奖、照片抽奖两种模式&#xff0c;支持姓名抽奖、号码抽奖、数字抽奖、照片抽奖。(www.518cj.net) 照片缓存&#xff0c;支持高速滚动 1. 支持…

05 # 手写 bind

bind 干了什么&#xff1f; 改变 this 指向没有让函数执行&#xff0c;返回一个改变 this 指向后的函数 bind 难点在于参数的收集 手写 bind 简单实现如下&#xff1a; <script>Function.prototype.kaimoBind function (content) {// 获取到 bind 里的剩余参数let …

「软件设计师」 2023年上半年上午真题解析

「软件设计师」 2023年上半年上午真题解析 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是需要细心准备的 &…

echarts的图表立体感——实现立体柱状图和立体饼图的详细教程

&#x1f602;博主&#xff1a;小猫娃来啦 &#x1f602;文章核心&#xff1a;使用echarts实现立体柱状图和立体饼图的详细教程 文章目录 简单介绍立体柱状图和立体饼图环境配置实现立体柱状图实现立体饼图总结 简单介绍立体柱状图和立体饼图 立体柱状图和立体饼图是数据可视化…

MySQL Error 1215: Cannot add foreign key constraint

首先确保中介表中被设置外键的字段不能被设置为主键 第二步确保外键字段的属性与要连接的表的字段属性相同 第三步&#xff0c;设置表的选项 修改引擎为 InnoDB 三个表的引擎都要修改 最后就是运行代码 SET OLD_FOREIGN_KEY_CHECKSFOREIGN_KEY_CHECKS; SET FOREIGN_KEY_…

Python之循环语句

循环普遍存在于日常生活中&#xff0c;同样&#xff0c;在程序中&#xff0c;循环功能也是至关重要的基础功能。 循环在程序中同判断一样&#xff0c;也是广泛存在的&#xff0c;是非常多功能实现的基础 while循环的基础语法 生活中的循环 程序中的循环 只要条件满足 会无限循…

6-2 二叉树求结点数 分数 10

int NodeCountOfBiTree(BiTree T) {if (T nullptr)return 0;return 1 NodeCountOfBiTree(T->lchild) NodeCountOfBiTree(T->rchild); }

亚马逊卖家有必要自己养号?

亚马逊是非常注重用户体验的跨境电商平台&#xff0c;所以亚马逊的用户评论和点星对店铺权重的提升非常高&#xff0c;平台对评论的审核也极度严格 可以毫不夸张的说&#xff0c;在亚马逊平台上&#xff0c;用户的点星和评论是决定listing生死的关键因素 如果用户好评多&…

面试官:说一下你工作中发现的最有价值的bug

这个问题&#xff0c;基本95%的面试都会遇到。究竟面试官想要知道什么呢&#xff1f;让我们回到这个面试场景来看看。 “说一下你印象最深的bug" 你的脑子里拼命的回想过去遇到的印象深刻或有价值的bug。 “我就是做测试的&#xff0c;每天那么多bug&#xff0c;累计下…

10.31日模拟赛总结

文章目录 考试时间及策略考试结果考试反思题解A.进步科学B.吉吉没急C.老杰克哒D.季积晓淆 考试时间及策略 没啥好说的&#xff0c;因为好像都不会。所以全场感觉都在罚坐&#xff0c;很痛苦。 考试结果 30 0 50 5 85 考试反思 T1&#xff1a;T1是个神奇状压&#xff0…

友思特分享|不用3D点云,如何实现精准的物体识别与抓取?

摘要 面对技术变革的挑战&#xff0c;友思特 IDS相机以其卓越的图像识别和高速处理技术&#xff0c;为制造业提供了前沿的自动化解决方案。即使在复杂的光线条件下&#xff0c;友思特 IDS相机也始终保持稳定高效的表现。选择友思特&#xff0c;让您的生产力迈向更高峰&#xf…