CN113220483A - 一种区块链共识主节点的切换方法及系统 - Google Patents

一种区块链共识主节点的切换方法及系统 Download PDF

Info

Publication number
CN113220483A
CN113220483A CN202110489981.0A CN202110489981A CN113220483A CN 113220483 A CN113220483 A CN 113220483A CN 202110489981 A CN202110489981 A CN 202110489981A CN 113220483 A CN113220483 A CN 113220483A
Authority
CN
China
Prior art keywords
node
nodes
representing
monitoring
malicious
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202110489981.0A
Other languages
English (en)
Inventor
邢国政
任雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN202110489981.0A priority Critical patent/CN113220483A/zh
Publication of CN113220483A publication Critical patent/CN113220483A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种区块链共识主节点的切换方法及系统,该方法共组成N1个节点小组,剩余N2个区块链节点作为监测节点,选取性能分数F最高的节点作为每个节点小组的候选节点,剔除恶节节点生成备选节点表;监测节点每隔预设周期对主节点进行一轮监测,监测异常时向区块链中广播主节点切换请求;按备选节点表的优先级选取备选节点与主节点进行切换。本发明方法可以对区块链节点分组并选举候选节点,监考节点对候选节点筛选后选举备选节点,然后监测节点有效监测主节点异常,在监测到异常时,高效地选举主节点,可以避免恶意节点成为主节点或者干扰系统运行,可以保证主节点的性能和工作效率高,保证了区块链系统的正常运行。

Description

