Search projects, hackathons, sponsors and tech

    ← All projects

    chip0

    A zkVM targetting the CHIP-8 instruction set

    About

    The problem it solves This is a POC implementation of the [CHIP-8](https://en.wikipedia.org/wiki/CHIP-8) instruction set using STARKs. It can be a good learning resource to understand how modern zkVMs are implemented. This includes concepts like preprocessing, cross-table lookups, offline memory checking etc. It can also serve as a playground for benchmarking different proving systems.

    How it's made

    Challenges we ran into Turns out, two days are not enough to put together a zkVM from scratch. I used plonky3 to implement the underlying STARKs for the VM. Plonky3 works on small 32-bit fields, which have performance benefits. Since plonky3 is relatively new, there's not much tooling or resources to refer to, which led to some headaches during debugging. Debugging lookups was especially nasty since they work in extension fields.