一种基于区块链的组成员扩展方法、装置、设备及介质制造方法及图纸

技术编号:19150927 阅读:20 留言:0更新日期:2018-10-13 10:29
本发明专利技术公开了一种基于区块链的组成员扩展方法、装置、设备及介质,该方法中第二组秘密均为组内所有区块链节点共同参与认证并生成的结果,当有新节点加入至节点组时,通过各个原始节点对第二组秘密进行相应运算即可生成新节点的第一组秘密,以使新节点能够通过第一组秘密参与节点组的共识密钥的生成,并且节点组内的其余节点无需改变自身的第一组秘密,保证了加入节点组的新节点具有可用性,进而也能够相应的确保节点组中可用节点的数量以及生成共识密钥的可靠性。此外,本发明专利技术还提供一种基于区块链的组成员扩展装置、设备及介质,有益效果同上所述。

Group member extension method, device and medium based on block chain

The invention discloses a group member extension method, device, device and medium based on block chain. In the method, the second group of secrets are the results of authentication and generation by all block chain nodes in the group. When a new node is added to the node group, the second group of secrets can be calculated by each original node. The first group of Secrets of the new node is generated so that the new node can participate in the generation of the consensus key of the node group through the first group of secrets, and the remaining nodes in the node group do not need to change their first group of secrets to ensure the availability of the new node to join the node group, and then can also ensure the availability of the node group section. The number of points and the reliability of generating consensus keys. In addition, the invention also provides a group member expansion device, device and medium based on block chain, and the beneficial effect is the same as described above.

