双领导者心跳加权溯源共识方法转让专利

申请号 : CN202010118799.X

文献号 : CN111327699B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙延风马德印时小虎王立张栋頔

申请人 : 吉林大学吉林省桥王智能科技有限公司

摘要 :

本发明公开了一种双领导者心跳加权溯源共识方法,属于区块链共识技术领域,采用主链和子链相结合的模式,不同子链对应溯源不同阶段,每个子链使用具有不同加权系数的共识方法,而主链按顺序整合子链中的区块信息,形成溯源过程的完整区块链。本方法通过引入双领导者、心跳机制及加权共识等实现了降低选举成本,保持长连接通信,突出各条件属性对决策属性的差异影响程度等,提升了利用区块链不可篡改、可追溯的特性,解决溯源中最为重要的信任问题,提升公信力。本发明提出一种新的解决方案,溯源系统的容错率,提高了共识效率,并增强了溯源的可靠性。

权利要求 :

1.一种双领导者心跳加权溯源共识方法,其特征在于,该共识方法采用主链和子链相结合的模式,主链按顺序整合子链区块信息,形成溯源过程的完整区块链,溯源不同阶段对应不同子链,每个子链采用不同加权系数,具体共识过程如下:(1)确定双领导者心跳加权溯源共识节点身份,双领导者心跳加权溯源共识节点包括主领导者节点、备份领导者节点和跟随者节点,其中主领导者节点用于负责与跟随者节点进行通信以及生成区块;备份领导者节点对在前活动的主领导者节点的数据进行同步;确定在前活动的主领导者节点停止服务时,备份领导者节点作为当前活动的主领导者节点,根据与在前活动的主领导者节点同步的数据进行服务;跟随者节点用于与主领导者节点进行通信,并根据主领导者节点请求向主领导者节点反馈跟随者节点自身当前状态;

(2)主领导者节点随机地向跟随者节点发送消息,请求跟随者节点回复当前其对应的状态,跟随者节点响应请求并根据请求向主领导者节点反馈当前状态;

其中,主领导者节点与跟随者节点通过心跳机制保持长连接通信;

(3)主领导者节点根据跟随者节点向其反馈的状态进行加权共识;

(4)通过共识后由主领导者节点生成区块写入子链区块中;

重复步骤(1)至步骤(4)的共识过程直至遍历主链中的所有子链,完成双领导者心跳加权溯源共识;

所述主领导者节点和备份领导者节点的确定过程如下:通过竞争选举主领导者节点和备份领导者节点,具体是在多个竞争者之间通过抵押方式选举两个作为当前活动领导者节点,抵押份额排名第一的竞争者为主领导者节点,抵押份额排名第二的竞争者为备份领导者节点;

所述步骤(3)中加权共识过程如下:根据每个跟随者节点的重要程度为其赋予一个相对应的权重,然后将所有跟随者节点的自身权重与反馈状态做加权求和,若大于等于一个预先设定好的共识阈值,则通过共识。

2.根据权利要求1所述双领导者心跳加权溯源共识方法,其特征在于:所述步骤(2)在一个区块生成周期内,主领导者节点随机地通过发送请求包的方式向跟随者节点发送请求,要求跟随者节点回复当前状态,跟随者节点收到请求后,在规定时间内,将自身当前状态反馈给主领导者节点,未反馈的默认为错误状态。

3.根据权利要求1所述双领导者心跳加权溯源共识方法,其特征在于:所述加权共识过程满足如下关系式:

其中:S为加权和函数,wi为根据第i个跟随者节点其重要程度所赋予的权重且w1+w2+w3+…+wi+…+wn=1,xi代表第i个跟随者节点所反馈的状态信息,数字1表示正确的反馈状态,数字0表示错误的反馈状态,xi∈{0,1},F为共识函数,λ为共识阈值,将反馈状态根据预先设定的标准进行评判,正确反馈则用数字1表示,错误反馈或者未反馈的用0表示,具体评判标准根据跟随者节点的不同,分为以下两种情况:一是根据基准范围作为标准,反馈状态包含在基准范围内,则认定是正确反馈,用1表示;二是根据能否反馈信息作为标准,正常反馈的则为正确反馈,用1表示,未反馈则用0表示。

说明书 :

双领导者心跳加权溯源共识方法

技术领域

[0001] 本发明涉及区块链共识技术领域,具体来说涉及一种双领导者心跳加权溯源共识方法。

