zkVM 项目的 tps 相关因素,1-5 是与零知识相关
-
从 EVM 兼容性方案,来看需要证明计算量
EVM 兼容性 (高级语言等效性,zkVM) > EVM 等效性 > ETH 等效性 (PSE)
Starknet = Sin7Y >Zksync>PloygonZkevm>Scroll>Ploygon Zero>PSE
-
从多项式承诺看生成证明的速度
小域+ FRI > FRI> FRI&KZG >KZG (算法复杂度排序会有不同)
Ploygon Zero > Starknet > Sin7Y > PloygonZkevm > Zksync = Scroll = PSE
3.** 从算法方向好实现硬件并行证明的可能 **
单一的算法更好实现优化,MSM 目前优于 FFT
纯MSM>纯FFT>混合
Sin7Y(纯MSM) > Ploygon Zero(纯FTT) > Starknet > PloygonZkevm> Zksync > Scroll > PSE
4. **零知识证明系统的递归证明优化**
Plonky2 > Stark > Plonk = Halo2
Ploygon Zero > Sin7Y > Starknet > PloygonZkevm > Zksync = Scroll = PSE
5**. 零知识证明系统的可组合性 **
Ploygon Zero = Sin7Y > PloygonZkevm > Starknet > Zksync = Scroll = PSE
6. 从 VM 本身并行性 (交易并行)
OlaVM > zkVM > zkEVM
Sin7Y > Starknet > Zksync > PloygonZkevm > Scroll > Ploygon > PSE
实现 VM 的开发语言对效率也有一定影响。
-
主网能运行大量应用的时间点(越快越优先)
Zksync>Starknet>PloygonZkevm>Scroll>Sin7y>Ploygon Zero>PSE
-
能运行 L3 的时间点(越快越优先)
Starknet>Zksync>PloygonZkevm>Sin7y>Ploygon Zero>Scroll
根据证明系统的不同,证明生成过程可能会有所不同,但瓶颈是:
- 可变基数和固定基数多标量乘法(MSM)
- 快速傅里叶变换(FFT) 和逆 FFT
在同时存在 FFT 和 MSM 的系统中,大约 70% 的时间生成证明花费在 MSM 上,其余时间则由 FFT 主导。
MSM 和 FFT 都很慢,但都有提高性能的方法:
- MSM 具有令人尴尬的并行性,可以通过在多个线程上运行它们来加速。然而,即使在数百个内核上,乘法最终仍然会花费大量时间。这意味着经常重复相同的操作,并且会耗尽设备上的大部分可用内存。简而言之,MSM 需要大量内存并且即使在高度并行化时仍然很慢。
- FFT 严重依赖算法运行时数据的频繁洗牌。此外,它们在硬件上运行时需要大量带宽。改组意味着您需要 “随机” 加载和卸载元素,例如,具有 16GB 或更少内存的硬件芯片上的 >100GB 数据集。虽然硬件上的操作非常快,但通过网络加载和卸载数据的时间最终会显着减慢操作速度。
简而言之:
- MSM 具有可预测的内存访问,允许大量并行化,但由于所需的原始计算量和内存量,它们的成本仍然很高。
- FFT 具有随机内存访问,这使得它们对硬件不友好,而且自然难以在分布式基础设施上运行
在解决大型 MSM 和 FFT 的缓慢问题方面,我们看到的最有希望的工作是 PipeZK。在他们的论文中,作者描述了一种使用Pippenger 算法跳过重复计算来使 MSM 更便宜的方法。
他们还描述了一种 “展开” FFT 的方法,这样它们就可以在没有显着改组的情况下执行,由于现在可预测的内存访问模式,提高速度。
近期,Plonk 系提出一种新的方案,MSM 方向优化后更适合并行。
parallelization
并行
rust VM
cairo 1.0
https://medium.com/starkware/cairo-1-0-aa96eefb19a0
regenesis(重生)
https://medium.com/starkware/starknet-regenesis-the-plan-bd0219843ef4