在分析之前,我們先看一下ASIC(Application Specific Integrated Circuit),中文全稱(chēng)是“專(zhuān)用集成電路”。這里特別強(qiáng)調(diào)“專(zhuān)用”,“專(zhuān)用”意味著針對(duì)單一項(xiàng)目來(lái)說(shuō)會(huì)更加有競(jìng)爭(zhēng)力。相對(duì)比,GPU(顯卡)是通用計(jì)算處理芯片,所以在單一項(xiàng)目上來(lái)說(shuō)“專(zhuān)用”肯定比“通用”更有競(jìng)爭(zhēng)力。
軟件層面,在語(yǔ)言層面上,ZK更友好的格式,也會(huì)帶來(lái)加速生成的過(guò)程,比如Aleo的Leo語(yǔ)言。再就是算法本身的優(yōu)化,雖然說(shuō)有一定的優(yōu)化空間,但是要想有大的突破需要非常多的時(shí)間,畢竟?fàn)可娴胶芏鄶?shù)學(xué)問(wèn)題。
證明生成的過(guò)程中,約有60%的時(shí)間花在MSM上,其余時(shí)間由NTT/FTT主導(dǎo)。MSM和NTT都存在性能挑戰(zhàn),通常的解決辦法:
●MSM可以在多線程上執(zhí)行,從而支持并行處理。然而,當(dāng)處理大型數(shù)據(jù)向量時(shí),例如6700萬(wàn)個(gè)參數(shù),乘法運(yùn)算可能仍然很慢,并且需要大量的內(nèi)存資源。此外,MSM存在可擴(kuò)展性方面的挑戰(zhàn),即使在廣泛并行化的情況下也可能保持緩慢。
綜上來(lái)看,內(nèi)存和帶寬是限制證明生成的主要瓶頸。對(duì)于顯卡來(lái)說(shuō),這里的內(nèi)存指的是顯存,并不是主板上的內(nèi)存,主板上的內(nèi)存主要是參與CPU的計(jì)算。當(dāng)然目前有些芯片技術(shù)可以打通主板上的內(nèi)存和顯存,讓內(nèi)存為顯存計(jì)算來(lái)用。