Why ZKM Chose MIPS32r2 Over RISC-V (Part 2): Microarchitectural Simplicity and Constraint Efficiency
Share on

In Part 1, we laid out the architectural reasons ZKM selected MIPS32r2 as the foundation for our zkVM: higher opcode density, stable specification, and hardware-proven toolchain maturity. In this follow-up, we go a level deeper - exploring how microarchitectural traits of MIPS align with zero-knowledge circuit design, and where RISC-V introduces complexity that must be actively mitigated.

Instruction Decode in ZK: Why It Matters

In traditional computing, instruction decoding is handled by hardware logic with virtually no performance penalty. In a zkVM, however, instruction decode logic must be expressed as arithmetic constraints. Every bit that must be matched, selected, or transformed adds rows to the trace and selectors to the constraint system. Complexity here directly impacts prover performance.

MIPS: Regularity and Flatness by Design

MIPS32r2 was designed around simplicity, uniformity, and fixed formats. These traits directly reduce the arithmetic burden in zkVM contexts:

  • Fixed Instruction Width: All MIPS32r2 instructions are 32 bits wide, eliminating the need to handle variable-length decodes. In ZK, this means simpler constraints for the instruction fetch and decode stages.
  • Field Predictability: MIPS instructions follow a consistent field layout (opcode, source/dest registers, function codes). Constraint systems can index and match against fixed bit positions without dynamic branching or lookup-based disambiguation.
  • Compact Opcode Space: MIPS has a limited, stable set of core opcodes. Lower encoding entropy leads to simpler constraint selectors - avoiding long selector chains or wide matching logic.

These traits enable deterministic, low-overhead instruction decoding in ZK. They also reduce the need for intermediate representations (IR) or lookup-based opcode dispatch systems, which are often used in other zkVMs to compensate for less structured ISAs.

RISC-V: Modularity Comes at a Cost

RISC-V’s instruction set was designed for hardware modularity and long-term extensibility. While this makes sense for silicon-level design, it creates overhead in a proving context:

  • Variable-Length Instructions: RISC-V supports compressed 16-bit instructions, standard 32-bit, and longer encodings for future extensions. This increases constraint complexity during the decode phase, since the VM must match and interpret variable widths.
  • Dynamic Extension Surface: Optional extensions or custom opcodes mean the decoder logic must be generalized and open-ended - introducing conditional constraint logic or requiring preprocessing through IR.
  • Higher Entropy: RISC-V’s opcode space includes many reserved or vendor-defined slots. In ZK, this means wider selectors and more circuit branching unless the architecture is tightly constrained.

These challenges are surmountable, and several zkVM teams are actively working around them. But the cost is real: more constraints, more trace length, and often, slower proving performance.

ZK Circuits Reward Determinism

The guiding principle here is that zero-knowledge circuits reward determinism and punish variability. The more structured and predictable the instruction set, the fewer gates are needed to enforce correctness. MIPS delivers that structure natively, without sacrificing expressiveness.

For a MIPS-based zkVM, this translates to:

  • Shorter decode logic per instruction
  • Fewer selector constraints
  • Lower trace width and length
  • No need for IR expansion or dynamic dispatch circuits

These aren’t theoretical advantages. They impact prover throughput, memory footprint, and composability when integrated into recursive systems.

Beyond the ISA: Full-Stack Control

ZKM’s approach isn’t limited to ISA choice. We build the entire stack - from compiler to constraint system to recursive verifier. That gives us freedom to tune each layer without being constrained by external toolchains or protocol mismatches.

When building verifiable compute systems, architectural simplicity compounds. It makes proof generation faster, circuit auditing easier, and version upgrades safer. MIPS gives us that simplicity not just at the opcode level, but at the circuit boundary.

This is why our production-ready zkVM is built on MIPS. Not just because it performs better - but because it verifies better.

Subscribe to the ZKM Blog to stay updated with the latest research by ZKM.

Get started with ZKM: Docs

Build with ZKM: Github  

