軟件層面,在語言層面上,ZK更友好的格式,也會(huì)帶來加速生成的過程,比如Aleo的Leo語言。再就是算法本身的優(yōu)化,雖然說有一定的優(yōu)化空間,但是要想有大的突破需要非常多的時(shí)間,畢竟?fàn)可娴胶芏鄶?shù)學(xué)問題。
●在算法過程中頻繁的數(shù)據(jù)混洗使得NTT難以在計(jì)算集群中分布,無法并行計(jì)算,并且由于需要從大型數(shù)據(jù)集中加載和卸載數(shù)據(jù),在硬件上運(yùn)行時(shí)需要大量帶寬。即使硬件操作很快,這可能也會(huì)導(dǎo)致速度變慢。例如,如果硬件芯片的內(nèi)存為16GB或更少,那么在100GB的數(shù)據(jù)集上運(yùn)行NTT將需要通過網(wǎng)絡(luò)加載和卸載數(shù)據(jù),這可能會(huì)大大降低操作速度。
綜上來看,內(nèi)存和帶寬是限制證明生成的主要瓶頸。對于顯卡來說,這里的內(nèi)存指的是顯存,并不是主板上的內(nèi)存,主板上的內(nèi)存主要是參與CPU的計(jì)算。當(dāng)然目前有些芯片技術(shù)可以打通主板上的內(nèi)存和顯存,讓內(nèi)存為顯存計(jì)算來用。
目前零知識(shí)證明(ZKP)應(yīng)用的主要2個(gè)方向:隱私和可驗(yàn)證計(jì)算,Aleo是隱私L1公鏈,同時(shí)兼具可編程性,像ZCash等雖然也是隱私公鏈,但是不具備可編程性。以太坊L2上的ZK-Rollup項(xiàng)目,屬于可驗(yàn)證計(jì)算,我們之前的文章也分析過:重磅分析!為什么說FPGA或者ZK通用服務(wù)器在Aleo項(xiàng)目上機(jī)會(huì)是零?,在證明的需求量上完全不是一個(gè)級別。