【技术实现步骤摘要】
一种基于区块链的组成员扩展方法、装置、设备及介质
本专利技术涉及区块链领域,特别是涉及一种基于区块链的组成员扩展方法、装置、设备及介质。
技术介绍
随着数字货币的兴起,作为底层支撑的区块链技术引起了业界的广泛关注。区块链技术以其去中心化,信息可信且可追溯等优势,引起了产业界对区块链实际应用方案的探索。在区块链的底层技术中,大量使用了密码学的算法,如网络节点之间的通讯保密、保障消息传递的过程中不被篡改、接收者确认消息来源无误等情况的密码学算法,而密钥是经过密码学算法生成的结果,用于数据加密或数字签名。将区块链中的节点以组的形式进行管理及应用,是当前区块链机制下的一种工作模式,在该模式下,需要通过节点组内的节点协作以达成组内共识。在共识过程中,块数据的有效性需要各个节点验证,以组内过半数的验证结果作为最终结果。但是由于在区块链机制下,节点的在线状态是根据实际情况而不断变化的,因此可能会随着时间的变化,在线的活跃节点数不断减少,进而可能出现组内节点数小于组初始节点数的一半的情况,在此情况下组内节点无法达成共识。考虑到上述情况,需要保证节点组中节点维持一定的数量,并且要确保节点组中原始节点密钥不变的前提下,新节点仍能够与原始节点协作以达成组内共识。由此可见,提供一种基于区块链的组成员扩展方法,以保证节点组中可用节点的数量以及节点组所生成的密钥的可靠性,是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是提供一种基于区块链的组成员扩展方法、装置、设备及介质,以保证节点组中可用节点的数量以及节点组所生成的密钥的可靠性。为解决上述技术问题,本专利技术提供一种基于区块链的组成员扩展方法,包括:选取包含有区块链节点的原始节点组;其中,原始节点组具有第一门限值t,原始节点组中的各节点均具有第一组秘密,且第一组秘密为常量;当原始节点组内加入新节点时,在原始节点组中获取第二门限值r数量的原始节点,以控制各原始节点生成各自的秘密多项式;其中,第二门限值r大于或等于第一门限值t,且小于原始节点组的节点总数,秘密多项式的最高次幂为t-1次,且常数项为Si为当前的原始节点的第一组秘密,j表示原始节点,IDi为当前的原始节点的ID,IDj为原始节点的ID,IDnew为新节点的ID;控制各原始节点分别将自身的秘密多项式作为运算因子以根据Shamir密钥分享算法生成第二秘密片段,并分享至包括自身在内的所有原始节点中;控制各原始节点分别将被分享的第二秘密片段进行累加运算,以生成各自的第二组秘密,并发送至新节点中;控制新节点通过Lagrange插值算法对各第二组秘密进行运算,生成新节点的第一组秘密,以用于生成更新后节点组的共识密钥。优选的,原始节点组中的第一组秘密的生成步骤包括:控制原始节点组中的每一个区块链节点均产生各自的初始秘密;控制各区块链节点分别将自身的初始秘密作为运算因子以根据Shamir密钥分享算法生成第一秘密片段,并分享至包括自身在内的原始节点组中的所有区块链节点中;控制各区块链节点分别将被分享的第一秘密片段进行累加运算,以生成各自的第一组秘密。优选的,当采用具有双线性对特征的椭圆曲线生成共识密钥时,在控制各区块链节点分别将被分享的第一秘密片段进行累加运算,以生成各自的第一组秘密后,该方法进一步包括:控制各区块链节点通过自身的第一组秘密对相同内容的预设消息进行数字签名以得到签名数据,并将签名数据分享至包括自身在内的原始节点组中的所有区块链节点;控制原始节点组中的目标区块链节点,利用Lagrange插值算法对预设数量的签名数据进行运算,以生成原始节点组的共识签名数据。优选的,初始秘密为具有固定长度的随机数据。优选的,生成更新后节点组的共识密钥具体为:在更新后节点组中获取第一门限值数量的目标区块链节点,并通过Lagrange插值算法对各目标区块链节点中的第一组秘密进行运算,以生成共识密钥。优选的,第一门限值大于二分之一的原始节点组的节点总数。此外,本专利技术还提供一种基于区块链的组成员扩展装置,包括:选取模块,用于选取包含有区块链节点的原始节点组;其中,原始节点组具有第一门限值t,原始节点组中的各节点均具有第一组秘密,且第一组秘密为常量;多项式生成模块,用于当原始节点组内加入新节点时,在原始节点组中获取第二门限值r数量的原始节点,以控制各原始节点生成各自的秘密多项式;其中,第二门限值r大于或等于第一门限值t,且小于原始节点组的节点总数,秘密多项式的最高次幂为t-1次,且常数项为Si为当前的原始节点的第一组秘密,j表示原始节点,IDi为当前的原始节点的ID,IDj为原始节点的ID,IDnew为新节点的ID;片段生成模块,用于控制各原始节点分别将自身的秘密多项式作为运算因子以根据Shamir密钥分享算法生成第二秘密片段,并分享至包括自身在内的所有原始节点中;组秘密生成模块,用于控制新节点通过Lagrange插值算法对各第二组秘密进行运算,生成新节点的第一组秘密,以用于生成更新后节点组的共识密钥。优选的,该装置进一步包括:初始生成模块,用于控制原始节点组中的每一个区块链节点均产生各自的初始秘密;运算模块,用于控制各区块链节点分别将自身的初始秘密作为运算因子以根据Shamir密钥分享算法生成第一秘密片段,并分享至包括自身在内的原始节点组中的所有区块链节点中;组秘密生成模块,用于控制各区块链节点分别将被分享的第一秘密片段进行累加运算,以生成各自的第一组秘密。此外,本专利技术还提供一种基于区块链的组成员扩展设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如上述的基于区块链的组成员扩展方法的步骤。此外,本专利技术还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的基于区块链的组成员扩展方法的步骤。本专利技术所提供的基于区块链的组成员扩展方法,第二组秘密均为组内所有区块链节点共同参与认证并生成的结果,当有新节点加入至节点组时,通过各个原始节点对第二组秘密进行相应运算即可生成新节点的第一组秘密,以使新节点能够通过第一组秘密参与节点组的共识密钥的生成,并且节点组内的其余节点无需改变自身的第一组秘密,保证了加入节点组的新节点具有可用性,进而也能够相应的确保节点组中可用节点的数量以及生成共识密钥的可靠性。此外,本专利技术还提供一种基于区块链的组成员扩展装置、设备及介质,有益效果同上所述。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种基于区块链的组成员扩展方法的流程图;图2为本专利技术实施例提供的原始节点组中的第一组秘密的生成步骤的流程图;图3为本专利技术实施例提供的一种基于区块链的组成员扩展装置结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本专利技术保护范围。本专利技术的核心是提供一种基本文档来自技高网...

