We have a pool of
FPGA talents, so our initial thought was to use FPGA acceleration. The Plonk proof process is very cumbersome, while the FPGA capacity is limited and cannot perform a large number of calculations. Therefore, only the tasks that take a long time are outsourced to the FPGA for calculation. In the entire Plonk proof process, the most time-consuming operation is to use FFT to find the value of the polynomial or use iFFT to solve the polynomial, and to calculate the Kate commitment of the polynomial. The operations involved are FFT and multi-exponentiation, which account for 70% of the time consumed by the entire plonk-proof process. According to initial estimates, for a circuit of 67 million gates, without considering the FPGA bandwidth, it takes six minutes to calculate FFT and Multi-Exponentiation with a single FPGA board. If four boards are employed at the same time, it takes 1.5 minutes in theory. However, a lot of pre-calculations are needed, and the results need to be stored on TB-level hard disks. With a large number of FPGA boards come the issues of poor stability and subsequent maintenance. In addition, the most important reason is that FPGA development takes a long time. In order to launch the project as soon as possible, the FPGA solution has to be implemented later.