一种区块共识方法及装置制造方法及图纸

技术编号:32331686 阅读:14 留言:0更新日期:2022-02-16 18:39
本发明专利技术公开了一种区块共识方法及装置,包括:节点在对第i区块进行共识时,获取第i区块对应的第i随机数密文信息;第i随机数密文信息是在共识第i区块之前,基于对各节点的第i随机数密文进行共识得到的;基于各节点广播的第i解密公钥,对第i随机数密文信息中的各第i随机数密文进行解密,得到各第i随机数明文;其中,各第i解密公钥是在第i

【技术实现步骤摘要】
一种区块共识方法及装置


[0001]本专利技术涉及金融科技(Fintech)领域,尤其涉及一种区块共识方法及装置。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术(例如:区块链、云计算或大数据)应用在金融领域,传统金融业正在逐步向金融科技转变,大数据技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对大数据技术中区块的共识提出了更高的要求。
[0003]目前联盟链共识方式为联盟链中所有节点参与区块共识,随着网络的扩展,节点数逐渐增多,共识的效率也随之降低,导致联盟链的出块越来越慢。
[0004]为了增加联盟链的出块效率,现有技术方案是在联盟链的所有节点中,选取参与区块共识的共识节点,从而减少共识节点的数量,从而提升联盟链的出块效率。
[0005]但是在现有技术中,参与区块共识的共识节点过程是在待共识区块的前一区块上链后从联盟链的所有节点中确定的,影响了确定共识节点的效率,即确定共识节点时间较长,降低了出块效率。

技术实现思路

[0006]本专利技术实施例提供一种区块共识方法及装置,用于减少确定共识节点的时间,提高确定共识节点的效率,提升区块链系统的出块效率。
[0007]第一方面,本专利技术实施例提供一种区块共识方法,包括:
[0008]节点在对第i区块进行共识时,获取所述第i区块对应的第i随机数密文信息;所述第i随机数密文信息是在共识所述第i区块之前,基于对各节点的第i随机数密文进行共识得到的;
[0009]所述节点基于各节点广播的第i解密公钥,对所述第i随机数密文信息中的各第i随机数密文进行解密,得到各第i随机数明文;其中,各第i解密公钥是在第i

1区块上链后各节点广播的;
[0010]所述节点基于所述各第i随机数明文,确定对所述第i区块进行共识的共识节点,从而基于所述共识节点实现对所述第i区块的共识。
[0011]上述技术方案中,第i

1区块上链前,通过将各节点的随机数密文进行共识得到针对第i区块的随机数密文信息;在第i

1区块上链后,通过对针对第i区块的随机数密文信息解密确定共识节点,从而对第i区块进行共识;也就是说,得到针对第i区块的随机数密文信息的过程和确定共识节点的过程是异步执行的;相当于将确定共识节点的过程分成两个部分,一部分为针对第i区块,加密各节点的随机数明文,确定随机数密文信息;另一部分为第i区块,解密随机数密文信息,确定共识节点,且两部分的流程是异步进行,因为确定第i区块的随机数密文信息是在第i

