一句话:提出全流水线 GPU 加速系统,批量生成零知识证明,吞吐量提升超 259.5 倍。
零知识证明生成需求随区块链和可验证机器学习增长而激增,但现有 GPU 加速系统主要优化单条证明的延迟,未针对批量生成的高吞吐场景。本文提出 BatchZK,一个全流水线 GPU 加速系统:让每个 GPU 线程持续执行指定证明生成任务以避免空闲,支持 sum-check 协议、Merkle 树和线性时间编码器等高效 ZKP 计算模块并定制适配流水线,同时采用动态数据加载降低设备内存占用,并通过多流技术重叠数据传输与 GPU 计算。系统在多种 GPU 上评估,吞吐量相比 SOTA GPU 系统提升 259.5 倍以上;在可验证机器学习应用中达到每秒 9.52 条证明,首次实现亚秒级证明生成。
Zero-knowledge proof (ZKP) is a cryptographic primitive that enables one party to prove the validity of a statement to other parties without disclosing any secret information. With its widespread adoption in applications such as blockchain and verifiable machine learning, the demand for generating zero-knowledge proofs has increased dramatically. In recent years, considerable efforts have been directed toward developing GPU-accelerated systems for proof generation. However, these previous systems only explored efficiently generating a single proof by reducing latency rather than batch generation to provide high throughput. We propose a fully pipelined GPU-accelerated system for batch generation of zero-knowledge proofs. Our system has three features to improve throughput. First, we design a pipelined approach that enables each GPU thread to continuously execute its designated proof generation task without being idle. Second, our system supports recent efficient ZKP protocols with their computational modules: sum-check protocol, Merkle tree, and linear-time encoder. We customize these modules to fit our pipelined execution. Third, we adopt a dynamic loading method for the data required for proof generation, reducing the required device memory. Moreover, multi-stream technology enables the overlap of data transfers and GPU computations, reducing overhead caused by data exchanges between host and device memory. We implement our system and evaluate it on various GPU cards. The results show that our system achieves more than 259.5× higher throughput compared to state-of-the-art GPU-accelerated systems. Moreover, we deploy our system in the verifiable machine learning application, where our system generates 9.52 proofs per second, successfully achieving sub-second proof generation for the first time in this field.
@inproceedings{LuCWWCZ24,
title = {BatchZK: A Fully Pipelined GPU-Accelerated System for Batch Generation of Zero-Knowledge Proofs},
author = {Tao Lu and Yuxun Chen and Zonghui Wang and Xiaohang Wang and Wenzhi Chen and Jiaheng Zhang},
booktitle = {ASPLOS},
year = {2025},
doi = {10.1145/3669940.3707270}
}