證明生成的過程中,約有60%的時間花在MSM上,其余時間由NTT/FTT主導(dǎo)。MSM和NTT都存在性能挑戰(zhàn),通常的解決辦法:
●MSM可以在多線程上執(zhí)行,從而支持并行處理。然而,當(dāng)處理大型數(shù)據(jù)向量時,例如6700萬個參數(shù),乘法運(yùn)算可能仍然很慢,并且需要大量的內(nèi)存資源。此外,MSM存在可擴(kuò)展性方面的挑戰(zhàn),即使在廣泛并行化的情況下也可能保持緩慢。
●在算法過程中頻繁的數(shù)據(jù)混洗使得NTT難以在計(jì)算集群中分布,無法并行計(jì)算,并且由于需要從大型數(shù)據(jù)集中加載和卸載數(shù)據(jù),在硬件上運(yùn)行時需要大量帶寬。即使硬件操作很快,這可能也會導(dǎo)致速度變慢。例如,如果硬件芯片的內(nèi)存為16GB或更少,那么在100GB的數(shù)據(jù)集上運(yùn)行NTT將需要通過網(wǎng)絡(luò)加載和卸載數(shù)據(jù),這可能會大大降低操作速度。
簡單來說,在其他參數(shù)相同或者差不多的情況下,內(nèi)存和帶寬綜合決定終某個硬件在Aleo項(xiàng)目上的算力大小。
帶寬這個概念估計(jì)很多人不是很了解,之前只是關(guān)注顯存,雖然說目前Aleo官方還沒有正式公布的PoSW算法,但是從目前的表述來看把NTT/FFT這個漏洞堵上是個必然,而且本身零知識證明算法是對NTT/FFT有要求的。
早在2021年,英偉達(dá)就曾公開表示過“禁止使用轉(zhuǎn)換層在其他硬件平臺上運(yùn)行基于CUDA的軟件”,2024年3月,英偉達(dá)更是將其升級為“CUDA禁令”,直接添加在了CUDA的終用戶許可協(xié)議中,已禁止用轉(zhuǎn)譯層在其他GPU上運(yùn)行CUDA軟件