English

zkSDK: Streamlining zero-knowledge proof development through automated trace-driven ZK-backend selection

Software Engineering 2025-07-09 v1

Abstract

The rapid advancement of creating Zero-Knowledge (ZK) programs has led to the development of numerous tools designed to support developers. Popular options include being able to write in general-purpose programming languages like Rust from Risc Zero. Other languages exist like Circom, Lib-snark, and Cairo. However, developers entering the ZK space are faced with many different ZK backends to choose from, leading to a steep learning curve and a fragmented developer experience across different platforms. As a result, many developers tend to select a single ZK backend and remain tied to it. This thesis introduces zkSDK, a modular framework that streamlines ZK application development by abstracting the backend complexities. At the core of zkSDK is Presto, a custom Python-like programming language that enables the profiling and analysis of a program to assess its computational workload intensity. Combined with user-defined criteria, zkSDK employs a dynamic selection algorithm to automatically choose the optimal ZK-proving backend. Through an in-depth analysis and evaluation of real-world workloads, we demonstrate that zkSDK effectively selects the best-suited backend from a set of supported ZK backends, delivering a seamless and user-friendly development experience.

Keywords

Cite

@article{arxiv.2507.05294,
  title  = {zkSDK: Streamlining zero-knowledge proof development through automated trace-driven ZK-backend selection},
  author = {William Law},
  journal= {arXiv preprint arXiv:2507.05294},
  year   = {2025}
}

Comments

undergrad thesis

R2 v1 2026-07-01T03:50:02.489Z