zkVM

zkVM

Fully functional zkVM that you can learn in one afternoon!

zkVM

zkVM

Fully functional zkVM that you can learn in one afternoon!

The problem zkVM solves

zkVM is always such a BIG BLACK BOX where only a number of well-established protocols really know how it works, while normies just give up on reading 10k lines of those codes and numerous interacting components to understand it.

We use a high-level zk language like Noir to write the zkVM circuit and build components (DSL, DAPP, verifier smart contract, and interactive frontend) to make it easier for normies to visualize the program and understand the fundamental concept of the zkVM.

We ship 2 VMs: Turing zero and Type-5 ZKEVM.

Turing Zero is a zk circuit simulating a simple Turing machine. We also built an interactive frontend that allows users to write a simple DSL that dictates how that Turing machine runs. Last but not least, we provide a few simple on-chain puzzle games for users to play and PROVE that they can write a program that can solve the challenge without showing the actual program itself.

Type-5 zkEVM is a simplified EVM that captures important concepts like state transition proof, opcodes, etc. Users can easily add/modify opcodes or VM behaviour due to our small, easily-read codebase. We also built a frontend that shows how each of our opcode runs, while showing in the circuit code itself that we can write and generate proof for a simple P2P lending example (deposit, borrow, return function)

Challenges we ran into

Building TWO zkVMs in a weekend is a challenge in itself.

-Require deep understanding of machine: Turing machine and EVM itself

-Our zkVM is not solidity compatible, so we need to write our own "bytecode"

-Design decision how much detailed we should write our machine: ease of readability while still showing important concepts

-Hard to visualize these complicated concepts, and make it interactive

-Although we use high-level zk language like Noir, its error is not clear, hence hard to debug.

-Tons of work stiching many components to get full app: interactive, yet can create zk proof.

-The food, cats, and the venue are too BEAUTIFUL, pretty distracting 😛

Tracks Applied (2)

Scroll - ZK dapp Track

We've deployed and verified our smart contract on Scroll: Puzzle (Main Contract): https://sepolia.scrollscan.dev/address...Read More

Scroll

ZK dApp on Mantle

We've deployed and verified our smart contract on Mantle: Puzzle (Main Contract): https://explorer.testnet.mantle.xyz/ad...Read More

Mantle Network

Discussion