一种基于环境自适应的区块链节点信用评价方法与流程
未命名
09-29
阅读:81
评论:0
1.本发明发明属于区块链节点信用评价领域,尤其涉及一种基于环境自适应的区块链节点信用评价方法。
背景技术:
2.区块链是一种分布式账本技术,它通过密码学、共识机制、智能合约等技术实现了去中心化、防篡改、可追溯等特点。其中区块链的共识机制的作用是保证区块链中各节点的一致性,它的优劣直接影响了区块链的性能。常见的区块链共识算法包括工作量证明(pow)算法、委托股权证明(dpos)算法、实用拜占庭容错(pbft)算法等,它们可以解决不同场景下的区块链节点一致性问题。但是当区块链节点数量增加时,共识算法的通信复杂度提升,会导致区块链系统出现延迟升高、吞吐量下降、中心化程度增加等等问题,这限制了区块链在更广泛领域的应用。为了解决上述问题,可以利用分片技术,即通过聚类算法将区块链节点分隔成多个并行的子系统,进而提升共识算法的可拓展性以及区块链系统的去中心化程度。但是这也带来了各分片间数据不一致性的风险,因为各分片的领导节点若发生故障或作恶都会导致该分片中的节点无法完成共识以及与其它分片节点的同步,在这种情况下各分片的领导节点是否可靠就影响了整个区块链系统的稳定性。
3.目前常见的方案是设计一种针对区块链节点的节点信用评价算法来综合评价节点历史表现、节点网络环境、节点工作负载等因素对节点的影响,并使用该算法来选择各分片的领导节点。但是,这种评价方法只可以做到避免将可靠性低的节点选为领导节点,并不能保证选出的是能使共识算法性能最优的节点。因为评价算法中不同因素的权重设置会导致最终选出的领导节点不一样,而算法中不同因素的权重是和环境密切相关的,目前的方案缺乏根据部署环境不同来对评价算法中各因素权重进行调整的设计。
4.通过上述分析,现有的解决方法存在的问题及缺陷为:
5.由于在不同的部署环境中,节点网络环境、节点工作负载等因素对节点的影响可能是不同的,比如当区块链部署在网络环境复杂的场景时评价算法中网络环境影响的权重就应该提升,当部署在节点算力弱或节点任务负载较重的系统时则应该提升节点负载影响的权重。所以当前的算法难以在不同部署环境下准确评估节点的信用,因为不同信用计算公式对节点的信用评估结果是不同的。
6.解决上述问题及缺陷的困难在于:一,确定当前部署环境中哪些节点是能够让共识算法性能最优的节点。由于节点信用评价算法不能准确评估当前部署环境下各影响因素的权重,也就难以确定各集群的领导节点,因为不同信用计算公式对节点的信用评估结果是不同的。二,如何确定评价机制中各要素的权重。不同部署环境下节点历史表现、节点网络环境、节点工作负载对节点选择的影响是不同的,需要找到方法来根据环境不同调整信用计算公式中各因素的权重。
7.解决上述问题的意义为:共识算法的性能优劣决定了区块链性能的优劣。当区块链的部署场景中节点数量多、部署分散的场景时,分片技术可以提升区块链的吞吐量和可
扩展性。而为了区块链系统的稳定性,保证各分片的数据一致性,就需要为各分片选出可靠的领导节点。而区块链的部署环境多样,如何在不同的部署环境下选择区块链系统各分片的领导节点是当前亟待解决的问题。
技术实现要素:
8.为解决现有技术存在的问题,本发明采用以下技术方案:
9.一种基于环境自适应的区块链节点信用评价方法,包括以下步骤:
10.利用dqn算法对区块链节点进行分片并选择各分片的领导节点;
11.设计节点信用评价算法,通过对照dqn算法选择的领导节点对节点信用评价算法进行调整;
12.在区块链节点中部署节点信用评价算法并实时对节点进行评价,当领导节点性能下降可能影响系统稳定性时用片内评价最优的节点对当前领导节点进行替换;
13.其中,所述利用dqn算法对区块链节点进行分片并选择各分片的领导节点,具体包括:
14.明确将要参与共识的节点;
15.对参与共识的节点进行预分片,并在每一分片中随机选择领导节点;所述领导节点负责片内共识与片间共识;
16.将节点评价与领导节点选择问题转化为马尔可夫决策问题,并确定马尔可夫决策问题模型的参数;
17.利用dqn算法对马尔可夫决策问题模型进行训练,获得决策网络;
18.利用所述决策网络对区块链节点进行分片以及选择各分片领导节点。
19.作为优选实施例,所述明确将要参与共识的节点,具体包括:
20.随机挑选一个节点n0作为领导节点,开始广播探测信号,其余节点收到探测信号后进行回复,领导节点确认全部参与共识的节点,将参与共识的节点编号为{1,2,3,...,n0}并将节点编号同步至其它节点。
21.作为优选实施例,所述马尔可夫决策问题模型的参数包括状态空间s
t
、动作空间a
t
、奖励函数r
t
以及每次动作与区块链系统交互时间time。
22.作为优选实施例,所述状态空间s
t
表示为:
23.s
t
={m
t
,l
t
,p
t
,d
t
,w
t
};
24.其中,t为时间步,m
t
是时间步t每个分片领导节点在交互时间time接收到的数据数的平均值,l
t
是时间步t各分片领导节点的编号,d
t
是时间步t中各分片中从节点计算与组内其它节点通信延迟的均值,w
t
是时间步t领导节点的工作负载的均值;
25.所述动作空间a
t
包括各分片中各节点的编号以及领导节点的编号;
26.所述奖励函数r
t
表示为:
[0027][0028]
其中为每一分片中领导节点与分片内其它节点的通信延迟的平均值,为每一分片领导节点处理数据所用时间的平均值,m
t
为所用时间中上传数据量。
[0029]
作为优选实施例,所述利用dqn算法对马尔可夫决策问题模型进行训练,获得决策
网络,具体包括:
[0030]
s141、初始化dqn算法的训练网络q与目标网络q-的参数;
[0031]
s142、计算状态空间s
t
,根据训练网络q以ε-贪婪策略选择动作执行,即对各分片节点以及领导节点进行调整,经过与区块链系统交互后更新奖励函数r
t
和状态向量s
t+1
;
[0032]
s143、将经验序列(s
t
,a
t
,r
t
,s
t+1
)存入经验集合d,判断经验集合d中的数据量是否已经达到预设阈值,若未达到预期则返回步骤s142;
[0033]
s144、从经验集合d中随机抽取m个样本,将每个样本输入目标网络q-,计算目标值q
target
,根据梯度下降算法优化网络参数使输出值接近目标值的程度满足预设要求;通过梯度下降算法最小化目标损失;
[0034]
s145、判断是否完成e轮训练,未完成则更新状态空间s
t
并返回步骤s142;
[0035]
s146、计算当前状态值利用决策网络进行节点分片以及各领导节点选择。
[0036]
作为优选实施例,所述设计节点信用评价算法,通过对照dqn算法选择的领导节点对节点信用评价算法进行调整,具体步骤包括:
[0037]
设计共识节点性能评价算法,包括网络环境、节点工作负载以及交易历史记录;
[0038]
通过调整性能评价算法使评价结果靠近dqn算法的结果。
[0039]
作为优选实施例,所述通过调整性能评价算法使评价结果靠近dqn算法的结果,具体包括步骤:
[0040]
在dqn算法确认分片节点以及各分片的领导节点后,仍以时间t为周期进行共识测试,在周期t内各节点计算性能评价值;
[0041]
对分片内的性能评价值进行排序,若性能最优节点与qdn算法确认的节点不同,则调整α,β,γ并重新计算各节点性能评价值并排序,直到信用值最高节点与dqn算法确认的节点相同。
[0042]
作为优选实施例,所述实时对节点进行评价,具体包括以下步骤:
[0043]
初始化信用评价阈值t;
[0044]
每个分片中各节点计算自己的信用值,每轮共识完成后各节点更新信用值;
[0045]
每轮共识结束后每个节点向其它节点广播更新后的本节点信用值,将列表中节点按照信用值从高向低排序。
[0046]
作为优选实施例,所述当领导节点性能下降可能影响系统稳定性时用片内评价最优的节点对当前领导节点进行替换,具体包括步骤:
[0047]
当领导节点的信用值低于信用评价阈值t,列表中信用值最高的节点k向分片内其它节点广播领导节点转换请求信息,其它节点收到请求后查看节点k是否为当前信用值最高节点,若是则向节点k返回领导节点确认信息;
[0048]
若节点k收到大于等于个领导节点确认信息,节点k向片内其它节点广播新领导节点信息,其它节点在收到信息后确认新的领导节点为节点k;其中,n为分片j的节点数量。
[0049]
作为优选实施例,所述节点信用评价算法表示为:
[0050]
g(i)=αci+βhi+γwi[0051]
其中,i∈{1,2,3,...,n0},ci为节点i与分片内其它节点的通信延迟的均值,hi为
节点i参与系统共识任务的情况,wi为节点i的cpu负载情况,α,β和γ均为调节系数。
[0052]
结合上述的所有技术方案,本发明所具备的有益效果为:
[0053]
本发明通过使用dqn算法对区块链节点进行分片并选择各分片的领导节点,保证了区块链系统分片后共识算法的吞吐量、延迟等性能的稳定,提升了区块链系统的可拓展性;
[0054]
本发明通过对比dqn算法的领导节点选择结果对节点信用评价算法进行调整使节点信用评价算法可以选择出当前部署环境下区块链系统各分片性能最优的节点作为领导节点,提升了区块链系统的稳定性。
附图说明
[0055]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0056]
图1是本发明实施例提供的基于环境自适应的区块链节点信用评价方法流程图;
[0057]
图2是本发明实施例提供的区块链节点分片示意图;
[0058]
图3是本发明实施例提供的利用节点信用评价算法对节点进行评价以及领导节点转换流程图;
[0059]
图4是本发明实施例提供的区块链节点中保存的当前分片中节点信用值列表的示意图。
具体实施方式
[0060]
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0061]
针对现有技术存在的问题,本发明提供了一种基于环境自适应的信用评价机制的方法。
[0062]
如图1所示,本发明提供的基于环境自适应的区块链节点信用评价方法包括以下步骤:
[0063]
s1:利用dqn算法对区块链节点进行分片并选择各分片的领导节点;
[0064]
s2:设计节点信用评价算法,通过对照dqn算法选择的领导节点对节点信用评价算法进行调整;
[0065]
s3:在区块链节点中部署节点信用评价算法并实时对节点进行评价,当领导节点性能下降可能影响系统稳定性时用片内评价最优的节点对当前领导节点进行替换。
[0066]
本发明提供的基于环境自适应的信用评价机制的方法业内普通的技术人员还可以采用其它的步骤实施,图1的本发明提供的基于环境自适应的区块链节点信用评价方法
仅仅是一个具体实施例而已。
[0067]
下面结合附图对本技术进行进一步描述。
[0068]
本发明是这样实现的,一种基于环境自适应的区块链节点信用评价方法,具体步骤为:
[0069]
s1、利用dqn算法对区块链节点进行分片并选择各分片的领导节点;
[0070]
s2、设计节点信用评价算法,通过对照dqn算法选择的领导节点对节点信用评价算法进行调整;
[0071]
s3、在区块链节点中部署节点信用评价算法并实时对节点进行评价,当领导节点性能下降可能影响系统稳定性时用片内评价最优的节点对当前领导节点进行替换。
[0072]
进一步,利用dqn算法对区块链节点进行分片并选择各分片的领导节点,具体包括步骤:
[0073]
s11、明确参与共识的节点;
[0074]
s12、对参与共识的节点进行预分片,并在每一分片中随机选择领导节点;所述领导节点负责片内共识与片间共识;
[0075]
s13、将节点评价与领导节点选择问题转化为马尔可夫决策问题,并确定马尔可夫决策问题模型的参数;
[0076]
s14、利用dqn算法对马尔可夫决策问题模型进行训练,获得决策网络;
[0077]
s15、利用训练得到的网络对节点进行分片以及领导节点选择。
[0078]
进一步,所述步骤s11的明确参与共识的节点,具体包括为:随机挑选一个节点n0作为领导节点,开始广播探测信号,其余节点收到探测信号后进行回复,领导节点确认全部参与共识的节点,将参与共识的节点编号为:{1,2,3,...,n0}。
[0079]
进一步,所述步骤s12的对参与共识的节点进行预分片,并在每一分片中随机选择领导节点,具体为:对参与共识的节点进行随机分片并在各分片内随机选择领导节点;所述随机分片将参与共识的节点分为{p1,p2,p3,....pi}共i个分片;所述领导节点表示为{l1,l2,...,li},图2示出了对区块链节点进行分片与领导节点选择后的拓扑图。
[0080]
进一步,所述步骤s13中的马尔可夫决策问题模型的参数包括状态空间s
t
、动作空间a
t
、奖励函数r
t
以及每次动作与区块链系统交互时间time。
[0081]
其中,状态空间函数s定义如下:
[0082]st
={m
t
,l
t
,p
t
,d
t
,w
t
};
[0083]
其中,t为时间步,m
t
是时间步t每个分片领导节点在交互时间time接收到的数据数的平均值,表示为:l
t
是时间步t各分片领导节点的编号,表示为:l
t
(i),i∈{1,2,3,...i};p
t
是当前各分片内参与公式的节点的编号;d
t
是时间步t中各分片中从节点计算与组内其它节点通信延迟d
t
(i)的均值其中各分片中从节点计算与组内其它节点通信延迟d
t
(i)的计算方法是计算每个分片中各节点与分片内其它节点的通信延迟并求其均值,得每一分片中节点的延迟函数:{d
t
(1),d
t
(2),d
t
(3),...,d
t
(i)};w
t
是时间步t领导节点的工作负载的均值其中时间步t领导节
点的工作负载的计算方法为cpu处理单个数据包所用cpu周期数ηw/单位时间内可用cpu周期数η
l
,得各分片领导节点cpu工作时间{w
t
(1),w
t
(2),...,w
t
(i)};
[0084]
动作空间a
t
定义如下,动作空间a
t
包括了各分片中各节点的编号{p
i1
,p
i2
,p
i3
,...p
in
}以及领导节点的编号li,i∈{1,2,3,...,n0},n为分片i中的节点总数;
[0085]
奖励函数r
t
是时间步t中执行动作后与区块链系统进行交互,由各分片的通信延迟均值、领导节点的处理时延以及该时间段中上传数据量计算得到,其计算方法如下:计算各分片的通信延迟均值以及领导节点的处理时延以及该时间段中上传数据量;
[0086]
其中为每一分片中领导节点与分片内其它节点的通信延迟的平均值,为每一分片领导节点处理数据所用时间的平均值,m
t
为该时间段中上传数据量。
[0087]
进一步,利用dqn算法对马尔可夫决策问题模型进行训练,获得决策网络,具体过程包括:
[0088]
s141、初始化dqn算法的训练网络q与目标网络q-的参数,包括训练序列数e,训练网络参数θ,目标网络参数θ-,经验回放集合d,每次抽样数量m、用于训练中纠偏的折扣因子η,规定训练序列数e与时间步t;
[0089]
s142、针对每一个分片i,计算状态空间s
t
,根据训练网络q以ε-贪婪策略选择动作执行,即对各分片节点以及领导节点进行调整,经过与区块链系统交互后更新奖励函数r
t
和状态向量s
t+1
;
[0090]
s143、将得到的一条经验序列(s
t
,a
t
,r
t
,s
t+1
)存入经验集合d,判断经验集合d中的数据量是否已经达到预设阈值m,若未达到预期则返回步骤(2);
[0091]
s144、从经验集合d中随机抽取m个样本{(s
ti
,a
ti
,r
ti
,s
ti+1
)}
i=1,...,m
,将每个样本输入目标网络q-,计算目标值q
target
,根据梯度下降算法优化网络参数使输出值接近目标值的程度满足预设要求;其中q
target
的计算如下:q
target
=r
t
+ηmaxq(s
t+1
,a
t+1
;θ-)式中θ-为目标网络q-的参数;通过梯度下降算法调整训练网络q网络参数θ最小化目标损失
[0092]
当前神经网络每优化n轮,将其网络参数θ复制给目标网络参数
[0093]
s145、判断是否完成e轮训练,未完成则更新s
t
,设定s
t
=s
t+1
并返回步骤s10142,若是则结束训练;其中e为预设的训练轮次。
[0094]
s146、计算当前状态值利用决策网络进行节点分片以及各领导节点选择。
[0095]
进一步地,请参阅图3,所述步骤s2,具体包括以下步骤:
[0096]
s21、设计节点信用评价算法,节点信用评价算法涉及网络环境、节点工作负载以及交易历史记录;
[0097]
s22、通过调整节点信用评价算法中的各因素的系数使算法评价结果靠近dqn算法的结果,使节点信用评价算法适应当前区块链部署环境。
[0098]
进一步,步骤s21包括:
[0099]
定义共识节点i∈{1,2,3,...,n0},节点信用评价算法表示为:
[0100]
g(i)=αci+βhi+γwi;
[0101]
其中ci为节点i与分片内其它节点的通信延迟p
ij
的均值,其中j为领导节点i的分片中其它节点;
[0102]
其中hi为节点i参与系统共识任务的情况,其中n是系统为节点i分配的总任务数量,m是节点完成的任务数量,b
x
则根据当前节点是否成功执行任务取1或-1;
[0103]
其中wi为节点i的cpu负载情况,其中m是当前周期节点处理任务的数量,t
x
则是当前节点在处理任务x时从接收任务到完成所耗费的时间,通过完成任务耗时来反映当前节点cpu的负载情况;
[0104]
α,β,γ则是调节以上三要素的系数,通过调节这三个系数让评价算法更符合节点当前所在环境。
[0105]
进一步,通过调整节点信用评价算法中的各因素的系数使算法评价结果靠近dqn算法的结果,即通过调整评价算法中的各系数α,β,γ来使区块链系统各分片中信用值最高节点与通过dqn算法获得的各分片领导节点一致。
[0106]
步骤s22的具体步骤如下:在dqn算法确认分片节点以及各分片的领导节点后,仍以时间t为周期进行共识测试,在周期t内各节点计算自己的性能评价值j∈{1,2,3,...,n}其中j为分片i中的节点;然后对分片内的性能评价值进行排序,若性能最优节点与qdn算法确认的节点不同,则调整α,β,γ并重新计算各节点并排序,直到信用值最高节点与dqn算法确认的节点相同,通过这种方法最终得到适应当前部署环境的节点信用评价算法。
[0107]
请参阅图3,步骤s3目的在于将节点信用评价算法部署在节点中,用于在运行过程中监控节点性能,并当性能下降时对片内领导节点进行替换。
[0108]
进一步,所述实时对节点进行评价,具体包括以下步骤:
[0109]
s311、初始化信用评价阈值t;
[0110]
s312、每个分片中各节点计算自己的信用值g
ij
,其中i∈{1,2,3,...,i},j∈{1,2,3,...,n},j为分片i中的节点,每轮共识完成后各节点更新信用值;
[0111]
s313、如图4所示,每个节点中维持一个片内所有节点的信用值的信用值列表,节点信用值均初始化为1,每轮共识结束后每个节点向其它节点广播更新后的本节点最新的信用值将列表中节点按照信用值从高向低排序。
[0112]
进一步,所述当领导节点性能下降可能影响系统稳定性时用片内评价最优的节点对当前领导节点进行替换,具体步骤如下:
[0113]
s321、当领导节点的信用值低于信用评价阈值t时,当前分片开始进行领导节点转换;
[0114]
此时列表中信用值最高的节点k应为新的领导节点,节点k向分片内其它节点广播领导节点转换请求信息,其它节点收到请求后查看节点k是否为当前信用值最高节点,若是则向节点k返回领导节点确认信息;
[0115]
其中,领导节点转换请求信息为<req-new,n>,req-new表明当前信息用于领导节点转换,n为节点k的编号,其它节点收到请求后验证节点k的信用值是否为本地列表中最高,若是则返回领导节点确认信息;
[0116]
其中,领导节点确认信息为<confirm-leader,n>,confirm-leader表明当前信息用于领导节点确认,n为节点k的编号。
[0117]
s322、若节点k收到大于等于(n为分片j的节点数量)个领导节点确认信息,则说明节点k可以成为新的领导节点;
[0118]
节点k向片内其它节点广播新领导节点信息,其它节点在收到信息后确认新的领导节点为节点k;
[0119]
其中新领导节点信息为<new-leader,n>,new-leader表示该信息为新领导节点编号,为节点k的编号。
[0120]
至此,该分片完成了领导节点转换。
[0121]
综上所述,本发明通过dqn算法为部署在不同环境的区块链系统选择了能使共识算法在当前部署环境下性能最优的分片方案与各分片的领导节点。同时通过dqn算法的领导节点选择结果对节点信用评价算法进行了调整,使其可以在区块链系统运行过程中选出能使区块链性能在当前部署环境下最优的领导节点。
[0122]
以上内容仅仅是对本发明结构所做的举例和说明,所属本技术领域的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
技术特征:
1.一种基于环境自适应的区块链节点信用评价方法,其特征在于:包括以下步骤:利用dqn算法对区块链节点进行分片并选择各分片的领导节点;设计节点信用评价算法,通过对照dqn算法选择的领导节点对节点信用评价算法进行调整;在区块链节点中部署节点信用评价算法并实时对节点进行评价,当领导节点性能下降可能影响系统稳定性时用片内评价最优的节点对当前领导节点进行替换;其中,所述利用dqn算法对区块链节点进行分片并选择各分片的领导节点,具体包括:明确将要参与共识的节点;对参与共识的节点进行预分片,并在每一分片中随机选择领导节点;所述领导节点负责片内共识与片间共识;将节点评价与领导节点选择问题转化为马尔可夫决策问题,并确定马尔可夫决策问题模型的参数;利用dqn算法对马尔可夫决策问题模型进行训练,获得决策网络;利用所述决策网络对区块链节点进行分片以及选择各分片领导节点。2.根据权利要求1所述的基于环境自适应的区块链节点信用评价方法,其特征在于:所述明确将要参与共识的节点,具体包括:随机挑选一个节点n0作为领导节点,开始广播探测信号,其余节点收到探测信号后进行回复,领导节点确认全部参与共识的节点,将参与共识的节点编号为{1,2,3,...,n0}并将节点编号同步至其它节点。3.根据权利要求1所述的基于环境自适应的区块链节点信用评价方法,其特征在于:所述马尔可夫决策问题模型的参数包括状态空间s
t
、动作空间a
t
、奖励函数r
t
以及每次动作与区块链系统交互时间time。4.根据权利要求3所述的基于环境自适应的区块链节点信用评价方法,其特征在于:所述状态空间s
t
表示为:s
t
={m
t
,l
t
,p
t
,d
t
,w
t
};其中,t为时间步,m
t
是时间步t每个分片领导节点在交互时间time接收到的数据数的平均值,l
t
是时间步t各分片领导节点的编号,d
t
是时间步t中各分片中从节点计算与组内其它节点通信延迟的均值,w
t
是时间步t领导节点的工作负载的均值;所述动作空间a
t
包括各分片中各节点的编号以及领导节点的编号;所述奖励函数r
t
表示为:其中为每一分片中领导节点与分片内其它节点的通信延迟的平均值,为每一分片领导节点处理数据所用时间的平均值,m
t
为所用时间中上传数据量。5.根据权利要求1所述的基于环境自适应的区块链节点信用评价方法,其特征在于:所述利用dqn算法对马尔可夫决策问题模型进行训练,获得决策网络,具体包括:s141、初始化dqn算法的训练网络q与目标网络q-的参数;s142、计算状态空间s
t
,根据训练网络q以ε-贪婪策略选择动作执行,即对各分片节点以及领导节点进行调整,经过与区块链系统交互后更新奖励函数r
t
和状态向量s
t+1
;
s143、将经验序列(s
t
,a
t
,r
t
,s
t+1
)存入经验集合d,判断经验集合d中的数据量是否已经达到预设阈值,若未达到预期则返回步骤s142;s144、从经验集合d中随机抽取m个样本,将每个样本输入目标网络q-,计算目标值q
target
,根据梯度下降算法优化网络参数使输出值接近目标值的程度满足预设要求;通过梯度下降算法最小化目标损失;s145、判断是否完成e轮训练,未完成则更新状态空间s
t
并返回步骤s142;s146、计算当前状态值利用决策网络进行节点分片以及各领导节点选择。6.根据权利要求1所述的基于环境自适应的区块链节点信用评价方法,其特征在于:所述设计节点信用评价算法,通过对照dqn算法选择的领导节点对节点信用评价算法进行调整,具体步骤包括:设计共识节点性能评价算法,包括网络环境、节点工作负载以及交易历史记录;通过调整性能评价算法使评价结果靠近dqn算法的结果。7.根据权利要求6所述的基于环境自适应的区块链节点信用评价方法,其特征在于:所述通过调整性能评价算法使评价结果靠近dqn算法的结果,具体包括步骤:在dqn算法确认分片节点以及各分片的领导节点后,仍以时间t为周期进行共识测试,在周期t内各节点计算性能评价值;对分片内的性能评价值进行排序,若性能最优节点与qdn算法确认的节点不同,则调整α,β,γ并重新计算各节点性能评价值并排序,直到信用值最高节点与dqn算法确认的节点相同。8.根据权利要求1所述的基于环境自适应的区块链节点信用评价方法,其特征在于:所述实时对节点进行评价,具体包括以下步骤:初始化信用评价阈值t;每个分片中各节点计算自己的信用值,每轮共识完成后各节点更新信用值;每轮共识结束后每个节点向其它节点广播更新后的本节点信用值,将列表中节点按照信用值从高向低排序。9.根据权利要求8所述的基于环境自适应的区块链节点信用评价方法,其特征在于:所述当领导节点性能下降可能影响系统稳定性时用片内评价最优的节点对当前领导节点进行替换,具体包括步骤:当领导节点的信用值低于信用评价阈值t,列表中信用值最高的节点k向分片内其它节点广播领导节点转换请求信息,其它节点收到请求后查看节点k是否为当前信用值最高节点,若是则向节点k返回领导节点确认信息;若节点k收到大于等于个领导节点确认信息,节点k向片内其它节点广播新领导节点信息,其它节点在收到信息后确认新的领导节点为节点k;其中,n为分片j的节点数量。10.根据权利要求1所述的基于环境自适应的区块链节点信用评价方法,其特征在于:所述节点信用评价算法表示为:g(i)=αc
i
+βh
i
+γw
i
其中,i∈{1,2,3,...,n0},c
i
为节点i与分片内其它节点的通信延迟的均值,h
i
为节点i参与系统共识任务的情况,w
i
为节点i的cpu负载情况,α,β和γ均为调节系数。
技术总结
本发明提供一种基于环境自适应的区块链节点信用评价方法,涉及区块链节点信用评价领域,包括步骤:利用DQN算法对区块链节点进行分片并选择各分片的领导节点;设计节点信用评价算法,通过对照DQN算法选择的领导节点对节点信用评价算法进行调整;在区块链节点中部署节点信用评价算法并实时对节点进行评价,当领导节点性能下降可能影响系统稳定性时用片内评价最优的节点对当前领导节点进行替换。本发明通过DQN算法为区块链系统选择了能使共识算法在当前部署环境下性能最优的分片方案与各分片的领导节点;同时通过领导节点选择结果对节点信用评价算法进行调整,以在区块链系统运行过程中选出能使区块链性能在当前部署环境下最优的领导节点。最优的领导节点。最优的领导节点。
技术研发人员:裴庆祺 张一帆 吴志辉
受保护的技术使用者:广州链融信息技术有限公司 佛山链融新技术有限公司
技术研发日:2023.06.27
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/