背景技术

[0002] 区块链最初作为比特币的底层技术进入人们的视野,并以其良好的分布式存储、点对点传输机制、数据可追溯性、数据防篡改性逐渐为人们所认可。随着区块链技术不断成
熟,其应用场景不断扩展,已经迎来了区块链3.0的时代。共识算法是协调全网中所有数据
一致性的算法协议,是区块链技术中的核心问题,目前比较主流的几种共识算法有:POW工
作量证明算法,它主要应用在比特币生成的算法,是以算力为代价达成共识获取奖励,要求
节点通过双SHA256Hash的运算得到一个值,但是对计算机的算力以及能源造成极大的浪
费;POS股权证明算法,它的基本思想是持有股权最多的获得记账权的节点激励越大,其相
对于POW算法的优势是不浪费算力,但是没有办法保证股份分配公平。
[0003] 同时现有溯源技术大多存在溯源信息不完整,说服力不强等缺点。

发明内容

[0004] 针对现有技术中存在的问题,本发明的目的是提出了一种双领导者心跳加权溯源共识方法,适用于溯源场景,降低了选举成本,提高了共识效率,提升了溯源容错率。
[0005] 为实现上述目的,本发明采用如下技术方案:一种双领导者心跳加权溯源共识方法,其特征在于,该共识方法采用主链和子链相结合的模式,主链按顺序整合子链区块信
息,形成溯源过程的完整区块链,溯源不同阶段对应不同子链,每个子链采用不同加权系
数,具体共识过程如下:
[0006] (1)确定双领导者心跳加权溯源共识节点身份,双领导者心跳加权溯源共识节点包括主领导者节点、备份领导者节点和跟随者节点,其中主领导者节点用于负责与跟随者
节点进行通信以及生成区块;备份领导者节点对在前活动的主领导者节点的数据进行同
步;确定在前活动的主领导者节点停止服务时,备份领导者节点作为当前活动的主领导者
节点,根据与在前活动的主领导者节点同步的数据进行服务;跟随者节点用于与主领导者
节点进行通信,并根据主领导者节点请求向主领导者节点反馈跟随者节点自身当前状态;
[0007] (2)主领导者节点随机地向跟随者节点发送消息,请求跟随者节点回复当前其对应的状态,跟随者节点响应请求并根据请求向主领导者节点反馈当前状态;
[0008] 其中,主领导者节点与跟随者节点通过心跳机制保持长连接通信;
[0009] (3)主领导者节点根据跟随者节点向其反馈的状态进行加权共识;
[0010] (4)通过共识后由主领导者节点生成区块写入子链区块中;
[0011] 重复步骤(1)至步骤(4)的共识过程直至遍历主链中的所有子链,完成双领导者心跳加权溯源共识。
[0012] 作为本发明的一种优选技术方案,所述主领导者节点和备份领导者节点的确定过程如下:通过竞争选举主领导者节点和备份领导者节点,具体是在多个竞争者之间通过抵
押方式选举两个作为当前活动领导者节点,抵押份额排名第一的竞争者为主领导者节点,
抵押份额排名第二的竞争者为备份领导者节点。
[0013] 进一步,所述步骤(2)在一个区块生成周期内,主领导者节点随机地通过发送请求包的方式向跟随者节点发送请求,要求跟随者节点回复当前状态,跟随者节点收到请求后,
在规定时间内,将自身当前状态反馈给主领导者节点,未反馈的默认为错误状态。
[0014] 进一步,所述步骤(3)中加权共识过程如下:根据每个跟随者节点的重要程度为其赋予一个相对应的权重,然后将所有跟随者节点的自身权重与反馈状态做加权求和,若大
于等于一个预先设定好的共识阈值,则通过共识。
[0015] 加权共识过程满足如下关系式:
[0016]
[0017]
[0018] 其中:S为加权和函数,wi为根据第i个跟随者节点其重要程度所赋予的权重且w1+w2+w3+…+wi+…+wn=1,xi代表第i个跟随者节点所反馈的状态信息,数字1表示正确的反馈
状态,数字0表示错误的反馈状态,xi∈{0,1},F为共识函数,λ为共识阈值,将反馈状态根据
预先设定的标准进行评判,正确反馈则用数字1表示,错误反馈或者未反馈的用0表示,具体
评判标准根据跟随者节点的不同,分为以下两种情况:一是根据基准范围作为标准,反馈状
态包含在基准范围内,则认定是正确反馈,用1表示;二是根据能否反馈信息作为标准,正常
反馈的则为正确反馈,用1表示,未反馈则用0表示。
[0019] 通过上述设计方案,本发明可以带来如下有益效果:本发明提出的双领导者心跳加权溯源共识方法,适用于溯源场景,降低了选举成本,提高了共识效率,提升了溯源容错
率。本发明的溯源共识方法应用于产品溯源体系构架中,可以按照产品实际生产和销售流
程定义产品溯源体系,溯源过程采用主链和子链相结合的模式,主链按顺序整合子链区块
信息,形成溯源过程的完整区块链,对整个过程进行维护,保护其安全性,溯源不同阶段对
应不同子链,每个子链使用具有不同加权系数的共识方法,提升效率。

