MIPS32r2 在指令宽度、格式一致性和操作码稳定性上具备天然优势,更适合 zkVM 电路的确定性与高效性。 相比之下,RISC-V 的可变长度与扩展性带来更多约束复杂度和证明性能开销。
在第 1 部分中,我们阐述了 ZKM 选择 MIPS32r2 作为 zkVM 基础的架构性原因:更高的指令密度、稳定的规范以及经过硬件验证的工具链成熟度。在这篇后续文章中,我们将更深入一层——探讨 MIPS 的微架构特性如何与零知识电路设计契合,以及 RISC-V 在哪些方面引入了必须主动化解的复杂性。
在传统计算中,指令解码由硬件逻辑完成,几乎没有性能损耗。然而在 zkVM 中,指令解码逻辑必须通过算术约束来表达。每一个需要匹配、选择或转换的比特都会增加 trace 的行数和约束系统中的选择器。此处的复杂度会直接影响证明者的性能。
MIPS32r2 的设计核心是简洁性、统一性和固定格式。这些特性在 zkVM 场景下显著减少了算术负担:
这些特性使 ZK 中的指令解码具备确定性和低开销。同时也减少了对中间表示(IR)或基于查表的操作码分发系统的依赖,而这些通常是其他 zkVM 为弥补结构化不足的 ISA 所采用的方案。
RISC-V 的指令集面向硬件模块化和长期可扩展性设计。从芯片设计角度来看这是合理的,但在证明环境中却带来了额外开销:
这些挑战是可以克服的,目前已有多个 zkVM 团队在积极探索解决方案。但代价确实存在:更多的约束、更长的 trace,通常还会带来更慢的证明性能。
特性 | MIPS32r2 | RISC-V |
---|---|---|
1 指令宽度 | 固定 32 位 | 可变(16 位压缩、32 位基础、48+ 位扩展) |
2 指令格式 | 高度规则;字段位置一致 | 模块化;因扩展和编码而异 |
3 操作码熵 | 低 —— 紧凑、稳定的操作码空间 | 高 —— 许多保留/自定义槽位 |
4 扩展行为 | 稳定;无活跃扩展 | 积极扩展中(Zfinx、V、自定义操作) |
5 解码器约束复杂度 | 低 —— 针对固定位置进行比特匹配 | 高 —— 必须处理可变宽度和分支 |
6 是否需要中间表示(IR) | 不需要 | 经常需要(用于标准化操作码) |
7 选择器电路复杂度 | 低 —— 简单的选择器逻辑 | 高 —— 更宽且更具条件性的选择器 |
8 ZK 电路确定性 | 高 —— 解码逻辑确定性强 | 低 —— 解码逻辑依赖于配置 |
9 ZK 电路审计简易性 | 高 —— 操作码语义一致 | 低 —— 操作码含义可能随版本变化 |
核心原则是:零知识电路奖励确定性,惩罚可变性。指令集越结构化、越可预测,所需的门电路就越少,来保证正确性。MIPS 天然提供了这种结构性,同时不牺牲表达能力。
对基于 MIPS 的 zkVM 来说,这意味着:
这些并非理论优势,而是直接影响证明者吞吐量、内存占用以及在递归系统中的可组合性。
ZKM 的方法不仅限于 ISA 选择。我们构建整个栈——从编译器到约束系统,再到递归验证器。这使我们能够自由调优每一层,而不受外部工具链或协议不匹配的限制。
在构建可验证计算系统时,架构的简洁性会产生复合效应。它让证明生成更快、电路审计更容易、版本升级更安全。MIPS 不仅在操作码层面提供了这种简洁性,更在电路边界上延伸了这一优势。
因此,生产级 zkVM 基于 MIPS 构建,不仅因为它性能更好——更因为它验证得更好。
整体来看,MIPS 的简洁与规则性使得其在 zk 环境中更易实现低开销、高确定性的电路设计,减少中间表示和复杂逻辑的需求。RISC-V 虽然具备模块化与扩展灵活性,但在零知识证明系统中往往需要额外的处理与优化,导致证明成本更高。
订阅 ZKM 博客 以获取最新研究进展。
开始使用 ZKM: Docs
参与构建 ZKM: Github
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!