Zero-Knowledge Proofs (ZKPs) have emerged as an important cryptographic technique allowing one party (prover) to prove the correctness of a statement to some other party (verifier) and nothing else. ZKPs give rise to user's privacy in many applications such as blockchains, digital voting, and machine learning. Traditionally, ZKPs suffered from poor scalability but recently, a sub-class of ZKPs known as Zero-knowledge Succinct Non-interactive ARgument of Knowledges (zk-SNARKs) have addressed this challenge. They are getting significant attention and are being implemented by many public libraries. In this paper, we present a novel scalable architecture that is suitable for accelerating the zk-SNARK prover compute on FPGAs. We focus on the multi-scalar multiplication (MSM) that accounts for the majority of computation time spent in zk-SNARK systems. The MSM calculations extensive rely on modular arithmetic so highly optimized Intel IP Libraries for modular arithmetic are used. The proposed architecture exploits the parallelism inherent to MSM and is implemented using the Intel OneAPI framework for FPGAs. Our implementation runs 110x-150x faster compared to reference software library, uses a generic curve form in Jacobian coordinates and is the first to report FPGA hardware acceleration results for BLS12-381 and BN128 family of elliptic curves.
翻译:零知识证明(ZKPs)已成为一种重要的密码学技术,它允许一方(证明者)向另一方(验证者)证明某个陈述的正确性,而无需透露任何其他信息。ZKPs在区块链、数字投票和机器学习等众多应用中保障了用户的隐私。传统上,ZKPs的可扩展性较差,但最近,一类被称为零知识简洁非交互式知识论证(zk-SNARKs)的ZKPs子类解决了这一挑战。它们正受到广泛关注,并被许多公共库所实现。本文提出了一种新颖的可扩展架构,适用于在FPGA上加速zk-SNARK证明者的计算。我们重点关注占zk-SNARK系统大部分计算时间的多标量乘法(MSM)。MSM计算广泛依赖于模运算,因此采用了针对模运算高度优化的英特尔IP库。所提出的架构充分利用了MSM固有的并行性,并使用英特尔OneAPI for FPGAs框架实现。与参考软件库相比,我们的实现运行速度提升了110倍至150倍,采用雅可比坐标下的通用曲线形式,并且是首个报告针对BLS12-381和BN128系列椭圆曲线的FPGA硬件加速结果的工作。