一种区块链共识主节点的切换方法及系统
【技术领域】
本发明涉及区块链技术领域,尤其涉及一种区块链共识主节点的切换方法及系统。
【背景技术】
如今,在进行配置交易时,经常会用到区块链网络。在应用区块链网络时,需要通过共识算法进行共识,以保证区块链中每个节点的数据包能够充分同步。
在区块链系统中进行共识处理时,区块链系统中的一个节点会充当主节点,区块链系统中的其余节点充当备份节点。主节点向所有备份节点发送待共识的提议。在接收到待共识的提议后,所有备份节点对该提议进行共识确认,并且将共识确认结果返回给主节点。主节点根据所接收的共识确认结果来判断共识是否通过。
但在共识过程中,会存在当前主节点发生通信故障(即当前主节点失效),从而导致当前共识处理过程无法正常完成。在这种情况下,需要启动换主流程来从备份节点中重新选举新的主节点,由该新的主节点来重新发起完成共识处理过程。
因此,如何高效地选举主节点,成为共识过程的一个亟待解决的问题。
【发明内容】
有鉴于此,本发明实施例提供了一种区块链共识主节点的切换方法及系统。
第一方面,本发明实施例提供了一种区块链共识主节点的切换方法,所述方法包括:
S1、选取K个区块链节点组成一个节点小组,共组成N1个节点小组,剩余N2个区块链节点作为监测节点,其中,节点总数量M=N1·K+N2,1≤N2≤K;
S2、计算每个节点小组内节点的性能分数F,选取性能分数F最高的节点作为每个节点小组的候选节点,生成按性能分数F优先级排列的候选节点表;
S3、监测节点获取候选节点表中候选节点的行为特征数据,并基于恶意识别模型识别出恶节节点,剔除恶节节点生成备选节点表;
S4、监测节点每隔预设周期T1对主节点进行一轮监测,若监测到异常值δ≥第一异常阈值δ1时,则向区块链中广播主节点切换请求,或若监测到第二异常阈值δ1≤异常值δ<第一异常阈值δ2且累计时长T2≥时长阈值T0,则向区块链中广播主节点切换请求;
S5、按备选节点表的优先级选取备选节点与主节点进行切换。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述S1具体包括:
判断是否到达更新周期,若是,将节点标识未在非黑名单的节点按照算力P从小到大顺序形成第一序列;
并按照第一序列选取各节点对应的标识进行填充以生成节点算力表;
根据节点算力表依次首尾交替选取K个区块链节点组成节点小组,共组成N1个节点组,剩余N2个区块链节点作为监测节点,其中,M=N1·K+N2,1≤N2≤K。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述S2中性能分数F计算公式为:
Figure BDA0003051555660000021
Figure BDA0003051555660000031
其中,F表示性能分数,p表示节点的算力,q表示节点的存储能力,T0表示节点接收到的数据包到数据包转发结束的时间,T1表示第一预设的时间间隔,n表示数据位的数目,w表示网络带宽,d表示数据传播距离,v表示数据传播速度,t表示处理时间,T2表示第二预设的时间间隔,a、b和γ表示调节系数。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述S3中监测节点获取候选节点表中候选节点的行为特征数据,具体包括:
节点发起交易或合约、验证交易或合约、产生区块、启动或关闭某些服务、建立或断开连接以及发现邻居的数据信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述S3中基于恶意识别模型识别出恶节节点,具体包括:
获取配置恶意或非恶意的类别标签的行为特征数据,分成训练集和测试集,输入构建好的恶意识别模型进行训练;
其中,构建恶意识别模型,其构建方法如下:
建立最优奖励模型:
Figure BDA0003051555660000032
其中,E表示期望值,λ表示折现因子,λ∈[0,1];s0表示初始状态,R表示奖励函数,π(st)表示将状态映射到操作的策略;
定义Q函数:
Figure BDA0003051555660000033
其中,πi表示根据等式确定Q值的当前策略,R表示函数,λ表示折现因子,p(s,a,s*)表示动作a从状态s转移到s*的转移概率,Tπi表示迭代步骤i得到的奖励;
新策略的迭代更新如下:
π(i+1)(s)=argmaxQ(s,a),定义ε-贪婪行为策略,采用ε-贪婪行为策略来确定当前状态的行为,其中,每个动作都是以一些预定义的固定概率
Figure BDA0003051555660000049
随机选择的;
Q值通过学习迭代逼近最优策略的获取;
监测节点通过恶意识别模型对候选节点的行为特征数据进行强化学习以识别出恶节节点;
将恶意节点的节点标识加入黑名单。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述S4中异常值δ计算公式如下:
Figure BDA0003051555660000041
Figure BDA0003051555660000042
Figure BDA0003051555660000043
Figure BDA0003051555660000044
其中,δ表示主节点的异常值,n表示给定时间间隔内的周期数,i表示第几周期,ηi表第i周期内主节点处理的请求数量,
Figure BDA0003051555660000045
表示给定时间间隔内主节点处理的请求数量的平均值,μi表示第i周期内主节点请求累积响应时间,
Figure BDA0003051555660000046
表示给定时间间隔内主节点请求累积响应时间的平均值,p1表示主节点前一时间间隔内响应时间的平均值,N1表示主节点当前给定时间间隔内响应时间的平均值,p2表示主节点前一时间间隔内交互请求的平均值,N2表示当前给定时间间隔内交互请求的平均值,
Figure BDA0003051555660000047
表示前一时间间隔
Figure BDA0003051555660000048
的最大值。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在步骤S5之后还包括:
在主节点切换预设周期T3后,监测节点向主节点所在节点小组发起验证投票,若验证不通过数量M1≥数据阈值M0,则按备选节点表的优先级选取下一备选节点与主节点进行切换。
第二方面,本发明实施例提供了一种区块链共识主节点的切换系统,所述系统包括:
分组模块,用于选取K个区块链节点组成一个节点小组,共组成N1个节点小组,剩余N2个区块链节点作为监测节点,其中,节点总数量M=N1·K+N2,1≤N2≤K;
第一选举模块,用于计算每个节点小组内节点的性能分数F,选取性能分数F最高的节点作为每个节点小组的候选节点,生成按性能分数F优先级排列的候选节点表;
第二选举模块,用于监测节点获取候选节点表中候选节点的行为特征数据,并基于恶意识别模型识别出恶节节点,剔除恶节节点生成备选节点表;
监测模块,用于监测节点每隔预设周期T1对主节点进行一轮监测,若监测到异常值δ≥第一异常阈值δ1时,则向区块链中广播主节点切换请求,或若监测到第二异常阈值δ1≤异常值δ<第一异常阈值δ2且累计时长T2≥时长阈值T0,则向区块链中广播主节点切换请求;
主节点切换模块,用于按备选节点表的优先级选取备选节点与主节点进行切换。
上述技术方案中的一个技术方案具有如下有益效果:
本发明实施例的方法中提出了一种区块链共识主节点的切换方法及系统,可以对区块链节点分组并选举候选节点,监考节点对候选节点筛选后选举备选节点,然后监测节点有效监测主节点异常,在监测到异常时,高效地选举主节点,本发明区块链共识主节点的切换方法可以避免恶意节点成为主节点或者干扰系统运行,可以保证主节点的性能和工作效率高,保证了区块链系统的正常运行。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的一种区块链共识主节点的切换方法的流程示意图;
图2是本发明实施例所提供的S1的流程示意图;
图3为本发明实施例所提供的区块链共识主节点的切换系统的构架图;
图4为本发明实施例所提供的系统的硬件示意图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,其为本发明实施例所提供的一种区块链共识主节点的切换方法的流程示意图,如图1所示,该方法包括以下步骤:
S1、选取K个区块链节点组成一个节点小组,共组成N1个节点小组,剩余N2个区块链节点作为监测节点,其中,节点总数量M=N1·K+N2,1≤N2≤K;
S2、计算每个节点小组内节点的性能分数F,选取性能分数F最高的节点作为每个节点小组的候选节点,生成按性能分数F优先级排列的候选节点表;
S3、监测节点获取候选节点表中候选节点的行为特征数据,并基于恶意识别模型识别出恶节节点,剔除恶节节点生成备选节点表;
S4、监测节点每隔预设周期T1对主节点进行一轮监测,若监测到异常值δ≥第一异常阈值δ1时,则向区块链中广播主节点切换请求,或若监测到第二异常阈值δ1≤异常值δ<第一异常阈值δ2且累计时长T2≥时长阈值T0,则向区块链中广播主节点切换请求;
S5、按备选节点表的优先级选取备选节点与主节点进行切换。
本发明实施例中,本方法通过合理的分组方法实现多个区块链节点组成的节点小组,未成组区块链的节点作为监测节点,通过选取性能分数F最高的节点作为每个节点小组的候选节点,进行主节点第一次筛选,使得候选节点的性能是满足预设要求的。基于恶意识别模型识别出恶节节点,从候选节点中剔除恶节节点,进行主节点二次筛选。通过监测节点每隔预设周期T1对主节点进行一轮监测,若监测到异常值δ≥第一异常阈值δ1时,即异常值较高时,直接进行主节点切换,或若监测到第二异常阈值δ1≤异常值δ<第一异常阈值δ2且累计时长T2≥时长阈值T0,即虽然主节点异常值则较低但持续时间长,影响区块链共识等运行效率,因此,也进行主节点切换。
本发明区块链共识主节点的切换方法,可以对区块链节点分组并选举候选节点,监考节点对候选节点筛选后选举备选节点,然后监测节点有效监测主节点异常,在监测到异常时,高效地选举主节点,本发明区块链共识主节点的切换方法可以避免恶意节点成为主节点或者干扰系统运行,可以保证主节点的性能和工作效率高,保证了区块链系统的正常运行。
请参考图2,其本发明实施例所提供的S1的流程示意图,如图2所示,上述S1具体包括:
判断是否到达更新周期,若是,将节点标识未在非黑名单的节点按照算力P从小到大顺序形成第一序列;
并按照第一序列选取各节点对应的标识进行填充以生成节点算力表;
根据节点算力表依次首尾交替选取K个区块链节点组成节点小组,共组成N1个节点组,剩余N2个区块链节点作为监测节点,其中,M=N1·K+N2,1≤N2≤K。
本发明实施例中,通过每个更新周期对非黑名单的节点按照算力P从小到大顺序形成第一序列,并按照第一序列选取各节点对应的标识进行填充以生成节点算力表,根据节点算力表依次首尾交替选取K个节点组成节点小组,保证了每个节点小组的算力均衡,然后在算力均衡分组的基础上,通过选取性能指数F最高的节点作为每个节点小组的候选节点,保证了候选节点的选举不会被个别节点霸占。而且,使得监控节点选举实现了随机性,保证监控节点客观性,有效避开恶意节点把持。
其中,本发明实施例上述S2中性能分数F计算公式为:
Figure BDA0003051555660000081
Figure BDA0003051555660000082
其中,F表示性能分数,p表示节点的算力,q表示节点的存储能力,T0表示节点接收到的数据包到数据包转发结束的时间,T1表示第一预设的时间间隔,n表示数据位的数目,w表示网络带宽,d表示数据传播距离,v表示数据传播速度,t表示处理时间,T2表示第二预设的时间间隔,a、b和γ表示调节系数。
本发明实施例中,S3中监测节点获取候选节点表中候选节点的行为特征数据,具体包括:
节点发起交易或合约、验证交易或合约、产生区块、启动或关闭某些服务、建立或断开连接以及发现邻居的数据信息。
另外,S3中基于恶意识别模型识别出恶节节点,具体包括:
获取配置恶意或非恶意的类别标签的行为特征数据,分成训练集和测试集,输入构建好的恶意识别模型进行训练;
其中,构建恶意识别模型,其构建方法如下:
建立最优奖励模型:
Figure BDA0003051555660000091
其中,E表示期望值,λ表示折现因子,λ∈[0,1];s0表示初始状态,R表示奖励函数,π(st)表示将状态映射到操作的策略;
定义Q函数:
Figure BDA0003051555660000092
其中,πi表示根据等式确定Q值的当前策略,R表示函数,λ表示折现因子,p(s,a,s*)表示动作a从状态s转移到s*的转移概率,Tπi表示迭代步骤i得到的奖励;
新策略的迭代更新如下:
π(i+1)(s)=arg max Q(s,a),定义ε-贪婪行为策略,采用ε-贪婪行为策略来确定当前状态的行为,其中,每个动作都是以一些预定义的固定概率
Figure BDA0003051555660000093
随机选择的;
Q值通过学习迭代逼近最优策略的获取;
监测节点通过恶意识别模型对候选节点的行为特征数据进行强化学习以识别出恶节节点;
将恶意节点的节点标识加入黑名单。
本发明实施例恶意识别模型可实现对恶意节点、非恶意节点的高效、准确分类,在训练完基于RL的算法后,实现以较高的置信度对恶意节点、非恶意节点进行了分类,模型鲁棒性好。
其中,本发明实施例上述S4中异常值δ计算公式如下:
Figure BDA0003051555660000101
Figure BDA0003051555660000102
Figure BDA0003051555660000103
Figure BDA0003051555660000104
其中,δ表示主节点的异常值,n表示给定时间间隔内的周期数(例如一个给定时间间隔可以由由10个周期组成,每个周期为5分钟),i表示第几周期,ηi表第i周期内主节点处理的请求数量,
Figure BDA0003051555660000105
表示给定时间间隔内主节点处理的请求数量的平均值,μi表示第i周期内主节点请求累积响应时间,
Figure BDA0003051555660000106
表示给定时间间隔内主节点请求累积响应时间的平均值,p1表示主节点前一时间间隔内响应时间的平均值,N1表示主节点当前给定时间间隔内响应时间的平均值,p2表示主节点前一时间间隔内交互请求的平均值,N2表示当前给定时间间隔内交互请求的平均值,
Figure BDA0003051555660000107
表示前一时间间隔
Figure BDA0003051555660000108
的最大值。
其中,异常值δ可以作为性能下降的指标,用于指示主节点异常;
Figure BDA0003051555660000109
用于表示异常相关度,V1用于衡量响应时间的平均值。需要说明的是,本申请实现对主节点异常监控原因在于:一旦异常性能产生了不可预测的时变工作负载,就会在不同时间对主节点的不同资源(如CPU或内存)施加压力,通过对相应性能指标的监控,即可实现主节点异常的发现。
本发明另一实施例中,在步骤S5之后还包括:
在主节点切换预设周期T3后,监测节点向主节点所在节点小组发起验证投票,若验证不通过数量M1≥数据阈值M0,则按备选节点表的优先级选取下一备选节点与主节点进行切换。
其中,在主节点切换预设周期T3后,监测节点向主节点所在节点小组发起验证投票,在主节点失效的紧急情况下,先实现主节点替换并发挥主节点记账功能,保证区块链正常运行,并在主节点切换预设周期T3后,实现主节点事后投票监测,如果投不赞成票的超过比例,则按备选节点表的优先级选取下一备选节点与主节点进行切换。通过向新的主节点所在节点小组发起验证投票,由于节点小组由按特定方法组成的,因此,可以避开恶意节点把持投票结果。而节点小组数量不多不少,可以保证投票效率的同时,也比曼过少的投票节点会对投票客观性造成影响。
本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
请参考图3,其为本发明实施例所提供的区块链共识主节点的切换系统的构架图,所述系统包括:
分组模块,用于选取K个区块链节点组成一个节点小组,共组成N1个节点小组,剩余N2个区块链节点作为监测节点,其中,节点总数量M=N1·K+N2,1≤N2≤K;
第一选举模块,用于计算每个节点小组内节点的性能分数F,选取性能分数F最高的节点作为每个节点小组的候选节点,生成按性能分数F优先级排列的候选节点表;
第二选举模块,用于监测节点获取候选节点表中候选节点的行为特征数据,并基于恶意识别模型识别出恶节节点,剔除恶节节点生成备选节点表;
监测模块,用于监测节点每隔预设周期T1对主节点进行一轮监测,若监测到异常值δ≥第一异常阈值δ1时,则向区块链中广播主节点切换请求,或若监测到第二异常阈值δ1≤异常值δ<第一异常阈值δ2且累计时长T2≥时长阈值T0,则向区块链中广播主节点切换请求;
主节点切换模块,用于按备选节点表的优先级选取备选节点与主节点进行切换。
由于本实施例中的各单元模块能够执行图1所示的方法,本实施例未详细描述的部分,可参考对图1的相关说明。图4是本发明的一个实施例系统的硬件示意图。请参考图4,在硬件层面,该系统包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该系统还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
在一种可能实现的方式中,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,也可从其它设备上获取相应的计算机程序,以在逻辑层面上形成对应的装置。处理器,执行存储器所存放的程序,以通过执行的程序实现本发明任一实施例中提供的节点工作方法。
本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的系统执行时,能够使该系统执行本发明任一实施例中提供的节点工作方法。
上述如本发明图实施例提供的系统执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的系统执行时,能够使该系统执行本发明任一实施例中提供的系统工作方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。
为了描述的方便,描述以上装置时以功能分为各种单元或模块分别描述。当然,在实施本发明时可以把各单元或模块的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (8)

