技术的突破是推动区块链行业前进的引擎,币安中国区块链研究院与链闻 ChainNews 同为密切关注区块链与密码学等领域技术发展前沿的组织,故而联合推出「他山之石」专栏,向中文世界读者介绍全球范围最值得关注的区块链技术进展,以及在金融等产业最新的应用分析与动态,以期为中国的区块链行业「攻玉」提供借鉴和思考。 本文从技术视角介绍一种「Kate 多项式承诺」的密码学方案,此方案正用于研究实现无状态以太坊。 原文标题:《【他山之石】Kate 多项式承诺(polynomial commitments)》 撰文:Dankrad Feist,以太坊基金会研究员 编译:币安中国区块链研究院 本文已取得作者授权,并由链闻和币安中国区块链研究院获得中文地区翻译首发权 在本文拟介绍 Kate、Zaverucha 和 Goldberg 所提出的承诺方案(commitment scheme)1。但作为一篇介绍性文章,本文无意做严谨、完整的数学或密码学论述。 该方案通常被称作「Kate 多项式承诺方案」,是多项式承诺方案的一种。它支持验证人计算对多项式的承诺,可通过其属性在任意后续位置开启此承诺:验证人需要证明多项式在某位置上的值均等于声明值。 验证人一旦将承诺值(椭圆曲线点)发给了校验人,便无法再更改相应的多项式,因此得名「承诺」。校验人只能提供多项式的有效证明;若尝试作弊,要么无法得出证明,要么证明会被校验人拒绝。 预备知识 强烈推荐不熟悉有限域、椭圆曲线与配对的读者提前阅读 Vitalik Buterin 有关椭圆曲线配对的文章。 与默克尔树(Merkle tree)的对比 若读者熟悉默克尔树,本人希望可以更直观地呈现默克尔树与 Kate 承诺之间的差别。用密码学家的话来说,默克尔树是一种向量承诺(vector commitment):你可以使用一个深度为 d 的默克尔树,计算出对向量 (即一系列固定长度的元素)的承诺。你也可以运用默克尔证明,借助 d 散列,证明位于 i 处的元素 ai 是该向量的一部分。 实际上,我们可以通过默克尔树得出多项式承诺:次数为 n 的多项式 p(X) 只是一个函数 其中 pi 是多项式的系数。 通过设置 ai=pi 并计算其系数的默克尔根,可以很容易地得出次数为 n=2d-1 时的多项式。证明求值指的是验证人想要告诉校验人:对于某个 z,p(z) = y。对此,验证人可以把所有的 pi 值都发给校验人,然后校验人计算得出 p(z) 确实等于 y。 (责任编辑:admin1) |