基于门限签名的抗拜占庭错误节点共识方法技术

技术编号:37386723 阅读:28 留言:0更新日期:2023-04-27 07:26
本发明专利技术公开了一种基于门限签名的抗拜占庭错误节点共识方法,主要解决现有共识技术抗拜占庭容错安全性不高,算法性能低下的问题。其实现方案是:将网络中节点分成四组,每组节点根据自己的信任值大小选举组内可靠的节点当选领导人节点主持共识过程;每组选出的领导人节点向本组节点发送交易信息;组内节点对接收的消息进行验证,为自己认为正确的交易信息进行签名,并广播给组内领导人节点;各个组的领导人节点对收到的签名信息进行共享,并采用门限签名技术和双线性映射方法对收到的签名信息进行聚合并验证,验证通过的交易在各个节点间达成共识。本发明专利技术提升了共识效率和系统的安全性,减少了验证过程的计算量,可应用于区块链链上交易过程。块链链上交易过程。块链链上交易过程。

【技术实现步骤摘要】
基于门限签名的抗拜占庭错误节点共识方法


[0001]本专利技术属于计算机
,更进一步涉及一种抗拜占庭错误节点共识方法,可应用于区块链链上交易过程。

技术介绍

[0002]随着互联网技术的不断发展,人们的工作、生活已与互联网息息相关。随着用户数量的激增,单位时间提出的请求数,单位时间处理的数据量都是传统的单机系统无法承受的。为此,分布式存储应运而生。分布式存储通过将数据分散存储在多台独立设备上,通过每台设备间的协调运作,达到数据一致性的目的。近年来,伴随区块链技术的火热,在分布式存储下如何保证集群各节点间数据一致性的问题成为人们关注的重点。
[0003]确保分布式存储系统中所有节点维护的数据副本具有一致性的现有技术主要采用共识方法。在共识方法运行的过程中,主要关注共识方法在安全性、活性、效率等方面的表现。其中安全性要求集群各节点之间不会出现数据不一致的问题;活性要求集群能够在部分节点宕机的情况下,继续对外提供服务;效率要求集群节点对某条数据达成共识的时间不能过长。由于分布式存储对安全性和效率有着很高的要求,因此设计具有高安全性、高活本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于门限签名的抗拜占庭错误节点共识方法,其特征在于,包括如下步骤:(1)系统初始化;(1a)在密钥初始化阶段,通过可信的第三方机构TTP辅助区块链系统产生公私钥对(x,y),并将公钥y进行公开,将私钥x分成N份提供给N个节点进行共享,每个节点持有部分私钥x
i
;第三方机构TTP产生一个供签名方私有的随机数矩阵XX,及其对应的随机数公钥矩阵YY,并将其分发给系统中的N个节点;(1b)在系统初始化分组时,根据通信量的分析将节点分成四组,设置信任值阈值TV,并为每个节点设置一个高于阈值的初始化信任值TV
0i
;(1c)在系统初始化领导人选举时,每个分组独立选举本分组内TV
0i
值最高的节点成为领导人节点;(2)客户端向每个分组的领导人节点发送包含交易内容m、客户端信息c和查看客户端请求顺序时间戳t的Request消息<Request<m,t,c>>;(3)领导人节点为收到的交易信息分配序号n,将消息内容m,交易序号n,视图编号v和对消息的摘要d通过消息<<AppendEntries,v,n,d>,m>发送给组内的其他节点进行检查:若检查通过,则该节点进入签名回应阶段,执行步骤(4);否则,跳转至步骤(8)进行视图更换;(4)进入签名回应阶段的节点利用步骤(1)中TTP为自己分配的私钥x
i
和随机数矩阵XX,YY为其收到的交易信息进行签名,并将签名σ
i
,私钥x
i
对应的公钥y
i
以及用于验证签名的信息w
i
通过消息<<AppendEntriesReponse,v,n,i>,y
i
,w
i

i
>广播给组内除自己以外的所有节点,其中v是当前视图编号,i是节点编号;(5)领导人节点收到至少t+1个AppendEntriesReponse消息后,将自己收到的签名信息σ
i
通过确认消息<<Commit,v,n,i>,y
i
,w
i

i
>发送给除自己之外的所有领导人节点;(6)任意领导人节点收到超过t+1个Commit消息后对其聚合,并对聚合签名σ进行验证:若通过验证,则执行步骤(7);否则,验证其收到的各部分签名σ
i
,并对σ
i
验证不通过的节点i执行步骤(8);(7)任意领导人节点进入回复阶段,将带有聚合签名σ和验证信息w的消息<<Reply,v,t,c,i>,w,σ>广播至客户端;(8)对未通过验证的签名进行视图更换:(8a)系统中认为需要发起视图更换的任意节点,将包含自己签名信息σ
i
,验证信息w
i
,部分公钥y
i
的视图更换请求<Viewchange<h,v

1,i,v,m>y
i
,w
i

i
>发送至同一个组内的其他节点,其中v是新视图编号,h是摘要信息;(8b)收到至少t+1个视图更换请求的任意节点对签名信息进行聚合,并对其进行验证:若验证通过,则进入步骤(8c);否则,返回步骤(8a)重新发起视图更换请求;(8c)节点发送<Viewchange

ack,<h,i,v>,y,w,σ>消息至系统内其他不同领导人节点;其他领导人节点清除掉视图更换前的一致性请求,系统中的节点也将重新分组,执行步骤(9);(9)领导人选举过程;(9a)收到领导人选举信号的节点,计算自己在视图v下的TV
vi
值,每个组内TV
vi
值最高的
节点将发送消息<RequestVote,v,t,TV
vi
>给分组内的其他节点;(9b)组内其他节点收到RequestVote消息后,对其进行检查;若检查通过,则领导人节点向组内其他节点发送包含y
i
,w
i

i
的消息<RequestVoteResponse,v,t,TV
vi
>y
i
,w
i

i
>;否则,返回步骤(8a)重新发起视图更换请求;(9c)节点收到超过t+1个RequestVoteResponse请求之后,将其合成一个聚合签名,并验证该签名;若验证通过,则节点会将自己当选为领导人的消息<<Validate,v,t,i>y,w,σ>发送给客户端及其他分组领导人节点,完成领导人选举;否则,返回步骤(8)。2.根据权利要求1所述的方法,其特征在于,步骤(1)中第三方机构TTP产生私有随机数矩阵XX及其对应的公钥随机数矩阵YY,实现如下:(1a)系统建立:定义G1,G2为两个乘法群,g1,g2为生成元,p为群G1的阶,e为G1×
G1→
G2的双线性映射,定义哈希函数H:{0,1}
*

G1,公钥公开系统参数params={G1,G2,e,y,H};(1b)TTP产生一个供签名方私有的随机数矩阵XX,并根据1(a)中公钥的计算公式计算对应的公有随机数矩阵YY,其结构如下:其中xx
jk
为私有随机数矩阵中第j行第k列的一个随机元素,其中j从1至u,k从1至v;为公有随机数矩阵中第j行第k列的一个元素,mod p为对矩阵中每个元素进行取余。3.根据权利要求1所述的方法,其特征在于,步骤(1)中第三方机构TTP将私有随机数矩阵XX和公有随机数矩阵YY发给...

【专利技术属性】
技术研发人员:高军涛肖林青李雪莲
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

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

1