從算法的角度上來看,Aleo屬于零知識證明(ZKP)賽道項目,復雜度是比大餅和以太坊算法都要復雜的。算法的核心計算我們之前也提過主要是MSM+NTT/FFT的計算,還會包含一些Hash運算。這些計算主要目的是為了生成零知識證明,而生成證明的速度直接會影響生態(tài)的體驗。
證明生成的過程中,約有60%的時間花在MSM上,其余時間由NTT/FTT主導。MSM和NTT都存在性能挑戰(zhàn),通常的解決辦法:
●MSM可以在多線程上執(zhí)行,從而支持并行處理。然而,當處理大型數(shù)據(jù)向量時,例如6700萬個參數(shù),乘法運算可能仍然很慢,并且需要大量的內(nèi)存資源。此外,MSM存在可擴展性方面的挑戰(zhàn),即使在廣泛并行化的情況下也可能保持緩慢。
簡單來說,在其他參數(shù)相同或者差不多的情況下,內(nèi)存和帶寬綜合決定終某個硬件在Aleo項目上的算力大小。
帶寬這個概念估計很多人不是很了解,之前只是關注顯存,雖然說目前Aleo官方還沒有正式公布的PoSW算法,但是從目前的表述來看把NTT/FFT這個漏洞堵上是個必然,而且本身零知識證明算法是對NTT/FFT有要求的。
目前零知識證明(ZKP)應用的主要2個方向:隱私和可驗證計算,Aleo是隱私L1公鏈,同時兼具可編程性,像ZCash等雖然也是隱私公鏈,但是不具備可編程性。以太坊L2上的ZK-Rollup項目,屬于可驗證計算,我們之前的文章也分析過:重磅分析!為什么說FPGA或者ZK通用服務器在Aleo項目上機會是零?,在證明的需求量上完全不是一個級別。