arXiv · 2507.05294
zkSDK: Streamlining zero-knowledge proof development through automated trace-driven ZK-backend selection
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.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
William Law. 2025-07-05. zkSDK: Streamlining zero-knowledge proof development through automated trace-driven ZK-backend selection. https://arxiv.org/abs/2507.05294
Cite the original work for its findings. Save a collection to share your selection of sources.