Zero Knowledge Proof allow you to prove that you possess some information but without revealing anything else whatsoever. It allows to authenticate yourself but at the same time respecting the privacy concerns. For many it is considered as the holy grail in digital economy as it addresses the main challenges of privacy and authentication.
However, the main drawback of ZKP is that it is quite computational intensive. Each proof, depending on the protocol (zkSTARK or zkSNARK) has to perform many heavy computations like Multi-scalar Multiplications (MSM) and Number Theoretic Transformations (NTT). Adaptive Accelerators (FPGAs) have been long used to perform these kind of algorithms in communication networks (where FFTs are widely used) and in applications where high performance encryption is required. Therefore, FPGAs look as the ideal platform for accelerating ZKP applications.
The speedup that FPGAs offer combined with their energy efficiency could be beneficial for many companies that want to accelerate ZKP and at the same time they want to reduce significantly the OpEx (e.g. Aleo, Starkware, and Polygon).
In this article we examine a simple scenario for on-prem and cloud deployment of FPGAs for accelerating ZKP.
On-prem deployment
Assume that a company has deployed the ZKP applications on a cluster of 60 CPU-based servers. In this case, the CapEx and the OpEx for this cluster would be the following:
CAPEX: 60 servers x $20,000 = $1,200,000
OpEx/year: 60 x $12,000 = $720,000 (assuming $1000/month/server)
In this case the TCO for 3 years would be:
TCO = CAPEX + 3xOpEx = $3,360,000
Let’s now examine the case where the same application has been deployed on a cluster of FPGA-based servers. If the FPGA-based provide 6x speedup then the 60 servers could be replaced with 10 FPGA-based servers. In this case the CapEx and the OpEx would be:
CAPEX: 10 servers x $30,000 = $300,000
OpEx/year: 10 x $24,000 = $240,000 (assuming $2000/month/server due to the increased power of the FPGAs)
In this case the TCO for 3 years for the FPGA-based servers would be:
TCO = CAPEX + 3xOpEx = $1,020,000
That means over $2,000,000 savings on the on-prem deployment.
Cloud deployment
Even in the case for cloud deployment, FPGA based servers seems to provide much better TCO. Assume that a company has deployed the ZKP applications on a cluster of 60 CPU-based servers. In this case, the OpEx for this cluster would be:
OpEx/year: 60 x $12,000 = $720,000 (assuming $1000/month/server)
Let’s now examine the case where the same application has been deployed on a cluster of FPGA-based servers. If the FPGA-based provide 6x speedup then the 60 servers could be replaced with 10 FPGA-based servers. In this case the OpEx would be:
OpEx/year: 10 x $24,000 = $240,000
That means almost $500,000 savings for the cloud deployment per year (3x lower OpEx compared to the typical CPU-based servers.)
In these simple examples we wanted to show how the FPGAs could be used not only to speedup the applications but also to reduce significantly the TCO for ZKP applications.