Zero Knowledge Proof (ZKP) allows somebody who possesses some information to prove that they possess this information but without revealing anything else whatsoever. It’s an emerging technology with many applications in several application domains, in blockchain, finance, online voting, authentication, etc.
ZKP is consists of 2 important steps; the proof generation and the verification. The proof generation is the part that is way more computationally intensive, while the verification is lightweight and the goal is to be executed fast even on low processing platforms.
The proving step however is quite complex and requires a huge amount of processing power. The most computational intensive operations, of the related SNARK and STARK protocols, are Number Theoretic Transform (NTT) and Multi-Scalar Multiplications (MSM). NTT is a specialized form of Discrete Fourier Transform (DFT) in an integer finite field.
What’s the good news? FFTs are the bread and butter of FPGAs. FPGAs are ideal for integer arithmetic operations and bit-level data processing and have based used for many years to accelerate FFTs in communication systems. And for a long time, FPGA vendors were looking for the next killer application that would justify the FPGA deployment at scale in the cloud. So could be ZKP be the next killer app for large FPGA clusters?
It depends. FPGAs provide huge amount of processing power, usually in much more energy efficient way than GPUs, especially when it has to do with integer arithmetic. FPGAs also offer higher flexibility than ASICs, that is required currently to support the different ZKP implementations (variety of elliptic curves, proving schemes), and adapt to new protocols.
However, the main challenge of FPGAs is the ease of deployment at scale and integration with high level languages and frameworks. An efficient accelerator for NTT and MSM operations is not just enough. A critical part is the abstraction layer that will allow the ZKP accelerators to be integrated with the emerging framework ecosystem from networks like Polygon, Starkware, Aleo and more leading companies in the ZK domain. The abstraction layer that will allow seamless integration of the ZKP accelerators with libraries, like libsnark, rapidsnark , bellman or winterfell, is extremely important for the efficient utilization of every FPGA system.
InAccel has a long experience on the efficient deployment of FPGAs at scale. Therefore, when we first came across ZKP we managed to integrate open-source FPGA acceleratorss with widely used ZK libraries extremely fast. In just a couple of weeks we did e2e integrations of FPGAs with frameworks like Polygon Hermez, Nightfall and Miden. Using the InAccel software stack (resource management and accelerator orchestration) we enabled the fast and efficient integration of FPGA provers with two state-of-the-art ZK circuit compilers, namely Circom and ZoKrates.
The InAccel orchestration layer also allowed us to provide easy deployment at scale and on demand. This basically means that InAccel FPGA clusters can provide the elasticity that is required to efficient process a huge amount of proof generation tasks even when the demand for proofs changes over time.
ZKP is considered by many one of the most notable innovations in the last fifty years of computer science. Zero Knowledge Proofs (ZKPs) offer unique properties that make them essential components of various blockchain scaling and privacy solutions, including ZK rollups. FPGAs when combined efficiently with the right abstraction, for transparent integration and scaling, could be just the right computing platform for this emerging market.
Stay tuned and soon we will reveal more information on how InAccel technology can be the missing catalyst for the widespread adoption of FPGAs in ZKP.