1区块上链前,即对第i区块共识过程前,从而可以减少确定共识节点的时间,提高确定共识节点的效率,因此提升了区块链系统的出块效率。
[0012]可选的,所述第i随机数密文信息是在共识所述第i区块之前,基于对各节点的第i
随机数密文进行共识得到的,包括:
[0013]在共识所述第i区块之前,所述节点基于其他各节点广播的各自的第i随机数密文及自身的第i随机数密文,生成第i随机数密文信息;
[0014]所述节点确定所述第i随机数密文信息的第一哈希值,并将所述第一哈希值在区块链系统中进行广播;
[0015]所述节点获取其他各节点广播的第二哈希值,并在确定与所述第一哈希值一致的第二哈希值数量满足共识阈值时,确定所述第i随机数密文信息共识成功;所述第二哈希值是所述其他各节点根据自身的第i随机数密文信息确定的;
[0016]所述节点将共识成功的第i随机数密文信息上链存储。
[0017]上述技术方案中,在共识所述第i区块之前,通过共识机制确定出第i区块的第i随机数密文信息,从而可以在共识第i区块时,减少确定共识节点的时间,提高确定共识节点的效率,因此提升了区块链系统对第i区块的出块效率,且通过共识机制保证了随机数密文信息的安全性。
[0018]可选的,所述第i随机数密文通过如下方式获得,包括:
[0019]在共识所述第i区块之前,所述节点基于所述第i区块的区块高生成所述第i区块的第i随机数明文、第i加密私钥和第i解密公钥;
[0020]所述节点根据所述第i加密私钥对所述第i随机数明文进行加密,确定所述第i随机数密文。
[0021]上述技术方案中,任一节点的第i随机数密文用于确定该节点是否为共识节点,通过在共识所述第i区块之前确定第i随机数密文,以减少在共识第i区块时确定共识节点的时间,提高确定共识节点的效率,提升区块链系统对第i区块的出块效率。
[0022]可选的,所述节点基于所述各第i随机数明文,确定对所述第i区块进行共识的共识节点,包括:
[0023]所述节点根据区块链系统中各节点的数量和预设的数量规则确定所述共识节点的数量;
[0024]所述节点按照预设的排序规则对所述各第i随机数明文进行排序;
[0025]所述节点根据所述共识节点的数量,按照预设的选取规则在排序后的各第i随机数明文中确定共识节点。
[0026]上述技术方案中,通过预设的数量规则和预设的排序规则来保证确定共识节点的不可预测性,避免攻击者预测共识第i区块的共识节点,以此保证确定共识节点的安全性。
[0027]可选的,根据下述公式(1)确定所述共识节点的数量;
[0028]M=log22N+1
ꢀꢀꢀ
(1);
[0029]其中,M为所述共识节点的数量;N为所述区块链系统中各节点的数量。
[0030]上述技术方案中,通过预设的数量规则来控制共识节点的数量,因为预设的数量规则为对数函数,似的在区块链系统节点增加时,共识节点的数量增加波动较小,也就是说,区块链系统的节点增加与共识节点的数量增加不成正比,从而保证区块链系统运行平稳,避免产生区块链系统的网络波动。
[0031]可选的,所述节点根据所述共识节点的数量,按照预设的选取规则在排序后的各第i随机数明文中确定共识节点,包括:
[0032]所述节点根据所述共识节点的数量M及所述各节点的数量N,确定N/M的整数商L;
[0033]所述节点在排序后的各第i随机数明文中,选取位于第L+1位至第L+M位的第i随机数明文对应的各节点,作为共识节点。
[0034]上述技术方案中,通过预设的排序规则来保证确定共识节点的不可预测性,以此保证确定共识节点的安全性。
[0035]可选的,基于所述共识节点实现对所述第i区块的共识,包括:
[0036]所述共识节点根据PBFT共识机制对所述第i区块进行共识。
[0037]第二方面,本专利技术实施例提供一种区块共识装置,包括:
[0038]获取模块,用于在对第i区块进行共识时,获取所述第i区块对应的第i随机数密文信息;所述第i随机数密文信息是在共识所述第i区块之前,基于对各节点的第i随机数密文进行共识得到的;
[0039]处理模块,用于基于各节点广播的第i解密公钥,对所述第i随机数密文信息中的各第i随机数密文本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块共识方法,其特征在于,包括:节点在对第i区块进行共识时,获取所述第i区块对应的第i随机数密文信息;所述第i随机数密文信息是在共识所述第i区块之前,基于对各节点的第i随机数密文进行共识得到的;所述节点基于各节点广播的第i解密公钥,对所述第i随机数密文信息中的各第i随机数密文进行解密,得到各第i随机数明文;其中,各第i解密公钥是在第i

1区块上链后各节点广播的;所述节点基于所述各第i随机数明文,确定对所述第i区块进行共识的共识节点,从而基于所述共识节点实现对所述第i区块的共识。2.如权利要求1所述的方法,其特征在于,所述第i随机数密文信息是在共识所述第i区块之前,基于对各节点的第i随机数密文进行共识得到的,包括:在共识所述第i区块之前,所述节点基于其他各节点广播的各自的第i随机数密文及自身的第i随机数密文,生成第i随机数密文信息;所述节点确定所述第i随机数密文信息的第一哈希值,并将所述第一哈希值在区块链系统中进行广播;所述节点获取其他各节点广播的第二哈希值,并在确定与所述第一哈希值一致的第二哈希值数量满足共识阈值时,确定所述第i随机数密文信息共识成功;所述第二哈希值是所述其他各节点根据自身的第i随机数密文信息确定的;所述节点将共识成功的第i随机数密文信息上链存储。3.如权利要求1所述的方法,其特征在于,所述第i随机数密文通过如下方式获得,包括:在共识所述第i区块之前,所述节点基于所述第i区块的区块高生成所述第i区块的第i随机数明文、第i加密私钥和第i解密公钥;所述节点根据所述第i加密私钥对所述第i随机数明文进行加密,确定所述第i随机数密文。4.如权利要求1所述的方法,其特征在于,所述节点基于所述各第i随机数明文,确定对所述第i区块进行共识的共识节点,包括:所述节点根据区块链系统中各节点的数量和预设的数量规则确定所述共识节点的数量;所述节点按照预设的排序规则对所述各第i随机数明文进行...

【专利技术属性】
技术研发人员:王越范瑞彬张开翔张龙毛嘉宇储雨知
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1