Date of Completion
2025
Document Type
Honors College Thesis
Department
Computer Science
Thesis Type
Honors College
First Advisor
Joseph Near
Second Advisor
Christian Skalka
Keywords
zero-knowledge proofs, programming languages, zero-knowledge protocols, Pico-ZK, EMP-ZK, software
Abstract
Zero-knowledge proof protocols are tools used to generate and run digital encodings of zero-knowledge proofs. These protocols may be roughly divided into front-ends and back-ends. Front-ends are more programmable but slower; back-ends are dramatically faster but difficult to work with. Little work has been done to interlink zero-knowledge front-ends and back-ends for more optimal speed while maintaining high ease of use.
We began with the Pico-ZK front-end, written purely in Python, and the EMP-ZK backend, written purely in C++. The existing Pico-ZK implementation generates an intermediate text file-like output that can be run via EMP-ZK; this produces a large speed bottleneck that we moved to eliminate. Rather than text file output, we develop a programmatic “bridge” via Cython that enables Pico-ZK to directly interface with the EMP-ZK. The resulting “ZK-Bridge” produces substantial performance benefits in several zero-knowledge processes over Pico-ZK, including raw gate generation and cryptographic tasks. The alternative paradigm of front-ends calling back-ends directly without any intermediary promises an ideal mix of performance and usability for programmers.
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.
Recommended Citation
Driscoll, John; Near, Joseph Ph. D; and Skalka, Christian Ph. D, "ZK-Bridge: Improving speed while maintaining programmability across zero-knowledge proof protocols" (2025). UVM Patrick Leahy Honors College Senior Theses. 697.
https://scholarworks.uvm.edu/hcoltheses/697