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

摘要:

权利要求书:

1.一种适用于实时交易场景的区块链节点共识方法,其特征在于,包括以下步骤:S1、选举Primary主节点;

S2、通过Client客户端向Primary主节点发起m请求,并通过Primary主节点接收m请求;

S3、通过Primary主节点给m请求分配序号n,形成Pre-prepare消息,将Pre-prepare消息广播给区块链中的所有follower跟随者节点,并将Pre-prepare消息保存在Primary主节点的log日志中;

S4、通过所有的follower跟随者节点校验Pre-prepare消息;

S5、将校验后的Pre-prepare消息分别保存在所有follower跟随者节点的log日志中,并通过所有的follower跟随者节点分别广播Prepare消息;

S6、校验各节点接收的Prepare消息,并将通过校验的节点的工作状态调整为Prepared状态;

S7、通过达成Prepared状态的节点广播Commit消息,并验证Commit消息接收及执行情况,实现Client客户端交易确认。

2.根据权利要求1所述的适用于实时交易场景的区块链节点共识方法,其特征在于,所述步骤S1包括以下步骤:S11、根据区块链网络特征和金融数学特征,建立多元组模型,得到各节点的属性向量x={x1,x2,…xN},其中x1,x2,…xN为该节点的属性,N为属性总数,其值为不小于1的整数;

S12、通过隶属度评价算法对各节点的属性向量x={x1,x2,…,xN}中各属性进行可信程度量化,得到各节点的可信程度矩阵R;

S13、根据区块链节点各属性的重要程度,建立各节点的属性权重向量w={w1,w2,…,wN};

S14、根据各节点的可信程度矩阵R和属性权重向量w,计算各节点的可信度向量v;

S15、根据各节点的可信度向量v,将区块链各节点划分为可信节点、一般节点和不可信节点,并将可信节点加入Primary主节点备选集合;

S16、将区块链每达成M个共识作为一个周期,在一个周期内,切换视图更换Primary主节点在Primary主节点备选集合中轮询选取Primary主节点。

3.根据权利要求2所述的适用于实时交易场景的区块链节点共识方法,其特征在于,所述步骤S12中各节点的可信度矩阵 为N×3矩阵,其第i行元素中:ri1表示该节点属性向量x={x1,x2,…,xN}中xi属性的可信隶属度;ri2表示该节点属性向量x={x1,x2,…,xN}中xi属性的一般可信隶属度;ri3表示该节点属性向量x={x1,x2,…,xN}中xi属性的不可信隶属度,i∈[1,N]。

4.根据权利要求2所述的适用于实时交易场景的区块链节点共识方法,其特征在于,所述步骤S14的计算表达式为:其中,v1为该节点的可信隶属度,v2为该节点的一般可信隶属度,v3为该节点的不可信隶属度。

5.根据权利要求1所述的适用于实时交易场景的区块链节点共识方法,其特征在于,所述步骤S4包括:对Pre-prepare消息进行签名验证;验证Pre-prepare消息是否是当前follower跟随者节点所在view视图的消息;验证当前follower跟随者节点在当前view视图下是否收到序号n以外的消息;验证Pre-prepare消息是否在当前接收窗口内。

6.根据权利要求5所述的适用于实时交易场景的区块链节点共识方法,其特征在于,所述步骤S6中的校验操作包括:验证当前节点的log日志中是否存在Pre-prepare消息;验证当前节点是否接收到2f个来自其它节点Prepare消息,其中f为区块链系统能够容忍的无效或者恶意节点数。

7.根据权利要求6所述的适用于实时交易场景的区块链节点共识方法,其特征在于,所述步骤S7包括以下步骤:S71、通过达成Prepared状态的节点广播Commit消息;

S72、通过已接收到2f+1个节点发出的Commit消息且自身已广播Commit消息的节点,执行Commit消息,并向Client客户端发出反馈;

S73、判断Client客户端在有效时间内接收到的反馈数目是否大于f,若是,则结束,若否,则跳转至步骤S74;

S74、通过Client客户端向所有的节点广播m请求;

S75、通过接收到m请求的非Primary节点向Primary主节点转发Client客户端的m请求,所述非Primary节点为区块链中除Primary主节点之外的节点;

S76、判断已向Primary主节点转发m请求的非Primary节点是否在有效时间内收到Primary主节点的回应,若是,则跳转至步骤S3,若否,则跳转至步骤S77;

S77、在Primary主节点备选集合中主节点轮询选取下一个节点作为Primary主节点,并切换view视图,Client客户端在当前视图下重传请求m。