Skip to content

ewynx/smol_zkvm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8b6e0f4 · Mar 12, 2025

History

1 Commit
Mar 12, 2025
Mar 12, 2025
Mar 12, 2025
Mar 12, 2025
Mar 12, 2025

Repository files navigation

Smol-ZKVM using Plonky3

A tiny register-based zkVM written using Plonky3.

How it works

The VM contains 4 registers: r1, r2 and r3.

There are 4 opcodes:

  • LOAD
  • ADD
  • SUB
  • MUL

More opcodes can be added.

The trace looks like this:

r1 r2 r3 opcode destination_register input_register_1 input_register_2 value

The constraints are as follows:

  • first row: all zero.
  • if in next row: opcode == LOAD:
    • next row: destination_register must contain value, the other registers must be equal to current values
  • if in next row opcode == ADD:
    • next row: destination_register must contain addition of 2 input register values
    • next row: other registers than destination_register should be equal to current values

About

A tiny ("smol") zkVM using Plonky3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages