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