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 emerging technology with many applications in several spaces like FinTech, blockchains, smart contracts, etc.
ZKP consists of 2 parts that need to be executed in computing platforms; the proof and the verification of the proof. The proof is usually the part that is most computationally intensive and can takes some seconds to execute, while the verification is lightweight and the goal is to be executed fast even on low processing platforms.
The proofing part is quite complex and needs huge amount of processing power. The most computational intensive part of the algorithm is the Number Theoretic Transform (NTT) and multi-scalar multiplications (MSM). NTT is a specialized form of Discrete Fourier Transform (DFT) in the finite field of integers.
What’s the good news? FFTs are 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 applications that would justify the FPGA deployment at scale in the cloud. So could be ZKP be the next killer applications for large FPGA clusters?
Well, it depends. FPGAs can 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 offer also higher flexibility than ASICs, that is required currently to support different versions of ZKP such as STARK or SNARK.
However, the main challenge of FPGAs is the easy of deployment at scale and integration with high level frameworks. An efficient accelerator for NTT and MSM is not enough. A critical part is the abstraction layer that will allow the ZKP accelerators to be integrated with several emerging frameworks from Polygon, Aleo, Starkware and other leading companies on ZKP. The abstraction layer that will allow easy integration of ZKP accelerators with libraries like LibSNARK and RapidSNARK is extremely important for the efficient utilization of FPGAs.
This is where InAccel comes in. InAccel has a long experience on the efficient deployment of FPGAs at scale and integration with high level frameworks. This is why, when we first came across ZKP we managed to integrate FPGAs with widely used ZKP framework pretty fast. In just a couple of weeks we managed to integrate FPGAs with framework like Polygon Hermez, Nightfall and Miden. The InAccel API of the Coral resource manager allows fast and efficient integration of FPGAs with LibSNARK and RapidSNARK, two of the most-widely used libraries in ZKP.
The inaccel orchestration allows also easy deployment at scale and on demand. That means the FPGA clusters can provide the elasticity that is required to efficient process huge amounts of proofs 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 layer for easy integration and scaling could be just the right computing platform for this emerging application.
Stay tuned and soon we will reveal more information on how InAccel technology can be the missing catalyst for the widespread adoption of FPGAs on ZKP.