Loading...
Thumbnail Image
Item

ZK-Bridge: Improving speed while maintaining programmability across zero-knowledge proof protocols

Driscoll, John
Near, Joseph
Skalka, Christian
Citations
Altmetric:
License
DOI
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.
Description
Date
2025-01-01
Journal Title
Journal ISSN
Volume Title
Publisher
Research Projects
Organizational Units
Journal Issue
Citation
DOI
Embedded videos