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

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

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

区块链中的数学- BLS密钥聚合是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,区块链中的数学- BLS密钥聚合学习起来其实是很简单的,

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

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

改进的密钥聚合的算法是如何防止伪签名的呢?本质上增加了公钥的可验证性

写在前面

上一节简要概述了BLS签名机制,具体实现起来有很多细节,如哈希消息到曲线上的点。 本文原计划讲BLS依赖的基础知识部分,如双线性映射,但既然已经讲了签名,就先把签名相关的应用部分说完,才回头看其原理! 所谓“观其大略” 再究其细节!

最近几篇的思路大致为:BLS签名介绍 –> 密钥聚合 –> BLS门限签名 –>BLS基石(双线性函数)和配对

BLS密钥聚合

上一篇说了BLS实现签名聚合的情况,把涉及到的签名聚合在一起,但是公钥还必须使用所有公钥,没有聚合公钥部分。

根据前面多签的介绍,可以知道使用多重签名的地址,会对同一笔交易用不同的密钥进行签名。我们也介绍过Schnorr 签名算法来聚合密钥,把所有公钥和签名聚合成单个公钥和签名。 接下来,以3-3多重签名方案为例来说明BLS聚合密钥过程。

一种简单的聚合方法,把所有的签名和公钥加起来。这样,签名聚合结果为 $S =S_1 +S_2 +S_3$ ,密钥聚合结果为 $P =P_1+P_2+P_3 $。令q为消息m哈希映射到曲线上的点,是一个确定的值。可以验证以下等式成立:

e(G, S) = e(P, q)

验证如下:

<a href=区块链blockchain中的数学- BLS密钥聚合” />

符号同上文,利用配对函数e的性质。

抗密钥攻击聚合

上述的方案理论上可行,但实际上可能受到密钥攻击,例如伪造签名,如何防范呢?

一种方法是要求每个签名参与者证明它拥有公钥对应的私钥(用私钥给公钥签名或者随机指定消息签名)。 另一种方法是加入非线性系数,使得攻击难以实施。当然就不能使用上面提到的简单的将多个公钥和签名相加的方法,而是将它们分别乘以某个系数后再相加:

$S =a_1 × S_1 +a_2 × S_2 + a_3 × S_3$

$P =a_1 × P_1 + a_2 × P_2 + a_3 × P_3$

公式中签名和公钥的系数,可以通过签名者以及其它所有参与者的公钥计算得出,公式如下:

$a_i = hash(P_i,P_1,P_2,P_3)$

最简单的做法是将签名者的公钥和所有参与者公钥拼接在一起: $a_i = hash(P_i||P_1||P_2||P_3)$

此时,上面的验证公式依然成立。虽然多了系数 $a_i$,但计算逻辑未变。

具体代码实现可以多种,只要是可验证的,确定性的即可。

单就该方案的好处是,无需多轮通信,只需知晓其它签名者的信息即可。它可比 Schnorr 算法(需要 3 轮通信)的多重签名方案简单。且不依赖随机性,是一种具有完全确定性的签名算法。

小结

改进的密钥聚合的算法是如何防止伪签名的呢? 本质上增加了公钥的可验证性 你的就是你的,不是你的就不是你的,!

本文中提到第一种方案可能存在密钥攻击,究竟是如何攻击呢?下一篇继续介绍!

欢迎关注公众号:blocksight

相关阅读:

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

区块链blockchain中的数学 – 参与者 < 门限值t的密钥更新Amir Herzberg方案 Amir Herzberg改进方案

区块链blockchain中的数学 – Amir Herzberg动态密钥共享 Amir Herzberg动态密钥分享方案

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

区块链blockchain中的数学 – Shamir密钥分享 Shamir原始的密钥分享方案

区块链blockchain中的数学 – BTC使用的多签方式 BTC多签和Schnorr聚合签名

区块链blockchain中的数学 – 随机数和伪签名 随机数与伪签名构造

区块链blockchain中的数学 – EdDSA签名机制 EdDSA的发展及优点

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

区块链blockchain中的数学-ElGamal算法 ElGamal算法签名及验证&实例演练

区块链blockchain中的数学-VRF基于ECC公钥体制的证明验证过程 基于椭圆曲线的VRF证明验证过程

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

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

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

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

提供最优质的资源集合

立即查看 了解详情