链眼社区:专注于区块链安全,区块链数据分析, 区块链信息整合,区块链技术服务和区块链技术咨询。

KZG多项式承诺
SavourDao
2023-01-18 14:11:44

1. 简介

今天我想向你们介绍一下Kate,Zaverucha和Goldberg发表的多项式承诺方案。这篇文章并不涉及复杂的数学及密码学理论知识,仅作为一篇简介。

该方案通常被称作卡特(Kate,读作kah-tay)多项式承诺方案。在一个多项式承诺方案中,证明者计算一个多项式的承诺(commitment), 并可以在多项式的任意一个点进行打开(opening):该承诺方案能证明多项式在特定位置的值与指定的数值一致。

之所以被称为承诺,是因为当一个承诺值(椭圆曲线上的一个点)发送给某对象( 验证者),证明者不可以改变当前计算的多项式。它们只能够对一个多项式提供有效的证明;当试图作弊时,它们要不无法提供证明,要不证明被验证者拒绝。

2. 预备知识

如果你对有限域,椭圆曲线和配对这几个话题不是很熟悉的话,非常推荐去读一读Vitalik Buterin的博客:椭圆曲线配对这篇文章。

3. 默克尔树对比

4. 椭圆曲线以及配对

5. 卡特承诺

6.多项式相乘

7.卡特证明

8. 多重证明

9.将卡特作为矢量承诺来使用

10.延伸阅读

为了得到一个无状态版本的以太坊,我们正在积极探索卡特承诺的应用。在这里我强烈建议在ethresearch论坛中使用关键字Kate来搜索你感兴趣的话题。

另一篇很赞的博文是Vitalik的introduction to PLONK,其中大量运用到了多项式承诺,其中卡特方案就是多项式承诺实现的主要方案。

https://www.iacr.org/archive/asiacrypt2010/6477178/6477178.pdf ↩

这个结果经常被错误引用为代数基本定理。实际上代数基本理论是其反推的结论。该结论在代数封闭的域中才有:效。而代数基本定理是对于复数而言,所有n次的多项式都有n个线性因子。很可惜这个简单一点的版本没有简洁易记的名字,尽管它可以说比代数基本定理更基本一些。 ↩

https://www.cs.cmu.edu/~goyal/ibe.pdf ↩

原文转载自:https://dankradfeist.de/ethereum/2021/10/13/kate-polynomial-commitments-mandarin.html

合作伙伴