More articles
以太坊扩容后的生活
在我们讨论混合汇总技术之路的文章中,我们谈到了以太坊扩容斗争的演变。在那次讨论中,我们看到了一个优雅而实用的解决方案是如何最终出现的:分层的区块链设计,将第 1 层作为主链,仅处理共识和数据可用性,第 2 层作为汇总,为所有区块链用户提供卸载的计算验证,从而创建可扩展的区块链解决方案。
Jolt 和 Lasso:构建 zkVM 的新方法
使用 zkMIPS,客户可以外包使用 MIPS 指令集编写的程序,让它执行,除了获得结果外,还可以获得易于验证的证据,证明该结果是正确的。创建此证明的软件组件称为 zkVM。
Why ZKM Chose MIPS32r2 Over RISC-V (Part 2): Microarchitectural Simplicity and Constraint Efficiency

In Part 1, we laid out the architectural reasons ZKM selected MIPS32r2 as the foundation for our zkVM: higher opcode density, stable specification, and hardware-proven toolchain maturity. In this follow-up, we go a level deeper - exploring how microarchitectural traits of MIPS align with zero-knowledge circuit design, and where RISC-V introduces complexity that must be actively mitigated.

Instruction Decode in ZK: Why It Matters

In traditional computing, instruction decoding is handled by hardware logic with virtually no performance penalty. In a zkVM, however, instruction decode logic must be expressed as arithmetic constraints. Every bit that must be matched, selected, or transformed adds rows to the trace and selectors to the constraint system. Complexity here directly impacts prover performance.

MIPS: Regularity and Flatness by Design

MIPS32r2 was designed around simplicity, uniformity, and fixed formats. These traits directly reduce the arithmetic burden in zkVM contexts:

  • Fixed Instruction Width: All MIPS32r2 instructions are 32 bits wide, eliminating the need to handle variable-length decodes. In ZK, this means simpler constraints for the instruction fetch and decode stages.
  • Field Predictability: MIPS instructions follow a consistent field layout (opcode, source/dest registers, function codes). Constraint systems can index and match against fixed bit positions without dynamic branching or lookup-based disambiguation.
  • Compact Opcode Space: MIPS has a limited, stable set of core opcodes. Lower encoding entropy leads to simpler constraint selectors - avoiding long selector chains or wide matching logic.

These traits enable deterministic, low-overhead instruction decoding in ZK. They also reduce the need for intermediate representations (IR) or lookup-based opcode dispatch systems, which are often used in other zkVMs to compensate for less structured ISAs.

RISC-V: Modularity Comes at a Cost

RISC-V’s instruction set was designed for hardware modularity and long-term extensibility. While this makes sense for silicon-level design, it creates overhead in a proving context:

  • Variable-Length Instructions: RISC-V supports compressed 16-bit instructions, standard 32-bit, and longer encodings for future extensions. This increases constraint complexity during the decode phase, since the VM must match and interpret variable widths.
  • Dynamic Extension Surface: Optional extensions or custom opcodes mean the decoder logic must be generalized and open-ended - introducing conditional constraint logic or requiring preprocessing through IR.
  • Higher Entropy: RISC-V’s opcode space includes many reserved or vendor-defined slots. In ZK, this means wider selectors and more circuit branching unless the architecture is tightly constrained.

These challenges are surmountable, and several zkVM teams are actively working around them. But the cost is real: more constraints, more trace length, and often, slower proving performance.

ZK Circuits Reward Determinism

The guiding principle here is that zero-knowledge circuits reward determinism and punish variability. The more structured and predictable the instruction set, the fewer gates are needed to enforce correctness. MIPS delivers that structure natively, without sacrificing expressiveness.

For a MIPS-based zkVM, this translates to:

  • Shorter decode logic per instruction
  • Fewer selector constraints
  • Lower trace width and length
  • No need for IR expansion or dynamic dispatch circuits

These aren’t theoretical advantages. They impact prover throughput, memory footprint, and composability when integrated into recursive systems.

Beyond the ISA: Full-Stack Control

ZKM’s approach isn’t limited to ISA choice. We build the entire stack - from compiler to constraint system to recursive verifier. That gives us freedom to tune each layer without being constrained by external toolchains or protocol mismatches.

When building verifiable compute systems, architectural simplicity compounds. It makes proof generation faster, circuit auditing easier, and version upgrades safer. MIPS gives us that simplicity not just at the opcode level, but at the circuit boundary.

This is why our production-ready zkVM is built on MIPS. Not just because it performs better - but because it verifies better.

Subscribe to the ZKM Blog to stay updated with the latest research by ZKM.

Get started with ZKM: Docs

Build with ZKM: Github