附图说明

[0020] 图1为本发明实施例中基于农产品溯源系统的双领导者心跳加权溯源共识方法工作原理示意图。
[0021] 图2为本发明实施例农产品溯源过程中的种植阶段共识方法工作原理示意图。

具体实施方式

[0022] 本发明提出了一种双领导者心跳加权溯源共识方法,该共识方法采用主链和子链相结合的模式,主链按顺序整合子链区块信息,形成溯源过程的完整区块链,溯源不同阶段
对应不同子链,每个子链采用不同加权系数,具体共识过程如下:
[0023] (1)确定双领导者心跳加权溯源共识节点身份,双领导者心跳加权溯源共识节点包括主领导者节点、备份领导者节点和跟随者节点,其中主领导者节点用于负责与跟随者
节点进行通信以及生成区块;备份领导者节点对在前活动的主领导者节点的数据进行同
步;确定在前活动的主领导者节点停止服务时,备份领导者节点作为当前活动的主领导者
节点,根据与在前活动的主领导者节点同步的数据进行服务;跟随者节点用于与主领导者
节点进行通信,并根据主领导者节点请求向主领导者节点反馈跟随者节点自身当前状态;
[0024] 其中,主领导者节点和备份领导者节点确定过程如下:通过竞争选举主领导者节点和备份领导者节点,具体是在多个竞争者之间通过抵押方式选举两个作为当前活动领导
者,抵押份额排名第一的竞争者为主领导者节点,抵押份额排名第二的竞争者为备份领导
者节点;如若主领导者节点发生故障,则备份领导者节点作为当前活动主领导者节点,然后
选举产生新的备份领导者节点;
[0025] 本发明采用备份领导者节点的方式减少了区块链中频繁选举领导者节点产生的成本以及时间,大大的增加了系统运行过程中的容错率;
[0026] (2)主领导者节点在当前区块生成期间内随机地向跟随者节点发送消息,请求跟随者节点回复当前其对应的状态,不同场景下的跟随者节点也是不相同的,主领导者节点
与不同场景下的跟随者节点通过心跳保持长连接通信,跟随者节点收到主领导者节点请求
后,会根据当前真实情况反馈给主领导者节点相对应状态,在此期间所有的数据非人为录
入以及传输的,从而保持了数据最重要的真实性,提升了溯源的可靠性;
[0027] 进一步,主领导者节点与跟随者节点通过心跳机制保持长连接通信,在当前区块生成期间内主领导者节点随机地通过发送请求包的方式向跟随者节点发送请求,要求跟随
者节点回复当前状态,跟随者节点收到请求后,在规定时间内,将自身当前状态反馈给主领
导者节点,未反馈的默认为错误状态;
[0028] (3)主领导者节点根据跟随者节点向其反馈的状态进行加权共识,在实际情况中,各条件属性对决策属性的影响程度是有差异的,权重优势关系更符合实际情况,因此本发
明引入权重。n个跟随者节点相互独立,则加权共识算法如下:
[0029]
[0030]
[0031] 其中:S为加权和函数,wi为根据第i个跟随者节点其重要程度所赋予的权重且w1+w2+w3+…+wi+…+wn=1,xi代表第i个跟随者节点所反馈的状态信息,数字1表示正确的反馈
状态,数字0表示错误的反馈状态,xi∈{0,1},F为共识函数,λ为共识阈值,将反馈状态根据
预先设定的标准进行评判,正确反馈则用数字1表示,错误反馈或者未反馈的用0表示,具体
评判标准可以分为以下两种情况:一是,根据基准范围作为标准,反馈状态包含在基准范围
内,则认定是正确反馈,比如基准温度范围为20℃‑30℃,则反馈温度值为25℃,则认定为正
确反馈,用1表示;二是,根据能否反馈信息作为标准,正常反馈的则为正确反馈,用1表示,
未反馈则用0表示;
[0032] (4)当加权和大于等于共识阈值时,即F(S)=1,则共识通过,通过共识后由当前阶段主领导者节点生成区块,写入子链。
[0033] 重复步骤(1)至步骤(4)的共识过程直至遍历主链中的所有子链,完成双领导者心跳加权溯源共识。
[0034] 本溯源共识方法中主领导者节点与跟随者节点之间通过发送请求包的方式保持通信以及长连接,其中请求包有两种形式,当请求包为空时,该请求包作为心跳确保连接的
有效性,当请求包不为空时,具体为请求跟随者节点反馈当前状态。
[0035] 本溯源方法可以按照产品实际生产销售流程,阶段场景并不固定,每个阶段之间有严格的递进关系。主链按顺序整合子链区块信息,形成溯源过程的完整区块链,对整个过
程进行维护,保护其安全性,子链根据应用场景选择合适的共识机制,提升效率。数据的完
整信息则存放在本地数据库中,不存储到区块链中,以减小区块容量。
[0036] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施例,并参照图1和图2,对本发明作进一步的详细说明。
[0037] 一种双领导者心跳加权溯源共识方法,以涵盖种植、加工、运输及销售阶段的农产品溯源系统中的种植阶段子链共识算法为例,描述本发明共识方法的实施过程。具体步骤
如下:
[0038] (1)竞选领导者:在多个竞争者之间通过抵押方式选举两个作为当前活动领导者,抵押份额排名第一的竞争者为主领导者节点,负责系统运转,抵押份额排名第二的竞争者
为备份领导者节点,负责备份主领导者节点内容;某一时刻如若主领导者节点发生故障,则
立即启动备份领导者节点作为当前新的主领导者节点,然后选举产生新的备份领导者节
点;
[0039] (2)主领导者节点在当前区块生成期间内随机地选择一个发送时间点向所有跟随者节点发送消息,请求跟随者节点回复当前状态,跟随者节点响应请求并根据请求反馈当
前状态。在本实例中,跟随者节点数目为五个,五个跟随者节点分别代表检测农产品种植阶
段该农产品生长所依赖的土壤温度、土壤水分、空气湿度、空气温度和光照强度;
[0040] (3)主领导者节点根据回复消息状态进行加权共识,第i个跟随者节点回复的状态记为xi,如若在规定的时间内,第i个跟随者节点回复状态并且正确,则令xi=1,否则令xi=
0。本实例中,根据跟随者节点在该农产品生长过程中的重要程度为其所赋予的权重w1、w2、
w3、w4及w5分别为0.25、0.35、0.05、0.10和0.25,本发明预设的共识阈值λ=0.8,根据跟随者
节点实际反馈情况所得到的x1、x2、x3、x4及x5分别为1、1、1、0和1,最后主领导者节点通过加
权和与共识阈值的比较进行加权共识;
[0041] (4)通过共识后主领导者节点负责生成区块写入子链,其他的溯源阶段,如加工、运输、销售阶段子链共识过程与以上步骤类似,主链按顺序整合子链区块信息,形成溯源过
程的完整区块链,对整个过程进行维护,保护其安全性。
[0042] 本发明公开了一种双领导者心跳加权溯源共识方法,利用区块链不可篡改、可追溯的特性,解决溯源中最为重要的信任问题,提升公信力。针对如今溯源技术大多存在溯源
信息不完整,说服力不强等缺点,本发明提出一种新的解决方案,采用主链和子链相结合的
模式,不同子链对应溯源不同阶段,每个子链使用具有不同加权系数的共识算法,而主链按
顺序整合子链中的区块信息,形成溯源过程的完整区块链。本方法通过引入双领导者、心
跳、加权等实现了降低选举成本,保持长连接通信,突出各条件属性对决策属性的差异影响
程度等,提升了溯源系统的容错率,提高了共识效率,并增强了溯源的可靠性。
[0043] 以上列举的仅是本发明的一个具体实施例,任何根据本发明内容直接导出的变形,均应认为是本发明的保护范围。