利索能及
我要发布
收藏
专利号: 2019114235039
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-01
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于网格仲裁的联盟链共识方法,其特征在于,该方法先使用随机抽签函数将仲裁领导团从节点中选举出来,再将剩余的节点划分给每个仲裁领导节点,构成网格拓扑结构;具体包括以下步骤:S1:初始时,各个未组网节点向证书授权中心获取密钥,并广播发送身份标识信息;各个节点运行抽签算法,根据随机种子值seed和期望仲裁领导团数t从未组网节点中抽取t个用户组成仲裁领导团;

S2:仲裁领导团的各个节点向系统申请拓扑结构图编号,确定各自身份编号;未组网节点再运行可验证随机函数,抽取节点,轮询发送给每个仲裁领导团;仲裁领导节点接收未组网节点,并将其作为各自的仲裁团成员;最后,各个仲裁团成员之间相互通信,收集仲裁团内部的拓扑信息;

S3:客户端向仲裁领导团成员发送交易信息,仲裁领导团成员在其内部的仲裁团进行共识;仲裁团内部采用拜占庭算法进行快速共识,将每个节点共识之后的哈希值传递给仲裁团归属的仲裁领导节点;

仲裁团内部采用拜占庭算法进行快速共识的具体步骤为:S31:客户端请求:客户端将交易发送给仲裁领导节点;

S32:仲裁领导节点负责广播交易请求到所属仲裁团的所有节点,并执行仲裁锁协议;

S33:仲裁所协议阶段:当执行完仲裁锁协议,仲裁团各个节点将处理结果返回给仲裁领导节点;

S34:预准备阶段:仲裁领导节点通过交易分割方法,将客户端提出的交易分割成n份分别发送给其所属仲裁团各个节点;

S35:准备阶段:仲裁团节点将交易碎片放入自身缓冲区,并从缓冲区随机挑选交易碎片发送,当满足集齐m份要求时,且m

S36:提交阶段:广播commit消息,告诉其他节点某个交易提案n已经处于准备状态;此时集齐至少2f+1个验证通过的commit消息,其中f表示错误节点;

S37:反馈阶段:仲裁团将确认信息反馈给仲裁领导节点,结束内部共识;

S4:仲裁领导团成员收到其所属仲裁团内部共识达成的哈希值集合,通过拜占庭协议达成共识,大于2/3节点的交易将被仲裁领导团的成员集体接受;仲裁领导团将这一轮达成共识的交易进行全网广播,分散给其下属的各个节点;

S5:在本轮共识结束之前,超时的交易将被传递给多个仲裁团进行仲裁;在本轮共识结束之后,各个仲裁领导的仲裁团重组;系统将本轮所有交易的哈希值作为下一轮系统的随机种子seed进行全网广播。

2.根据权利要求1所述的一种基于网格仲裁的联盟链共识方法,其特征在于,所述步骤S1中,随机选举仲裁领导团节点的具体步骤为:S11:初始时,系统给定一个公共随机值作为随机种子seed和阈值t,并进行全网广播;

S12:各个节点进行本地抽签;即未组网节点将收到的随机种子seed和自己的私钥Sk作为可验证随机函数的输入值,运算,产生一个随机值value和零知识证明proof;

S13:节点之间提交候选区块,即各个节点将各自产生的随机值value与阈值t进行比较,低于阈值t的节点作为仲裁领导团候补节点,并将自己节点的抽签结果、零知识证明proof和候选区块进行全网广播;

S14:节点之间验证候选区块,即各个节点将收到的抽签结果、零知识证明proof、随机种子seed和各个候补节点的公钥Pk作为输入,运行可验证随机函数来证明仲裁领导团节点的正确性;

S15:节点之间广播,即将提议的候补节点信息进行全网广播。

3.根据权利要求1所述的一种基于网格仲裁的联盟链共识方法,其特征在于,所述步骤S2中,仲裁领导团进行组网,生成仲裁团的具体步骤为:S21:仲裁领导团内的各个节点向证书授权中心申请拓扑结构编号;

S22:未组网节点再运行可验证随机函数,随机抽取组内节点;

S23:被抽取出来的节点向证书授权中心申请拓扑结构编号;

S24:完成编号分配的节点将自身信息通知给所属仲裁领导团成员,加入该成员所在的仲裁团;

S25:重复步骤S21~S24,直至所有仲裁团组网成功。

4.根据权利要求1所述的一种基于网格仲裁的联盟链共识方法,其特征在于,所述步骤S4中,最终共识广播的具体步骤为:S41:仲裁领导团成员收到自己仲裁团的提案通过后,仲裁领导团运用拜占庭算法进行共识;

S42:仲裁领导团将达成提案进行全网广播。

5.根据权利要求1所述的一种基于网格仲裁的联盟链共识方法,其特征在于,所述步骤S5中,剩余交易共识的具体步骤为:S51:在系统限定时间内,客户端将对未响应的交易重新选择仲裁团进行仲裁;

S52:仲裁团接收交易,并进行共识;

S53:在仲裁过程中,使用仲裁票协议对原有仲裁团仲裁的本交易进行解锁;

S54:重复步骤S51~S53,直至完成本轮所有交易;

S55:将所有交易通过哈希函数构造成哈希值,作为下一轮随机种子seed,并进行全网广播。

6.根据权利要求1所述的一种基于网格仲裁的联盟链共识方法,其特征在于,对于仲裁领导节点的仲裁锁协议,具体步骤为:

1):仲裁领导节点尝试对本仲裁团内所有节点广播加锁信息;

2):仲裁领导节点收集锁信息票数;

3):判断票数是否到达3/4以上节点;

4):当票数达到3/4以上时,广播票数,开始进入拜占庭算法;

5):判断锁高度H是否低于其他仲裁锁高度H’

6):当票数未达到3/4以上时,广播票数,继续循环执行步骤1),收集票数;

7):当票数未达到3/4以上,且发现锁高度H低于其他仲裁锁高度H',停止广播,结束。

7.根据权利要求4或5所述的一种基于网格仲裁的联盟链共识方法,其特征在于,对于仲裁团节点的仲裁锁协议,具体步骤为:

1):仲裁节点收到交易T加锁信息Q;

2):判断交易T是否有锁;

3):如果没锁,则加锁,并反馈回仲裁领导节点L;

4):如果有锁,则对比交叉仲裁节点接收仲裁领导节点L的锁高度H与现有仲裁领导节点L'设置的锁高度H';

5):如果锁高度H>H’,对L'的交易T仲裁锁解锁,并返回步骤3);

6):如果锁高度H

7):等待仲裁领导节点信息;

8):直到存在一个仲裁节点最先收集到3/4以上的锁票数,收到广播票数,开始进入拜占庭算法。