zkMIPS: A High-Level Specification

Share on

Here, we announce the publication of the latest paper from ZKM Research: ‘zkMIPS: A High-Level Specification’. This substantial update of the previous version corrects the discrepancies between the original documentation and the present state of the zkMIPS codebase, providing a more accurate foundation of information to aid the ZKM developer community with their contributions.

zkMIPS is a novel zkVM designed around the MIPS instruction set and processor architecture to generate succinct proofs of computational integrity. Utilizing the Plonky2 system, this design ensures that any program compiled to MIPS can be verified for correctness either on or off the blockchain. Each part of the program is verified in segments that are proved in modules. Each module is proved using STARK, and the module proofs are joined using LogUp. The resulting segment proofs are then recursively combined using PLONK to produce a single, constant-size proof for the correctness of the entire program.

If the final PLONK proof is meant to be verified on chain, it can be compiled to an EVM friendly proof using Groth16. This layered scheme is explained in the paper and is illustrated below.

The full ‘zkMIPS: A High-Level Specification’ paper can be accessed here: zkMIPs: a high-level specification

ZKM Research is committed to advancing cryptographic-based technologies, particularly specializing in proving systems for verifiable computation. As zkMIPS continues to evolve, continuous documentational updates will be required and ZKM Research invites the global development community to collaborate in refining this fundamental work.
We highly value your feedback and encourage participation through discussions on our Discord server: discord.com/channels/1125877344972849232/1246097911239016509. We also invite contributions to the zkMIPS GitHub: github.com/zkMIPS

More articles
Getting to Know zkMIPS Proving Architecture
TL;DR: zkMIPS proves the correct execution of a MIPS program in five steps: it (1) divides the program in segments, (2) divides the instructions of each segment in four module tables, (3) proves instructions from each module table independently, (4) proves instructions from each segment is contained in one of its tables, and (5) recursively proves that the sequence of segment match the program execution. Step 3 is written as a STARK, step 4 is a logUp proof written as a STARK, and step 5 as a PLONK proof. All proof steps are implemented with the Plonky2 library. Optionally, one can generate a final Groth16 proof to verify the program execution on-chain.
zkMIPS 1.0: Benchmarking the Fastest zkVM on CPU
Until recently, many zkVMs have remained experimental, slow, and costly to run at scale. With the release of zkMIPS 1.0, a supremely performant production-grade zkVM, ZKM aims to change that.
zkMIPS: A High-Level Specification

Here, we announce the publication of the latest paper from ZKM Research: ‘zkMIPS: A High-Level Specification’. This substantial update of the previous version corrects the discrepancies between the original documentation and the present state of the zkMIPS codebase, providing a more accurate foundation of information to aid the ZKM developer community with their contributions.

zkMIPS is a novel zkVM designed around the MIPS instruction set and processor architecture to generate succinct proofs of computational integrity. Utilizing the Plonky2 system, this design ensures that any program compiled to MIPS can be verified for correctness either on or off the blockchain. Each part of the program is verified in segments that are proved in modules. Each module is proved using STARK, and the module proofs are joined using LogUp. The resulting segment proofs are then recursively combined using PLONK to produce a single, constant-size proof for the correctness of the entire program.

If the final PLONK proof is meant to be verified on chain, it can be compiled to an EVM friendly proof using Groth16. This layered scheme is explained in the paper and is illustrated below.

The full ‘zkMIPS: A High-Level Specification’ paper can be accessed here: zkMIPs: a high-level specification

ZKM Research is committed to advancing cryptographic-based technologies, particularly specializing in proving systems for verifiable computation. As zkMIPS continues to evolve, continuous documentational updates will be required and ZKM Research invites the global development community to collaborate in refining this fundamental work.
We highly value your feedback and encourage participation through discussions on our Discord server: discord.com/channels/1125877344972849232/1246097911239016509. We also invite contributions to the zkMIPS GitHub: github.com/zkMIPS