1.一种区块链共识主节点的切换方法,其特征在于,所述方法包括:
S1、选取K个区块链节点组成一个节点小组,共组成N1个节点小组,剩余N2个区块链节点作为监测节点,其中,节点总数量M=N1·K+N2,1≤N2≤K;
S2、计算每个节点小组内节点的性能分数F,选取性能分数F最高的节点作为每个节点小组的候选节点,生成按性能分数F优先级排列的候选节点表;
S3、监测节点获取候选节点表中候选节点的行为特征数据,并基于恶意识别模型识别出恶节节点,剔除恶节节点生成备选节点表;
S4、监测节点每隔预设周期T1对主节点进行一轮监测,若监测到异常值δ≥第一异常阈值δ1时,则向区块链中广播主节点切换请求,或若监测到第二异常阈值δ1≤异常值δ<第一异常阈值δ2且累计时长T2≥时长阈值T0,则向区块链中广播主节点切换请求;
S5、按备选节点表的优先级选取备选节点与主节点进行切换。
2.根据权利要求1所述的方法,其特征在于,所述S1具体包括:
判断是否到达更新周期,若是,将节点标识未在非黑名单的节点按照算力P从小到大顺序形成第一序列;
并按照第一序列选取各节点对应的标识进行填充以生成节点算力表;
根据节点算力表依次首尾交替选取K个区块链节点组成节点小组,共组成N1个节点组,剩余N2个区块链节点作为监测节点,其中,M=N1·K+N2,1≤N2≤K。
3.根据权利要求1所述的方法,其特征在于,所述S2中性能分数F计算公式为:
Figure RE-FDA0003101855450000011
Figure RE-FDA0003101855450000021
其中,F表示性能分数,p表示节点的算力,q表示节点的存储能力,T0表示节点接收到的数据包到数据包转发结束的时间,T1表示第一预设的时间间隔,n表示数据位的数目,w表示网络带宽,d表示数据传播距离,v表示数据传播速度,t表示处理时间,T2表示第二预设的时间间隔,a、b和γ表示调节系数。
4.根据权利要求1所述的方法,其特征在于,所述S3中监测节点获取候选节点表中候选节点的行为特征数据,具体包括:
节点发起交易或合约、验证交易或合约、产生区块、启动或关闭某些服务、建立或断开连接以及发现邻居的数据信息。
5.根据权利要求4所述的方法,其特征在于,所述S3中基于恶意识别模型识别出恶节节点,具体包括:
获取配置恶意或非恶意的类别标签的行为特征数据,分成训练集和测试集,输入构建好的恶意识别模型进行训练;
其中,构建恶意识别模型,其构建方法如下:
建立最优奖励模型:
Figure RE-FDA0003101855450000022
其中,E表示期望值,λ表示折现因子,λ∈[0,1];s0表示初始状态,R表示奖励函数,π(st)表示将状态映射到操作的策略;
定义Q函数:
Figure RE-FDA0003101855450000023
其中,πi表示根据等式确定Q值的当前策略,R表示函数,λ表示折现因子,p(s,a,s*)表示动作a从状态s转移到s*的转移概率,Tπi表示迭代步骤i得到的奖励;
新策略的迭代更新如下:
π(i+1)(s)=arg max Q(s,a),定义ε-贪婪行为策略,采用ε-贪婪行为策略来确定当前状态的行为,其中,每个动作都是以一些预定义的固定概率
Figure RE-FDA0003101855450000039
随机选择的;
Q值通过学习迭代逼近最优策略的获取;
监测节点通过恶意识别模型对候选节点的行为特征数据进行强化学习以识别出恶节节点;
将恶意节点的节点标识加入黑名单。
6.根据权利要求1所述的方法,其特征在于,所述S4中异常值δ计算公式如下:
Figure RE-FDA0003101855450000031
Figure RE-FDA0003101855450000032
Figure RE-FDA0003101855450000033
Figure RE-FDA0003101855450000034
其中,δ表示主节点的异常值,n表示给定时间间隔内的周期数,i表示第几周期,ηi表第i周期内主节点处理的请求数量,
Figure RE-FDA0003101855450000035
表示给定时间间隔内主节点处理的请求数量的平均值,μi表示第i周期内主节点请求累积响应时间,
Figure RE-FDA0003101855450000036
表示给定时间间隔内主节点请求累积响应时间的平均值,p1表示主节点前一时间间隔内响应时间的平均值,N1表示主节点当前给定时间间隔内响应时间的平均值,p2表示主节点前一时间间隔内交互请求的平均值,N2表示当前给定时间间隔内交互请求的平均值,
Figure RE-FDA0003101855450000037
表示前一时间间隔
Figure RE-FDA0003101855450000038
的最大值。
7.根据权利要求1所述的方法,其特征在于,在步骤S5之后还包括:
在主节点切换预设周期T3后,监测节点向主节点所在节点小组发起验证投票,若验证不通过数量M1≥数据阈值M0,则按备选节点表的优先级选取下一备选节点与主节点进行切换。
8.一种区块链共识主节点的切换系统,其特征在于,包括:
分组模块,用于选取K个区块链节点组成一个节点小组,共组成N1个节点小组,剩余N2个区块链节点作为监测节点,其中,节点总数量M=N1·K+N2,1≤N2≤K;
第一选举模块,用于计算每个节点小组内节点的性能分数F,选取性能分数F最高的节点作为每个节点小组的候选节点,生成按性能分数F优先级排列的候选节点表;
第二选举模块,用于监测节点获取候选节点表中候选节点的行为特征数据,并基于恶意识别模型识别出恶节节点,剔除恶节节点生成备选节点表;
监测模块,用于监测节点每隔预设周期T1对主节点进行一轮监测,若监测到异常值δ≥第一异常阈值δ1时,则向区块链中广播主节点切换请求,或若监测到第二异常阈值δ1≤异常值δ<第一异常阈值δ2且累计时长T2≥时长阈值T0,则向区块链中广播主节点切换请求;
主节点切换模块,用于按备选节点表的优先级选取备选节点与主节点进行切换。
CN202110489981.0A 2021-05-06 2021-05-06 一种区块链共识主节点的切换方法及系统 Withdrawn CN113220483A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110489981.0A CN113220483A (zh) 2021-05-06 2021-05-06 一种区块链共识主节点的切换方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110489981.0A CN113220483A (zh) 2021-05-06 2021-05-06 一种区块链共识主节点的切换方法及系统

