pywdr - building zk-VMs in Python!
Infrastructure
User Experience
Submitted by: pywdr
The problem pywdr solves
zk-VMs are among the most complex zero-knowledge circuits in deployment. powdr is a tool that greatly simplifies implementing zk-VMs by providing a powerful DSL. Our project, pywdr
, achieves the same, but utilizing the Python programming language.
pywdr
amplifies the benefits of powdr
: There is no need to learn a new programming language for both the programmer and the auditor. Furthermore, pywdr
itself is implemented in a fraction of the lines of code compared to powdr
, making it easier to maintain, extend, and audit.
Challenges you ran into
The complexities of writing parsers (for the assembly program), subtle bugs in the zk-constraints (causing witness generation to fail), and incorrect suggestions by ChatGPT.
Technology used
powdr
: We usepowdr
to process a small subset of its low-level PIL language. This gives us witness generation and proof generation :tada:powdr-py
: An earlier hackathon project by one team member, implementing the basic mechanisms to generate constraints and connect to thepowdr
stack.