从算法的角度上来看,Aleo属于零知识证明(ZKP)赛道项目,复杂度是比大饼和以太坊算法都要复杂的。算法的核心计算我们之前也提过主要是MSM+NTT/FFT的计算,还会包含一些Hash运算。这些计算主要目的是为了生成零知识证明,而生成证明的速度直接会影响生态的体验。
证明生成的过程中,约有60%的时间花在MSM上,其余时间由NTT/FTT主导。MSM和NTT都存在性能挑战,通常的解决办法:
●MSM可以在多线程上执行,从而支持并行处理。然而,当处理大型数据向量时,例如6700万个参数,乘法运算可能仍然很慢,并且需要大量的内存资源。此外,MSM存在可扩展性方面的挑战,即使在广泛并行化的情况下也可能保持缓慢。
综上来看,内存和带宽是限制证明生成的主要瓶颈。对于显卡来说,这里的内存指的是显存,并不是主板上的内存,主板上的内存主要是参与CPU的计算。当然目前有些芯片技术可以打通主板上的内存和显存,让内存为显存计算来用。
简单来说,在其他参数相同或者差不多的情况下,内存和带宽综合决定终某个硬件在Aleo项目上的算力大小。
带宽这个概念估计很多人不是很了解,之前只是关注显存,虽然说目前Aleo官方还没有正式公布的PoSW算法,但是从目前的表述来看把NTT/FFT这个漏洞堵上是个必然,而且本身零知识证明算法是对NTT/FFT有要求的。