写在前面
伴随着区块链的技术发展,零知识证明(Zero Knowledger Proof, ZKP)技术先后在隐私和Layer2扩容领域得到越来越多的应用,技术也在持续的迭代更新。从需要不同的Trust Setup的ZKP(例如Groth16),到需要一次Trust Setup同时支持更新的ZKP(例如Plonk),再到不需要Trust Setup的ZKP(例如STARK),ZKP算法逐渐走向去中心化,从依赖经典NP问题,到不依赖任何数学难题,ZKP算法逐渐走向抗量子化;我们当然希望,一个不需要Trust Setup同时也不依赖任何数学难题、具有抗量子性的ZKP算法也具有较好的效率和较低的复杂度(STARK的证明太大),它就是REDSHIFT。
REDSHIFT
《REDSHIFT: Transparent SNARKs from List Polynomial Commitment IOPs》,从名字可以可出,它是基于List多项式承诺且具有透明性的SNARK算法。算法本身和PLONK有大部分的相似之处,唯一不同的是多项式承诺的原语不同。下面先简单的通过一张表格来展示REDSHIFT和PLONK算法的异同之处,具体如下:
算法名称/算法步骤 | 算术化(Arithmetization) | 简洁证明QAP成立 | 特点 |
---|---|---|---|
PLONK | Statement -> Circuit -> QAP | Kate Commitment | General |