軟件層面,在語言層面上,ZK更友好的格式,也會帶來加速生成的過程,比如Aleo的Leo語言。再就是算法本身的優化,雖然說有一定的優化空間,但是要想有大的突破需要非常多的時間,畢竟牽涉到很多數學問題。
硬件層面,也就是所謂的硬件加速, CPU、GPU、FPGA、ASIC。CPU與GPU相比在大數據多任務處理上,肯定GPU更占優勢。FPGA與GPU相比,在兼顧了靈活性的基礎上,無論是計算能力和功耗性能上都要更強,缺點是性價比太低。ASIC是的,其他的硬件形態都是無法比擬的。
●在算法過程中頻繁的數據混洗使得NTT難以在計算集群中分布,無法并行計算,并且由于需要從大型數據集中加載和卸載數據,在硬件上運行時需要大量帶寬。即使硬件操作很快,這可能也會導致速度變慢。例如,如果硬件芯片的內存為16GB或更少,那么在100GB的數據集上運行NTT將需要通過網絡加載和卸載數據,這可能會大大降低操作速度。
綜上來看,內存和帶寬是限制證明生成的主要瓶頸。對于顯卡來說,這里的內存指的是顯存,并不是主板上的內存,主板上的內存主要是參與CPU的計算。當然目前有些芯片技術可以打通主板上的內存和顯存,讓內存為顯存計算來用。