怎么样
zkmips 起作用了吗?

zkMips:分步概述
1
一个程序 用 Go 或 Rust 编写的编译成 MIPS ELF 二进制文件 文件使用 MIPS 编译器。ELF 文件是 MIPS 指令集的可执行格式。
2
使用 MIPS ELF 二进制文件加载到 MIPS 虚拟机中 ELF 装载机。
3
这个 MIPS VM 运行该程序并为 Prover 生成执行跟踪。
执行跟踪记录了正在运行的程序执行的整个操作序列。
每条指令执行后(左边的表格),我们将获得每个寄存器的值。完成所有说明后,我们将获得跟踪表(右侧表)。
4
这个 证明者 执行 MIPS 程序并使用执行跟踪生成证明。
5
生成 zkMips 证明后, 验证者合同 验证链上的证据。
zkMIPS 证明
建筑
程序和跟踪分为几个部分。
程序和跟踪分为几个部分。
这些区段分为多个模块。每个段的指令分为四个模块表:算术、逻辑、存储和控制。
明显 — 这些模块经过独立验证,并与 FRI 并行验证。这些证明是基于 FRI 的模块化证明。
登录 (STARK) — 使用 LogUP 查找协议,将上一步中的模块化证明合并为每个分段的单一证明。
PLONK — 使用延续协议以递归方式将上一层的所有分段证明合并为一个单一的延续证明。这证明了整个程序跟踪的正确性。
Groth16 — Groth16 证明范例用于通过将证明转换为对 EVM 友好的格式来实现链上计算。延续证明被转换为链上Groth16(基于SNARK的)证明。
zkMIPS 基于 MIPS32 微架构
为什么 zkMips?
任何东西都能编译成 MIPS,MIPS 编译成任何东西

稳定的设计

MIPS-R3000 指令集没有随着时间的推移而改变,因此无法频繁地重新设计 ZKP 电路。

简单

简化的操作码集可提高 ZKP 电路效率——无需频繁更改操作码或自定义指令

成熟的生态系统

MIPS 已经存在了 40 年,拥有强大的行业影响力