首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

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

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:西安电子科技大学

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

主权项:1.一种基于门限签名的抗拜占庭错误节点共识方法,其特征在于,包括如下步骤:1系统初始化;1a在密钥初始化阶段,通过可信的第三方机构TTP辅助区块链系统产生公私钥对x,y,并将公钥y进行公开,将私钥x分成N份提供给N个节点进行共享,每个节点持有部分私钥xi;第三方机构TTP产生一个供签名方私有的随机数矩阵XX,及其对应的随机数公钥矩阵YY,并将其分发给系统中的N个节点;1b在系统初始化分组时,根据通信量的分析将节点分成四组,设置信任值阈值TV,并为每个节点设置一个高于阈值的初始化信任值TV0i;1c在系统初始化领导人选举时,每个分组独立选举本分组内TV0i值最高的节点成为领导人节点;2客户端向每个分组的领导人节点发送包含交易内容m、客户端信息c和查看客户端请求顺序时间戳t的Request消息Requestm,t,c;3领导人节点为收到的交易信息分配序号n,将消息内容m,交易序号n,视图编号v和对消息的摘要d通过消息AppendEntries,v,n,d,m发送给组内的其他节点进行检查:若检查通过,则该节点进入签名回应阶段,执行步骤4;否则,跳转至步骤8进行视图更换;4进入签名回应阶段的节点利用步骤1中TTP为自己分配的私钥xi和随机数矩阵XX,YY为其收到的交易信息进行签名,并将签名σi,私钥xi对应的公钥yi以及用于验证签名的信息wi通过消息AppendEntriesReponse,v,n,i,yi,wi,σi广播给组内除自己以外的所有节点,其中v是当前视图编号,i是节点编号;其中计算签名σi,公钥yi以及用于验证签名的信息wi,实现如下:4a节点根据其节点编号i,消息m,计算随机行数Rz:Rz=hmmodi其中hm是对交易消息的哈希结果;4b依次取出随机数矩阵XXi中第z列,第Rz行的随机数进行求和,得出节点i选择的随机数Ri: 其中为随机数矩阵XXi中第z列,第Rz行的随机数,modp为对求和的结果取余;4c节点计算对消息的签名信息σi,验证签名的信息wi,公钥信息yi: 其中xi为节点i对应的部分私钥,yi为节点i对应的部分公钥,g1为第一乘法群G1的生成元;5领导人节点收到至少t+1个AppendEntriesReponse消息后,将自己收到的签名信息σi通过确认消息Commit,v,n,i,yi,wi,σi发送给除自己之外的所有领导人节点;6任意领导人节点收到超过t+1个Commit消息后对其聚合,并对聚合签名σ进行验证,实现过程如下:6a领导人节点根据收到的签名信息{σ1,σ2,...,σt},计算聚合签名σ,及用于验证签名的信息w,y: 其中,xi为节点的部分私钥,Ri为节点i选择的随机数,R为签名方最终选择的随机数,x为系统私钥,hm是对交易信息的哈希结果,g1为第一乘法群G1的生成元,λi为拉格朗日系数;6b领导人节点对聚合签名结果σ进行检验:eσ,g1=ehm,yw其中e为指定的双线性映射;若等式左面与等式右面结果相等,则检验通过;6c领导人节点对各部分签名σi进行检验:eσi,g1=ewiyi,hm其中σi为收到的来自节点i的签名,g1为第一乘法群G1的生成元,若等式左面与等式右面结果相等,则检验通过;若通过验证,则执行步骤7;否则,验证其收到的各部分签名σi,并对σi验证不通过的节点i执行步骤8;7任意领导人节点进入回复阶段,将带有聚合签名σ和验证信息w的消息Reply,v,t,c,i,w,σ广播至客户端;8对未通过验证的签名进行视图更换:8a系统中认为需要发起视图更换的任意节点,将包含自己签名信息σi,验证信息wi,部分公钥yi的视图更换请求Viewchangeh,v-1,i,v,myi,wi,σi发送至同一个组内的其他节点,其中v是新视图编号,h是摘要信息;其中需要发起视图更换请求的节点计算签名σi,公钥yi以及用于验证签名的信息wi,实现如下:8a1节点根据其节点编号i,消息m,计算随机行数Rz:Rz=hmmodi其中hm是对交易消息的哈希结果;8a2依次取出随机数矩阵XXi中第z列,第Rz行的随机数进行求和,得出节点i选择的随机数Ri: 其中为随机数矩阵XXi中第z列,第Rz行的随机数,modp为对求和的结果取余;8a3节点计算对消息的签名信息σi,验证签名的信息wi,公钥信息yi: 其中xi为节点i对应的部分私钥,yi为节点i对应的部分公钥,g1为第一乘法群G1的生成元;8b收到至少t+1个视图更换请求的任意节点对签名信息进行聚合,并对其进行验证,过程如下:8b1节点根据收到的签名信息{σ1,σ2,...,σt},计算聚合签名σ,及用于验证签名的信息w,y: 其中,xi为节点的部分私钥,Ri为节点i选择的随机数,R为签名方最终选择的随机数,x为系统私钥,hm是对交易信息的哈希结果,g1为第一乘法群G1的生成元,λi为拉格朗日系数;8b2节点对聚合签名结果σ进行检验:eσ,g1=ehm,yw其中e为指定的双线性映射;若等式左面与等式右面结果相等,则检验通过;若验证通过,则进入步骤8c;否则,返回步骤8a重新发起视图更换请求;8c节点发送Viewchange-ack,h,i,v,y,w,σ消息至系统内其他不同领导人节点;其他领导人节点清除掉视图更换前的一致性请求,系统中的节点也将重新分组,执行步骤9;9领导人选举过程;9a收到领导人选举信号的节点,计算自己在视图v下的TVvi值,每个组内TVvi值最高的节点将发送消息RequestVote,v,t,TVvi给分组内的其他节点;9b组内其他节点收到RequestVote消息后,对其进行检查;其检查内容如下:9b1判断发送RequestVote消息节点的TVvi值是否比自己的大:若是,则通过检查,执行步骤9b2;否则,不发送任何信息;9b2判断RequestVote消息包含的视图编号是否与自己认为的视图编号一致:若一致,则通过检查,向领导人节点及组内其他节点发送RequestVoteResponse信息;否则,不发送任何信息;若检查通过,则领导人节点向组内其他节点发送包含yi,wi,σi的消息RequestVoteResponse,v,t,TVviyi,wi,σi;否则,返回步骤8a重新发起视图更换请求;9c节点收到超过t+1个RequestVoteResponse请求之后,将其合成一个聚合签名,并验证该签名;若验证通过,则节点会将自己当选为领导人的消息Validate,v,t,iy,w,σ发送给客户端及其他分组领导人节点,完成领导人选举;否则,返回步骤8。

全文数据:

权利要求:

百度查询: 西安电子科技大学 基于门限签名的抗拜占庭错误节点共识方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。