1. 算法
從算法的角度上來看,Aleo屬于零知識證明(ZKP)賽道項目,復(fù)雜度是比大餅和以太坊算法都要復(fù)雜的。算法的核心計算我們之前也提過主要是MSM+NTT/FFT的計算,還會包含一些Hash運(yùn)算。這些計算主要目的是為了生成零知識證明,而生成證明的速度直接會影響生態(tài)的體驗。
生成證明的速度可以從軟件和硬件兩個方面來優(yōu)化:
軟件層面,在語言層面上,ZK更友好的格式,也會帶來加速生成的過程,比如Aleo的Leo語言。再就是算法本身的優(yōu)化,雖然說有一定的優(yōu)化空間,但是要想有大的突破需要非常多的時間,畢竟?fàn)可娴胶芏鄶?shù)學(xué)問題。
硬件層面,也就是所謂的硬件加速, CPU、GPU、FPGA、ASIC。CPU與GPU相比在大數(shù)據(jù)多任務(wù)處理上,肯定GPU更占優(yōu)勢。FPGA與GPU相比,在兼顧了靈活性的基礎(chǔ)上,無論是計算能力和功耗性能上都要更強(qiáng),缺點(diǎn)是性價比太低。ASIC是的,其他的硬件形態(tài)都是無法比擬的。
證明生成的過程中,約有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),即使在廣泛并行化的情況下也可能保持緩慢。