Publications (1)

Publication Number Publication Date
CN113220483A true CN113220483A (zh) 2021-08-06

Family

ID=77091010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110489981.0A Withdrawn CN113220483A (zh) 2021-05-06 2021-05-06 一种区块链共识主节点的切换方法及系统

Country Status (1)

Country Link
CN (1) CN113220483A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645074A (zh) * 2021-08-11 2021-11-12 永旗(北京)科技有限公司 一种基于区块链的共识方法
CN113708968A (zh) * 2021-08-27 2021-11-26 中国互联网络信息中心 区块链的节点选举控制方法和装置
CN114064343A (zh) * 2022-01-13 2022-02-18 北京溪塔科技有限公司 一种区块链的异常处置方法及装置
CN114448769A (zh) * 2022-04-02 2022-05-06 支付宝(杭州)信息技术有限公司 一种基于共识系统的节点竞选投票方法及装置
CN114666334A (zh) * 2022-04-28 2022-06-24 深圳嘉业产业发展有限公司 一种节点管理方法及系统
CN115174129A (zh) * 2022-02-22 2022-10-11 中国工商银行股份有限公司 异常节点检测方法、装置、计算机设备和存储介质
CN116260707A (zh) * 2023-05-15 2023-06-13 安徽中科晶格技术有限公司 基于共识的区块链节点灾备方法、装置、设备及存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645074A (zh) * 2021-08-11 2021-11-12 永旗(北京)科技有限公司 一种基于区块链的共识方法
CN113708968A (zh) * 2021-08-27 2021-11-26 中国互联网络信息中心 区块链的节点选举控制方法和装置
CN113708968B (zh) * 2021-08-27 2023-08-11 中国互联网络信息中心 区块链的节点选举控制方法和装置
CN114064343A (zh) * 2022-01-13 2022-02-18 北京溪塔科技有限公司 一种区块链的异常处置方法及装置
CN115174129A (zh) * 2022-02-22 2022-10-11 中国工商银行股份有限公司 异常节点检测方法、装置、计算机设备和存储介质
CN114448769A (zh) * 2022-04-02 2022-05-06 支付宝(杭州)信息技术有限公司 一种基于共识系统的节点竞选投票方法及装置
CN114448769B (zh) * 2022-04-02 2022-07-01 支付宝(杭州)信息技术有限公司 一种基于共识系统的节点竞选投票方法及装置
CN114666334A (zh) * 2022-04-28 2022-06-24 深圳嘉业产业发展有限公司 一种节点管理方法及系统
CN114666334B (zh) * 2022-04-28 2024-01-26 深圳嘉业共创供应链管理有限公司 一种节点管理方法及系统
CN116260707A (zh) * 2023-05-15 2023-06-13 安徽中科晶格技术有限公司 基于共识的区块链节点灾备方法、装置、设备及存储介质
CN116260707B (zh) * 2023-05-15 2023-10-10 安徽中科晶格技术有限公司 基于共识的区块链节点灾备方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN113220483A (zh) 一种区块链共识主节点的切换方法及系统
CN110659988B (zh) 区块链共识与执行的并行处理方法、装置和电子设备
US11968106B2 (en) Method and apparatus for monitoring state of blockchain consensus node
US20220407726A1 (en) Consensus method for blockchain, consensus node, electronic device, and storage medium
CN114356557B (zh) 一种集群扩容方法及装置
CN110928880B (zh) 基于区块链的数据处理方法、装置、终端及介质
CN110619019A (zh) 数据的分布式存储方法及系统
CN110930254A (zh) 基于区块链的数据处理方法、装置、终端及介质
CN110460471B (zh) 一种超级节点竞选方法、装置及存储介质
CN112037062B (zh) 交易共识方法、装置、电子设备及可读存储介质
CN111769984B (zh) 区块链网络中添加节点的方法及区块链系统
CN112073329A (zh) 分布式限流方法、装置、电子设备和存储介质
CN109005191B (zh) 一种验证方法和系统、仲裁节点、存储介质
Nozomi et al. Unavailability-aware backup allocation model for middleboxes with two-stage shared protection
CN111884932B (zh) 一种链路确定方法、装置、设备和计算机可读存储介质
CN116980281A (zh) 节点选取方法、装置、第一节点、存储介质及程序产品
CN113037685B (zh) 数据传输方法和电子设备
CN111522876B (zh) 区块链共识方法、装置和计算机设备、及区块链节点
CN112258184A (zh) 冻结区块链网络的方法、装置、电子设备及可读存储介质
CN113746635A (zh) 提高pbft共识可扩展性的方法、装置、计算设备及存储介质
CN111600960A (zh) 区块链中的混合式共识机制的切换方法及相关设备
CN111711537B (zh) 备用主节点列表更新方法、装置及设备
Zhang et al. An efficient Bayesian diagnosis for QoS management in service-oriented architecture
CN110020670B (zh) 一种模型迭代方法、装置及设备
CN109903048B (zh) 一种出块方法、共识方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20210806

WW01 Invention patent application withdrawn after publication