zkMIPS / zkm

The universal zkVM empowering Ethereum as the Global Settlement Layer
https://zkm.io
MIT License
101 stars 50 forks source link
mips verifiable-computing zkp zkvm

zkmreadme

Table of Contents

There are two ways to prove the program:

Instructions Per Segment RAM
32768 13G
65536 19G
262144 27G

Please note that in order to run an ZKM Prover that is competitive, the machine will need more than these requirements.

2.1.1 Local Proving Guide

An end-to-end example has been presented in examples.

2.2 Network Proving

[!NOTE] The proving network is demo at present. The production version is coming soon.

Requirements

  • CA certificate: ca.pem, ca.key
  • Register in the https://www.zkm.io/apply (Let your public key be in the whitelist)
  • Set up a local node for some blockchain(eg, sepolia)

    2.2.1 Network Proving Guide

    An end-to-end example has been presented in examples.

    3. ZKM Project Template

    A project template to facilitate creating an end-to-end ZKM project which can generate the EVM-Compatible proof and the on chain verification contract. ZKM Project Template

    4. FAQs

    1. My node is unable to compile.

  • Ensure your machine has Rust v1.66+ installed. Instructions to install Rust can be found here.
  • If large errors appear during compilation, try running cargo clean.
  • Ensure zkMIPS is started using ./run-client.sh or ./run-prover.sh.

    5. Contributors

    This project follows the all-contributors specification. Any kind of external contributions are encouraged and welcomed!

General guidance for your PR

In the PR description, please clearly but briefly describe

  1. what the feature does
  2. the approach taken to implement it
  3. All PRs for new features must include a suitable test suite.
  4. The PR improves performance

To help filter out false positives, the PR description for a performance improvement must clearly identify

  1. the target bottleneck (only one per PR to avoid confusing things!)
  2. how performance is measured
  3. characteristics of the machine used (CPU, OS, #threads if appropriate) performance before and after the PR

    6. Licenses

    The ZKM is distributed under the terms of MIT license.

    7. Security

    This code has not yet been audited, and should not be used in any production systems.