【技术保护点】
1.一种基于区块链的组成员扩展方法,其特征在于,包括:选取包含有区块链节点的原始节点组;其中,所述原始节点组具有第一门限值t,所述原始节点组中的各节点均具有第一组秘密,且所述第一组秘密为常量;当所述原始节点组内加入新节点时,在所述原始节点组中获取第二门限值r数量的原始节点,以控制各所述原始节点生成各自的秘密多项式;其中,所述第二门限值r大于或等于所述第一门限值t,且小于所述原始节点组的节点总数,所述秘密多项式的最高次幂为t‑1次,且常数项为

【技术特征摘要】
1.一种基于区块链的组成员扩展方法,其特征在于,包括:选取包含有区块链节点的原始节点组;其中,所述原始节点组具有第一门限值t,所述原始节点组中的各节点均具有第一组秘密,且所述第一组秘密为常量;当所述原始节点组内加入新节点时,在所述原始节点组中获取第二门限值r数量的原始节点,以控制各所述原始节点生成各自的秘密多项式;其中,所述第二门限值r大于或等于所述第一门限值t,且小于所述原始节点组的节点总数,所述秘密多项式的最高次幂为t-1次,且常数项为Si为当前的原始节点的所述第一组秘密,j表示所述原始节点,IDi为当前的原始节点的ID,IDj为所述原始节点的ID,IDnew为所述新节点的ID;控制各所述原始节点分别将自身的所述秘密多项式作为运算因子以根据Shamir密钥分享算法生成第二秘密片段,并分享至包括自身在内的所有所述原始节点中;控制各所述原始节点分别将被分享的所述第二秘密片段进行累加运算,以生成各自的第二组秘密,并发送至所述新节点中;控制所述新节点通过Lagrange插值算法对各所述第二组秘密进行运算,生成所述新节点的第一组秘密,以用于生成更新后节点组的共识密钥。2.根据权利要求1所述的方法,其特征在于,所述原始节点组中的第一组秘密的生成步骤包括:控制所述原始节点组中的每一个区块链节点均产生各自的初始秘密;控制各所述区块链节点分别将自身的所述初始秘密作为运算因子以根据所述Shamir密钥分享算法生成第一秘密片段,并分享至包括自身在内的所述原始节点组中的所有区块链节点中;控制各所述区块链节点分别将被分享的所述第一秘密片段进行累加运算,以生成各自的所述第一组秘密。3.根据权利要求2所述的方法,其特征在于,当采用具有双线性对特征的椭圆曲线生成所述共识密钥时,在所述控制各所述区块链节点分别将被分享的所述第一秘密片段进行累加运算,以生成各自的第一组秘密后,该方法进一步包括:控制各所述区块链节点通过自身的所述第一组秘密对相同内容的预设消息进行数字签名以得到签名数据,并将所述签名数据分享至包括自身在内的所述原始节点组中的所有区块链节点;控制所述原始节点组中的所述目标区块链节点,利用所述Lagrange插值算法对预设数量的所述签名数据进行运算,以生成所述原始节点组的共识签名数据。4.根据权利要求2所述的方法,其特征在于,所述初始秘密为具有固定长度的随机数据。5.根据权利要求1所述的方法,其特征在于,所...

【专利技术属性】
技术研发人员:吕晟珉胡红钢吴轶群
申请(专利权)人:杭州智块网络科技有限公司
类型:发明
国别省市:浙江,33

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

1