zkSnarks系列算法

 zk-SNARK并不是一种具体的算法,准确的说,它是一个协议,那就意味着它有多种实现,这些实现统称为 zk-SNARKs,注意这个s。因此,当我们提到 zk-SNARKs的时候,代表着属于zk-SNARK系的各种算法集合

作为程序员,关键的是需要选择可用的zkSnark库,那么有哪些主要的zkSnark实现呢:

Groth16

这个是比较传统的zkSnark算法,也就是需要trusted setup的算法,比如我们查看rust的zkSnark库时,https://crates.io/crates/zksnark,会发现它标注了:

zksnark v0.0.2

An implementation of zkSNARK using groth16

它具有高效的证明生成和验证性能,并被广泛应用于许多区块链和加密项目中。成了很多zkSnask算法的对标,人们常常和它进行比较,评价算法的优劣。

Fractal

Fractal 是一种具有高度优化的 SNARK 算法,特别适用于处理大规模计算。它利用多项式插值和快速傅里叶变换等技术,实现了高效的证明和验证。

Halo&Halo2

这个算法是一种基于递归证明的 SNARK 构造,它通过递归拆分和组合解决证明大小随复合次数线性增长的问题。Halo 具有高效的证明和验证性能,并在复杂计算和大规模应用中表现出色。

被PSE和scroll项目使用。

Marlin

Marlin 是一种基于多项式插值和低次多项式抽样的 SNARK 算法。它通过使用低次多项式来近似高次多项式,实现了紧凑且高效的证明

Plonk

PLONK(Permutation-Based Linear and Non-linear Knowledge)是一种基于置换的 SNARK 构造。它使用置换技术来减少证明的大小和验证的复杂度,具有紧凑且高效的特性。

需要注意的是,并不是所有zkSnark算法实现,都像Groth16一样需要trusted setup。

除了zkSnarks系列,还有其他的零知识证明系统,比如Bulletproofs,Sonic, zkStark等,百花齐放。

各种算法之间大致的对比,引用一个图供参考,并无权威结论:

Ref

  • https://medium.com/coinmonks/comparing-general-purpose-zk-snarks-51ce124c60bd


《 “zkSnarks系列算法” 》 有 3 条评论

  1. These patients typically have adequate spontaneous ventilation and do not need assistance with their airway cytotec 200mg tablets 5 times the normal values

  2. The type and frequency of adverse events in the NSABP B 24 trial were consistent with those observed in the other adjuvant trials conducted with Puretam tamoxifen citrate buy priligy australia Only quinacrine, an antimalarial agent, was studied in a controlled clinical trial of prion disease, but failed

  3. 4 and B Higuchi equation to TMX release from PCL TMX nanofiber Where M t M is the fraction of TMX delivery in time t, and K is release speed constant priligy 30mg tablets

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

About Me

一位程序员,会弹吉他,喜欢读诗。
有一颗感恩的心,一位美丽的妻子,两个可爱的女儿
mail: geraldlee0825@gmail.com
github: https://github.com/lisuxiaoqi
medium: https://medium.com/@geraldlee0825