從算法的角度上來看,Aleo屬于零知識證明(ZKP)賽道項(xiàng)目,復(fù)雜度是比大餅和以太坊算法都要復(fù)雜的。算法的核心計(jì)算我們之前也提過主要是MSM+NTT/FFT的計(jì)算,還會包含一些Hash運(yùn)算。這些計(jì)算主要目的是為了生成零知識證明,而生成證明的速度直接會影響生態(tài)的體驗(yàn)。
證明生成的過程中,約有60%的時(shí)間花在MSM上,其余時(shí)間由NTT/FTT主導(dǎo)。MSM和NTT都存在性能挑戰(zhàn),通常的解決辦法:
●MSM可以在多線程上執(zhí)行,從而支持并行處理。然而,當(dāng)處理大型數(shù)據(jù)向量時(shí),例如6700萬個(gè)參數(shù),乘法運(yùn)算可能仍然很慢,并且需要大量的內(nèi)存資源。此外,MSM存在可擴(kuò)展性方面的挑戰(zhàn),即使在廣泛并行化的情況下也可能保持緩慢。
●在算法過程中頻繁的數(shù)據(jù)混洗使得NTT難以在計(jì)算集群中分布,無法并行計(jì)算,并且由于需要從大型數(shù)據(jù)集中加載和卸載數(shù)據(jù),在硬件上運(yùn)行時(shí)需要大量帶寬。即使硬件操作很快,這可能也會導(dǎo)致速度變慢。例如,如果硬件芯片的內(nèi)存為16GB或更少,那么在100GB的數(shù)據(jù)集上運(yùn)行NTT將需要通過網(wǎng)絡(luò)加載和卸載數(shù)據(jù),這可能會大大降低操作速度。
為什么以太坊或者門羅是抵制ASIC的?看看大餅就知道了,主要是比較低成本的ASIC讓以太坊社區(qū)預(yù)測到了ASIC機(jī)器未來可能占領(lǐng)以太坊網(wǎng)絡(luò),而以太坊網(wǎng)絡(luò)開始的共識是PoW,和大餅一樣。