区块链中的数学 – Kate承诺batch opening

这篇文章主要介绍了区块链中的数学 – Kate承诺batch opening ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。

https://www.interchains.cc/20816.html

区块链中的数学 – Kate承诺batch opening是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,区块链中的数学 – Kate承诺batch opening学习起来其实是很简单的,

不多的几个较为抽象的概念也很容易理解,之所以很多人感觉区块链中的数学 – Kate承诺batch opening比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难

区块链blockchain中的数学 – Kate承诺batch opening

  • <a href=区块链blockchain中的数学 – Kate承诺batch opening”> blocksight
  • 发表于 4天前

本文介绍了Kate承诺在多点披露验证的情况,当然还有一种就是多个多项式在多个不同点打开验证,相信如果本文理解的话,是可以自己推出来的,不在详述了。

写在前面

上一篇介绍了Kate承诺完整流程,以单个承诺打开为例说明,还有一种情况,如果需要在多个点值打开和验证,这时候需要批量打开(披露)【Batch Opening】和验证了.

本文介绍批量验证的两种情况:一个多项式多点验证和多个多项式同一点打开验证 本文在上一篇基础上推进,所有符号含义均与之相同。

同一多项式多点验证

假定要打开的多个点集合记为B,不采用每个点依次验证,批量需要实现:

1. CreateRemainderPoly

计算商余项多项式: $r(x) = phi(x)/ prod_{iin B}(x-i)$

2.CreateWitnessBatch

令$psi B(x)= frac{phi(x)r(x)}{prod{i in B}(x i)}$, 计算$w_B=g^{ψ_B(α)}$, $(B,r(x),w_B)$是点集合B多项式的值的见证

可得,$phi(x) = ψB(x)prod{i in B}(x i)+r(x)$

对于 i ∈ B, φ(i) = r(i).

3.VerifyEvalBatch

输入:检查点集合B,r(x), 多项式承诺C,见证$wB$ 验证: $e(C, g) = e(g^{prod{i in B}(alpha – i)},w_B) * e(g,g)^{r(alpha)}$ 等式成立,则多项式承诺为真。

推导过程: $e(g^{prod_{i in B}(alpha – i)},wB) * e(g,g)^{r(alpha)}$ $=e(g^{prod{i in B}(alpha – i)},g^{psi _B(alpha )}) * e(g,g)^{r(alpha)}$ $=e(g,g)^{psiB(alpha)prod{i in B}(alpha i)+r(alpha)}$ $= e(g,g)^{phi(alpha)}$ $= e(C, g)$

其中用到了方法2,变形得到: $φ(x) = psiB(x)prod{i in B}(x i)+r(x)$

多个多项式同点验证

假设有t个不同的多项式,$φ_1,φ2,…,φ{t’}$, 在同一个点z处打开验证,可直接使用单点承诺打开验证聚合。

2.CreateWitnessBatch

令$h(x)=sum _{i=1}^t(φ_i(x)-φ_i(z))/(x-z)$

输出$w=g^{h(α)}$

3.VerifyEvalBatch

输入:检查点z, 多项式承诺C,见证w 注意这里 $C =sum_{i=1}^tcm( φi(x))$ 即t个多项式承诺和 $V = sum{i=1}^tφ_i(z)$ 验证: $e(C, g) = e(g^{alpha}/g^z,w)*e(g,g)^V$ 等式成立,则多个多项式z处值为真。

原理如下: $e(g^{alpha}/g^z,w)e(g,g)^V$ $=e(g^{alpha -z},w)e(g,g)^{sum_{i=1}^tφi(z)}$ $=e(g,g)^{sum{i=1}^tφ_i(alpha)-φi(z)+sum{i=1}^tφi(z)}$ $=e(g,g)^{sum{i=1}^tφ_i(alpha)}$ $=e(C, g)$ 实际实现中,多项式承诺之和计算过程,可以加上随机系数因子,来提高安全性,相应地,z点值聚合也需要添加相同因子。

小结

本文介绍了Kate承诺在多点披露验证的情况,当然还有一种就是多个多项式在多个不同点打开验证,相信如果本文理解的话,是可以自己推出来的,不在详述了。

好了,下一篇继续当前区块链blockchain中用到最多的merkle tree承诺(证明)!


原文链接:https://mp.weixin.qq.com/s/KngWef331IP3Rudwb6351g 欢迎关注公众号:blocksight


相关阅读

区块链blockchain中的数学 – Kate承诺 Kate承诺完整流程

区块链blockchain中的数学 – 多项式承诺 多项式知识和承诺

区块链blockchain中的数学 – Pedersen密钥共享 Pedersen 密钥分享

区块链blockchain中的数学 – Pedersen承诺 密码学承诺–Pedersen承诺

区块链blockchain中的数学 – 哈希承诺 密码学承诺–hash承诺

区块链blockchain中的数学 – 不经意传输 不经意传输协议

区块链blockchain中的数学- BLS 基石(双线性函数)和配对 双线性映射(配对)

区块链blockchain中的数学 – BLS门限签名 BLS m of n门限签名

区块链blockchain中的数学 – BLS密钥聚合 BLS密钥聚合

区块链blockchain中的数学 – BLS数字签名 BLS签名及验证

区块链blockchain中的数学 – Feldman的可验证的密钥分享 Feldman可验证密钥分享方案

区块链blockchain中的数学 – Ed25519签名 Ed25519签名

Schorr签名与椭圆曲线 Schorr签名与椭圆曲线

区块链blockchain中的数学-Uniwap自动化做市商核心算法解析 Uniwap核心算法解析(中)

部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/20816.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 区块链中的数学 – Kate承诺batch opening

提供最优质的资源集合

立即查看 了解详情