CN115022022A - 一种基于节点过往行为分析的Raft共识机制改进方法 - Google Patents
一种基于节点过往行为分析的Raft共识机制改进方法 Download PDFInfo
- Publication number
- CN115022022A CN115022022A CN202210609471.7A CN202210609471A CN115022022A CN 115022022 A CN115022022 A CN 115022022A CN 202210609471 A CN202210609471 A CN 202210609471A CN 115022022 A CN115022022 A CN 115022022A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- block chain
- time
- slave
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于节点过往行为分析的Raft共识机制改进方法,包括节点过往行为分析、Raft改进、主节点选举;对Raft进行改进,使其具备对恶意节点的容错能力;在主节点选举过程中,建立一种过往行为分析方法,基于该方法分析结果进行主节点选举;在区块链网络节点同步消息的时间内,充分利用主节点资源,基于过往行为分析方法的结果进行从节点交易合法性预测,并根据预测结果提前进行相应操作,提升整体区块链网络工作效率。
Description
技术领域
本发明涉及分布式计算系统领域,具体涉及一种基于节点过往行为分析的Raft共识机制改进方法。
背景技术
Raft算法是一种非常优秀的分布式系统算法,由于其高效、低成本的特质广泛运用在分布式系统领域。但在原始的Raft算法设定中,默认所有节点都是善意节点,因此Raft只能应对分布式系统中节点故障、宕机的情况,而无法应用在存在恶意节点的分布式系统中。区块链本质上就是一种存在恶意节点的、特殊的分布式系统,对于安全、不可篡改性的需求远远高于其他的分布式系统。如果可以解决Raft算法应对恶意节点的问题,就可以将Raft算法广泛应用进区块链中。
现有技术中,文献(申请号:201811186202.4)提供了一种包括多个共识节点的区块链中进行共识的方法,该方法的验证机制太过简单且是在算法外进行验证,并未对算法本身进行优化改进;选举领导节点流程并未做出优化,存在选举恶意节点作为领导节点的风险;在领导节点等待其余节点的验证信息时,领导节点及跟随节点的资源并未得到充分利用,整体区块链系统效率低下。文献(申请号:CN112822239A)提出一种获取节点标识对应的每个候选者节点的历史行为数据,并根据每个候选者节点的历史行为数据计算每个候选者节点的票权系数的方法。该方法对过往节点行为的分析方式过于简单,且对于分析结果即权值的应用也不够充分,仅简单按照大小进行排序;仅对节点过往行为进行分析,对数据利用不充分,节点的等待选举结果的空闲时间性能闲置,未得到充分利用。
发明内容
针对上述背景技术中对Raft算法改进不足对恶意节点容错能力较弱、主节点选举存在隐患、区块链整体工作效率低下等问题,本发明提出一种基于节点过往行为分析的Raft共识机制改进方法,在可以在解决恶意节点问题的基础上,提出一种过往节点行为评分方法;基于此种方法在主节点选举流程中进行最优节点的选举;此外,通过此方法对节点过往行为的评分分析,对之后该节点的交易合法性进行预测,并根据预测结果提前做出相应操作,以提升整体区块链网络效率。
一种基于节点过往行为分析的Raft共识机制改进方法,包括节点过往行为分析、Raft改进、主节点选举;
对于节点过往行为分析,在区块链中,每任主节点在任期内收集区块链网络中各节点的参考指标状态信息,并计算相应指标的权重,记录进区块中进行保存;当选举主节点时,监督节点读取上任主节点保存进区块的数据,计算每个节点的评分值,以选举信任主节点;
对于Raft改进,对于节点发起的每一笔交易都需要通过2f+1以上个节点对其进行合法性验证后,判定区块链网络节点对此交易达成合法性共识,同意主节点将该笔交易打包进区块;
在主节点等待2f+1个合法性验证信息时,进行基于遗忘机制的区块链节点行为预测,对节点过往各时期行为进行时效性分析以对该节点当前行为进行预测;若符合设定条件,则提前将该交易打包进区块;若不符合则等待区块链网络节点合法性验证结果,并根据结果对基于遗忘机制的区块链节点行为预测中参数进行相应修改;在基于遗忘机制的区块链节点行为预测中,依据时间顺序、引入记忆因子,采用遗忘机制,对节点最近的行为数据进行分析;
对于主节点选举,首先设定区块链系统中的节点状态和角色,包括主从节点以及监督节点;检测主节点连接机制,通过监督节点发起并主导主节点选举流程;基于节点过往行为分析实现主节点的选举;新任主节点检测交易合法性生成新区块,完成Raft流程。
进一步地,节点过往行为分析中,包括如下分步骤:
步骤1,定义参考指标,包括区块链系统的信息完整性、信息保密性、过往投票行为积极性和节点可用性;
步骤2,将不同参考指标的数值进行归一化处理,映射进[0,1]区间中。在本方法中采用熵权法对节点标准化后的各指标进行权重分析,得到归一化后的各指标;
步骤3,基于熵权法对数据量化评分;使用信息熵ej来计算节点各指标所占权重wj,并依据所计算的指标权重计算各节点综合得分Si;
步骤4,保存各指标权重值w={w1,w2,...,wj}及各节点综合评分Si并进行相应更新;当区块链网络进行主节点选取时,监督节点依据区块链节点过往行为分析方法所得结果Si进行主节点选举后续工作。
进一步地,步骤1中,包括如下分步骤:
步骤1-3,定义过往行为正直性,其参考近期活跃总量、过往活跃总量、担任监督节点次数和担任主节点次数;其中,NODEi节点在最近三个主节点任期内,节点发送被打包进区块的交易数量定义为近期活跃总量,记作NODEi节点在过往所有历史中发送的被打包进区块的交易总量定义为过往活跃总量,记作节点担任监督节点次数记作节点担任主节点次数记作
步骤1-4,定义节点可用性,其参考节点处理器可用量PROCESSORi、节点存储单元可用量STORAGEi、节点传输单元可用量TRANSMISSIONi、节点吞吐指数THROUGHPUTi和节点时延指数DELAYi。
进一步地,步骤2中,采用熵权法对节点标准化后的各指标
进行权重分析,若参考指标为正相关指标,则:
若参考指标为负相关指标,则:
将归一化后的各指标依次定义为:
normalizationi={normalizationi1,normalizationi2,...,normalizationij}。
进一步地,步骤3中,包括如下分步骤:
步骤3-1,计算各节点的各项指标的比重:
proportioni={proportioni1,proportioni2,...,proportionij}:
步骤3-2,计算各指标的信息熵ej:
步骤3-3,计算各指标的权重值wi={wi1,wi2,...,wij}:
步骤3-4,根据计算好的权重值计算各节点的综合评分Si:
进一步地,区块链节点行为预测具体包括如下分步骤:
步骤a,主节点提取区块链网络中各节点全部时间的指标数据集合:
M={M1,M2,...,Mi}
其中,Mi={normalizationi1,normalizationi2,...,normalizationij},normalizationi为节点i归一化后的参考指标,在此基础上,引入历史时刻t,记录节点NODEi每个交易历史时刻的状态;
步骤c,求解预测方法中节点指标权重b;通过预设神经权重及偏差,经过非线性激活函数得出映射矩阵h(x);引入节点得分Si,令f=βG(ai,bi,x)=h(x)β=Si,从而求解指标权重b;
步骤d,预测当前时刻节点行为评分。若大于设定阈值则认为该节点行为良好,提前将其交易打包进入区块;若低于设定阈值,则等待区块链节点合法性验证结果,根据结果决定是否将其打包进入区块。
引入数据有效期u,在主节点的每个任期内,设定每个时间行为数据的有效时间u;当t时刻的行为数据小于u时,则该数据仍然被记忆;当超过有效时间u时,则遗忘该时刻的行为数据;
当tk<u时,
当tk≥u时,遗忘t0时刻数据并学习tu时刻数据:
进一步地,步骤d中,包括如下分步骤:
步骤d-2,计算tk时刻NODEi节点得分;当主节点收到NODEi节点发起交易后,提取NODEi节点tk时刻行为数据并计算节点得分情况以预测该节点能否通过合法性验证;节点预测得分为若大于提前将该交易打包进入区块,并等待合法性验证信息;若小于则直接等待合法性验证结果;当验证结果与预测结果一致则不进行操作,当验证结果与预测结果不一致则设置以修正偏差值。
进一步地,主节点选举中,包括如下分步骤:
步骤一,基于leader,candidate,follower三个状态上引入supervisor状态,将处于leader状态的节点定义为主节点,将处于follower阶段的节点定义为从节点,处于candidate状态的节点定义为目标节点,处于supervisor状态的节点定义为监督节点;
主节点负责记录、审核区块链网络中的节点交易并将交易打包进块,监督节点负责在上任主节点失效后主导新的主节点选举流程,目标节点为下任主节点候选者,其余的节点为从节点;
主节点给区块链网络中的所有从节点每隔一段时间发送一次heartbeat消息,以确保每个从节点清楚主节点处于正常工作状态;
步骤二,当一个从节点长时间未收到主节点的heartbeat,便默认主节点已发生故障处于离线状态,此时该从节点将从follower状态转换为supervisor状态,定义为预备监督节点,当区块链网络中有2f+1个从节点验证通过,成为监督节点,发起并主导新的主节点选举流程;
步骤三,主节点选举;基于节点过往行为分析选举出主节点,分步骤如下:
区块链中所有节点进行主节点选举投票,给监督节点发送各节点投票信息VOTEi;
在接收各从节点的同时,监督节点提取区块链中各节点过往数据,基于节点过往行为分析计算出各节点综合得分Si;
步骤四,新任主节点检测交易合法性生成新区块;当区块链网络选举出新任主节点后将开始新一轮的记账工作。从节点间的交易需要区块链网络中2f+1个节点进行合法性验证以及基于遗忘机制的区块链节点行为预测,通过后由主节点记录进区块中,完成整个流程。
进一步地,步骤二中,预备监督节点通过其他从节点验证成为监督节点,其具体包括如下分步骤:
从节点转为candidate状态,向区块链网络中的其余从节点发送当前主节点失效消息,格式为: 其中PRIMARY-NODEi为当前失效的主节点编号,FAILURE-TIME为发现主节点失效的时间,为发现主节点失效的从节点编号,EVENTnumber为事件编号;
区块链网络中其余从节点在收到主节点失效消息后立即检测自身与主节点的heartbeat连接,判断主节点是否失效,并向区块链网络中所有节点广播主节点检测消息,消息格式为: 其中,为区块链网络中的其余节点,STATE为节点检测从节点的状态,DECISION-INFORMATION为从节点根据STATE决定是否同意预备计算节点成为计算节点,EVENTnumber为从节点事件编号;
区块链网络中的其余从节点在发送完自身的主节点检测消息后,等待其他从节点的主节点检测消息并进行统计,当某种状态的消息超过2f+1时,此节点便采纳该种状态;当区块链网络中的2f+1个节点采纳了同一种状态后,则区块链网络中的所有善良节点达成共识同步该状态;
当区块链网络中的节点达成主节点失效共识,预备监督节点收到2f+1个从节点发来的判断当前主节点失效并同意预备监督节点转正的消息,确认主节点失效,预备监督节点成为监督节点。
本发明达到的有益效果为:
(1)对原始Raft算法本身进行改进,使其在算法层面具备对恶意节点的容错能力;
(2)在主节点选举过程中,建立一种过往行为分析方法,基于该方法分析结果进行主节点选举;
(3)在区块链网络节点同步消息的时间内,充分利用主节点资源,基于过往行为分析方法的结果进行从节点交易合法性预测,并根据预测结果提前进行相应操作。提升整体区块链网络工作效率。
附图说明
图1为本发明实施例中的过往行为分析方法流程示意图。
图2为本发明实施例中的预测方法流程示意图。
图3为本发明实施例中的节点状态转换示意图。
图4为本发明实施例中的选举流程图。
图5为本发明实施例中的检测主节点工作机制示意图。
图6为本发明实施例中的基于节点行为数据预测方法的交易合法性预测流程图。
具体实施方式
下面结合说明书附图对本发明的技术方案做进一步的详细说明。
一种基于节点过往行为分析的Raft共识机制改进方法。本方法为实现上述目的采用如下方案,主要分为三个部分:节点过往行为分析方法、Raft算法改进流程、主节点选举流程。
1.一种区块链节点过往行为分析方法,参照图1,具体步骤如下:
每任主节点在任期内收集区块链网络中各节点的多种指标状态信息,并计算相应指标的权重,记录进区块中进行保存。当选举主节点时,监督节点读取上任主节点保存进区块的数据,计算每个节点的评分值,以选举信任主节点。
对节点过往行为的分析需要综合考虑多个因素,本方法采用熵权法进行评价分析,主要基于区块链系统的信息完整性、信息保密性、过往投票行为积极性和节点可用性四个方面建立评价体系,对节点进行综合评价分析。
(1)参考指标定义。
(1-1)信息完整性,此方面主要参考四个标准:数据传输错误总量、校验错误总量、丢包总量和正确传输总量。NODEi节点在历史交易处理过程中,传输的错误信息的整体数据大小定义为数据传输错误总量,记作NODEi节点在历史交易处理过程中发生校验错误的比特数总大小定义为验证错误总量,记作NODEi节点在历史交易过程中的总丢包数量定义为丢包总量,记作NODEi节点在历史交易过程中正确传输交易总数据量定义为正确传输总量,记作
(1-2)信息保密性,此方面主要参考两个标准:节点欺诈次数、信息泄露次数。NODEi节点在历史交易过程中曾经发布虚假的交易的次数定义为节点欺诈次数,记作NODEi节点在历史交易过程中泄露信息的次数定义为信息泄露次数,记作
(1-3)过往行为正直性,此方面主要参考四个标准:近期活跃总量、过往活跃总量、担任监督节点次数和担任主节点次数。NODEi节点在最近三个主节点任期内,节点发送被打包进区块的交易数量定义为近期活跃总量,记作NODEi节点在过往所有历史中发送的被打包进区块的交易总量定义为过往活跃总量,记作节点担任监督节点次数记作节点担任主节点次数记作
(1-4)节点可用性,此方面主要参考五个标准:节点处理器可用量PROCESSORi、节点存储单元可用量STORAGEi、节点传输单元可用量TRANSMISSIONi、节点吞吐指数THROUGHPUTi和节点时延指数DELAYi。
(2)数据归一化处理。由于本方法选取参考指标数目较多,参考范围较广,数据取值范围相差较大,为统一不同属性的值,采用归一化方法将不同参考指标数值映射进[0,1]区间中。在本方法中采用熵权法对节点标准化后的各指标
进行权重分析,若参考指标为正相关指标,则:
若参考指标为负相关指标,则:
将归一化后的各指标依次定义为:
normalizationi={normalizationi1,normalizationi2,...,normalizationij}
(3)基于熵权法对数据量化评分。在本方法中使用信息熵ej来计算节点各指标所占权重wj,并依据所计算的指标权重计算各节点综合得分Si。
(3-1)计算各节点的各项指标的比重:
proportioni={proportioni1,proportioni2,...,proportionij}
(3-2)计算各指标的信息熵eij:
(3-3)计算各指标的权重值wi={wi1,wi2,...,wij}:
(3-4)根据计算好的权重值计算各节点的综合评分Si:
(4)保存各指标权重值w={w1,w2,...,wj}及各节点综合评分Si并进行相应更新。当区块链网络进行主节点选取时,监督节点依据区块链节点过往行为分析方法所得结果Si进行主节点选举后续工作。
2.一种基于遗忘机制的区块链节点行为预测方法,参照图2,具体步骤如下:
本专利对Raft算法流程进行相应改进以应对区块链网络恶意节点容错问题,对于节点发起的每一笔交易都需要通过2f+1以上个节点对其进行合法性验证后,判定区块链网络节点对此交易达成合法性共识,同意主节点将该笔交易打包进区块。
在主节点等待2f+1个合法性验证信息时,节点资源处于空闲状态。为充分利用节点资源提高整体效率,本专利提出一种基于遗忘机制的区块链节点行为预测方法,对节点过往各时期行为进行时效性分析以对该节点当前行为进行预测。若符合设定条件,则提前将该交易打包进区块;若不符合则等待区块链网络节点合法性验证结果,并根据结果对“基于遗忘机制的区块链节点行为预测”中参数进行相应修改。
本预测方法依据时间顺序、引入记忆因子,对节点最近的行为数据进行较大强度的分析;采用遗忘机制,以减少发生较为久远的行为数据对当前预测结果产生误导性干扰。
(1)主节点提取区块链网络中各节点全部时间的指标数据集合
M={M1,M2,...,Mi}
其中,Mi={normalizationi1,normalizationi2,...,normalizationij},normalizationi为节点i归一化后的参考指标,在此基础上,引入历史时刻t,记录节点NODEi每个交易历史时刻的状态。
(2)遗忘机制中记忆因子的设定。在本方法中,记忆因子用来调整不同时间的节点行为对预测方法中权重的影响:对节点最近时间的行为数据记忆较深,对预测结果影响较大;对节点较早时间的行为数据记忆较浅,影响较小。
本方法中,记忆因子取值范围为0到1,具体公式为:
(3)预测方法中节点指标权重b求解。本方法通过预设神经权重及偏差,经过非线性激活函数得出映射矩阵h(x)。引入方法一中节点得分Si,令f=βG(ai,bi,x)=h(x)β=Si,从而求解指标权重b。
a.初始时刻
在本方法的整个节点过往行为分析及预测过程中,t1时刻的数据比t0时刻的数据更能准确分析当前节点行为,也更能准确预测接下来的节点行为。因此,本方法中t1时刻数据所占比重要大于t0时刻数据,即引入记忆因子调整不同时刻数据所占比重大小。
b.引入数据有效期u
在主节点的每个任期内,设定每个时间行为数据的有效时间u。当t时刻的行为数据小于u时,则该数据仍然被记忆;当超过有效时间u时,则遗忘该时刻的行为数据。
当tk<u时,
当tk≥u时,遗忘t0时刻数据并学习tu时刻数据
(4)预测当前时刻节点行为评分。若大于设定阈值则认为该节点行为良好,提前将其交易打包进入区块;若低于设定阈值,则等待区块链节点合法性验证结果,根据结果决定是否将其打包进入区块。
(4-2)计算tk时刻NODEi节点得分;当主节点收到NODEi节点发起交易后,提取NODEi节点tk时刻行为数据并计算节点得分情况以预测该节点能否通过合法性验证。节点预测得分为若大于提前将该交易打包进入区块,并等待合法性验证信息;若小于则直接等待合法性验证结果。当验证结果与预测结果一致则不进行操作,当验证结果与预测结果不一致则设置以修正偏差值。
3.主节点选举流程,参照图4,具体步骤如下:
步骤一:本方法中的节点状态及节点角色。
本方法在原始Raft算法的leader,candidate,follower三个状态上引入一个supervisor状态,处于leader状态的节点定义为主节点,处于follower阶段的节点定义为从节点,处于candidate状态的节点定义为目标节点,处于supervisor状态的节点定义为监督节点。
主节点负责记录、审核区块链网络中的节点交易并将交易打包进块,监督节点负责在上任主节点失效后主导新的主节点选举流程,目标节点为下任主节点候选者,其余的节点为从节点。
参照图3的节点状态转换示意图,主节点给区块链网络中的所有从节点每隔一段时间发送一次heartbeat消息,以确保每个从节点清楚主节点处于正常工作状态。如果从节点在规定好的时间内没有收到来自主节点的heartbeat消息,就将从follower阶段转为supervisor阶段,待达成预先设定条件后成为监督节点,主导下任主节点选举流程。
步骤二:检测主节点连接机制。
当一个从节点长时间未收到主节点的heartbeat,便默认主节点已发生故障处于离线状态。此时该从节点将从follower状态转换为supervisor状态,定义为预备监督节点,当区块链网络中有2f+1个从节点验证通过,成为监督节点,发起并主导新的主节点选举流程。
(2-1)从节点转为candidate状态,向区块链网络中的其余从节点发送当前主节点失效消息,格式为: 其中PRIMARY-NODEi为当前失效的主节点编号,FAILURE-TIME为发现主节点失效的时间,为发现主节点失效的从节点编号,EVENTnumber为事件编号;
(2-2)区块链网络中其余从节点在收到主节点失效消息后立即检测自身与主节点的heartbeat连接,判断主节点是否失效,并向区块链网络中所有节点广播主节点检测消息,消息格式为:其中,为区块链网络中的其余节点,STATE为节点检测从节点的状态,DECISION-INFORMATION为从节点根据STATE决定是否同意预备计算节点成为计算节点,EVENTnumber为从节点事件编号;
(2-3)区块链网络中的其余从节点在发送完自身的主节点检测消息后,等待其他从节点的主节点检测消息并进行统计,当某种状态的消息超过2f+1时,此节点便采纳该种状态;当区块链网络中的2f+1个节点采纳了同一种状态后,则区块链网络中的所有善良节点达成共识同步该状态;
(2-4)当区块链网络中的节点达成主节点失效共识,预备监督节点收到2f+1个从节点发来的判断当前主节点失效并同意预备监督节点转正的消息,确认主节点失效,预备监督节点成为监督节点。
步骤三:主节点选举。对于主节点的选举,选择高可靠性的主节点来生成区块,节点能否被选举为主节点取决于该节点的过往行为。本方法建立了根据多种指标因素建立了一种节点过往行为评价模型并计算各指标的权重,根据权重值计算各节点的综合评分,依据各节点的综合评分和投票结果的加权运算结果选举出主节点。
(3-1)区块链中所有节点进行主节点选举投票,给监督节点发送各节点投票信息VOTEi;
(3-2)在接收各从节点的同时,监督节点提取区块链中各节点过往数据,基于节点过往行为评价方法计算出各节点综合得分Si;
步骤四:新任主节点检测交易合法性生成新区块。当区块链网络选举出新任主节点后将开始新一轮的记账工作。从节点间的交易需要区块链网络中2f+1个节点进行合法性验证,通过后由主节点记录进区块中才算整个交易的完成。本文提出一种学习过往行为判断未来行为合法性的方法,主节点根据各从节点的数据训练好预测模型,在主节点接收到从节点的交易消息后,等待其余从节点验证该交易的时间内,根据训练好的模型提前对该交易发起节点评分进行计算。若大于设定好的阈值,则提前将该交易打包进区块,等待通过2f+1个从节点的验证通过后,直接发布该新区块;若未大于阈值,则等待其余从节点的验证信息来选择是否记录该笔交易。
(4-1)主节点提取区块链网络中各节点的全部时间的指标信息集合
M={M1,M2,...,Mi}
其中,Mi={normalizationi1,normalizationi2,...,normalizationij},normalizationi为节点i归一化后的参考指标,在此基础上,引入历史时刻t,记录节点NODEi每个交易历史时刻的状态;
(4-2)主节点进行采用基于遗忘机制的节点行为预测方法计算发起交易节点的当前时刻评分。主节点对节点过往行为数据进行分析,采用记忆因子来平衡不同时间的数据对预测结果的影响权重,依据预测上一时刻的综合权重值预计当前时刻的节点的评分。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
Claims (10)
1.一种基于节点过往行为分析的Raft共识机制改进方法,其特征在于:
所述方法包括节点过往行为分析、Raft改进、主节点选举;
对于节点过往行为分析,在区块链中,每任主节点在任期内收集区块链网络中各节点的参考指标状态信息,并计算相应指标的权重,记录进区块中进行保存;当选举主节点时,监督节点读取上任主节点保存进区块的数据,计算每个节点的评分值,以选举信任主节点;
对于Raft改进,对于节点发起的每一笔交易都需要通过2f+1以上个节点对其进行合法性验证后,判定区块链网络节点对此交易达成合法性共识,同意主节点将该笔交易打包进区块;
在主节点等待2f+1个合法性验证信息时,进行基于遗忘机制的区块链节点行为预测,对节点过往各时期行为进行时效性分析以对该节点当前行为进行预测;若符合设定条件,则提前将该交易打包进区块;若不符合则等待区块链网络节点合法性验证结果,并根据结果对基于遗忘机制的区块链节点行为预测中参数进行相应修改;在基于遗忘机制的区块链节点行为预测中,依据时间顺序、引入记忆因子,采用遗忘机制,对节点最近的行为数据进行分析;
对于主节点选举,首先设定区块链系统中的节点状态和角色,包括主从节点以及监督节点;检测主节点连接机制,通过监督节点发起并主导主节点选举流程;基于节点过往行为分析实现主节点的选举;新任主节点检测交易合法性生成新区块,完成Raft流程。
2.根据权利要求1所述的一种基于节点过往行为分析的Raft共识机制改进方法,其特征在于:节点过往行为分析中,包括如下分步骤:
步骤1,定义参考指标,包括区块链系统的信息完整性、信息保密性、过往投票行为积极性和节点可用性;
步骤2,将不同参考指标的数值进行归一化处理,映射进[0,1]区间中。在本方法中采用熵权法对节点标准化后的各指标进行权重分析,得到归一化后的各指标;
步骤3,基于熵权法对数据量化评分;使用信息熵ej来计算节点各指标所占权重wj,并依据所计算的指标权重计算各节点综合得分Si;
步骤4,保存各指标权重值w={w1,w2,...,wj}及各节点综合评分Si并进行相应更新;当区块链网络进行主节点选取时,监督节点依据区块链节点过往行为分析方法所得结果Si进行主节点选举后续工作。
3.根据权利要求2所述的一种基于节点过往行为分析的Raft共识机制改进方法,其特征在于:步骤1中,包括如下分步骤:
步骤1-3,定义过往行为正直性,其参考近期活跃总量、过往活跃总量、担任监督节点次数和担任主节点次数;其中,NODEi节点在最近三个主节点任期内,节点发送被打包进区块的交易数量定义为近期活跃总量,记作NODEi节点在过往所有历史中发送的被打包进区块的交易总量定义为过往活跃总量,记作节点担任监督节点次数记作节点担任主节点次数记作
步骤1-4,定义节点可用性,其参考节点处理器可用量PROCESSORi、节点存储单元可用量STORAGEi、节点传输单元可用量TRANSMISSIONi、节点吞吐指数THROUGHPUTi和节点时延指数DELAYi。
6.根据权利要求1所述的一种基于节点过往行为分析的Raft共识机制改进方法,其特征在于:区块链节点行为预测具体包括如下分步骤:
步骤a,主节点提取区块链网络中各节点全部时间的指标数据集合:
M={M1,M2,...,Mi}
其中,Mi={normalizationi1,normalizationi2,...,normalizationij},normalizationi为节点i归一化后的参考指标,在此基础上,引入历史时刻t,记录节点NODEi每个交易历史时刻的状态;
步骤c,求解预测方法中节点指标权重b;通过预设神经权重及偏差,经过非线性激活函数得出映射矩阵h(x);引入节点得分Si,令f=βg(J,V,x)=h(x)β=Si,从而求解指标权重b;
步骤d,预测当前时刻节点行为评分。若大于设定阈值则认为该节点行为良好,提前将其交易打包进入区块;若低于设定阈值,则等待区块链节点合法性验证结果,根据结果决定是否将其打包进入区块。
引入数据有效期u,在主节点的每个任期内,设定每个时间行为数据的有效时间u;当t时刻的行为数据小于u时,则该数据仍然被记忆;当超过有效时间u时,则遗忘该时刻的行为数据;
当tk<u时,
当tk≥u时,遗忘t0时刻数据并学习tu时刻数据:
9.根据权利要求1所述的一种基于节点过往行为分析的Raft共识机制改进方法,其特征在于:主节点选举中,包括如下分步骤:
步骤一,基于leader,candidate,follower三个状态上引入supervisor状态,将处于leader状态的节点定义为主节点,将处于follower阶段的节点定义为从节点,处于candidate状态的节点定义为目标节点,处于supervisor状态的节点定义为监督节点;
主节点负责记录、审核区块链网络中的节点交易并将交易打包进块,监督节点负责在上任主节点失效后主导新的主节点选举流程,目标节点为下任主节点候选者,其余的节点为从节点;
主节点给区块链网络中的所有从节点每隔一段时间发送一次heartbeat消息,以确保每个从节点清楚主节点处于正常工作状态;
步骤二,当一个从节点长时间未收到主节点的heartbeat,便默认主节点已发生故障处于离线状态,此时该从节点将从follower状态转换为supervisor状态,定义为预备监督节点,当区块链网络中有2f+1个从节点验证通过,成为监督节点,发起并主导新的主节点选举流程;
步骤三,主节点选举;基于节点过往行为分析选举出主节点,分步骤如下:
区块链中所有节点进行主节点选举投票,给监督节点发送各节点投票信息VOTEi;
在接收各从节点的同时,监督节点提取区块链中各节点过往数据,基于节点过往行为分析计算出各节点综合得分Si;
步骤四,新任主节点检测交易合法性生成新区块;当区块链网络选举出新任主节点后将开始新一轮的记账工作。从节点间的交易需要区块链网络中2f+1个节点进行合法性验证以及基于遗忘机制的区块链节点行为预测,通过后由主节点记录进区块中,完成整个流程。
10.根据权利要求9所述的一种基于节点过往行为分析的Raft共识机制改进方法,其特征在于:步骤二中,预备监督节点通过其他从节点验证成为监督节点,其具体包括如下分步骤:
从节点转为candidate状态,向区块链网络中的其余从节点发送当前主节点失效消息,格式为: 其中PRIMARY-NODEi为当前失效的主节点编号,FAILURE-TIME为发现主节点失效的时间,为发现主节点失效的从节点编号,EVENTnumber为事件编号;
区块链网络中其余从节点在收到主节点失效消息后立即检测自身与主节点的heartbeat连接,判断主节点是否失效,并向区块链网络中所有节点广播主节点检测消息,消息格式为: 其中,为区块链网络中的其余节点,STATE为节点检测从节点的状态,DECISION-INFORMATION为从节点根据STATE决定是否同意预备计算节点成为计算节点,EVENTnumber为从节点事件编号;
区块链网络中的其余从节点在发送完自身的主节点检测消息后,等待其他从节点的主节点检测消息并进行统计,当某种状态的消息超过2f+1时,此节点便采纳该种状态;当区块链网络中的2f+1个节点采纳了同一种状态后,则区块链网络中的所有善良节点达成共识同步该状态;
当区块链网络中的节点达成主节点失效共识,预备监督节点收到2f+1个从节点发来的判断当前主节点失效并同意预备监督节点转正的消息,确认主节点失效,预备监督节点成为监督节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210609471.7A CN115022022B (zh) | 2022-05-31 | 2022-05-31 | 一种基于节点过往行为分析的Raft共识机制改进方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210609471.7A CN115022022B (zh) | 2022-05-31 | 2022-05-31 | 一种基于节点过往行为分析的Raft共识机制改进方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022022A true CN115022022A (zh) | 2022-09-06 |
CN115022022B CN115022022B (zh) | 2023-07-18 |
Family
ID=83070933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210609471.7A Active CN115022022B (zh) | 2022-05-31 | 2022-05-31 | 一种基于节点过往行为分析的Raft共识机制改进方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022022B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115529217A (zh) * | 2022-09-15 | 2022-12-27 | 中国电信股份有限公司 | 控制器选举方法和控制器、存储介质 |
CN117150564A (zh) * | 2023-10-27 | 2023-12-01 | 南京邮电大学 | 一种基于区块链的医药物流数据溯源方法 |
WO2024113334A1 (zh) * | 2022-11-29 | 2024-06-06 | 中国科学院深圳先进技术研究院 | 一种基于Raft改进的共识方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878071A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种基于Raft算法的区块链共识机制 |
CN109688604A (zh) * | 2018-12-06 | 2019-04-26 | 北京航空航天大学 | 一种基于贝叶斯网络的高动态移动自组织网络抗毁性评估方法 |
CN109714404A (zh) * | 2018-12-12 | 2019-05-03 | 中国联合网络通信集团有限公司 | 基于Raft算法的区块链共识方法及装置 |
CN111917748A (zh) * | 2020-07-22 | 2020-11-10 | 上海飞博激光科技有限公司 | 基于ipfs+联盟链的智能激光器远程控制系统和方法 |
US20210176041A1 (en) * | 2019-12-06 | 2021-06-10 | Sasken Technologies Ltd | Method and system for consensus in a permissioned blockchain |
CN113079139A (zh) * | 2021-03-23 | 2021-07-06 | 中国工商银行股份有限公司 | 基于区块链的共识组主节点确定方法、装置及系统 |
-
2022
- 2022-05-31 CN CN202210609471.7A patent/CN115022022B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878071A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种基于Raft算法的区块链共识机制 |
CN109688604A (zh) * | 2018-12-06 | 2019-04-26 | 北京航空航天大学 | 一种基于贝叶斯网络的高动态移动自组织网络抗毁性评估方法 |
CN109714404A (zh) * | 2018-12-12 | 2019-05-03 | 中国联合网络通信集团有限公司 | 基于Raft算法的区块链共识方法及装置 |
US20210176041A1 (en) * | 2019-12-06 | 2021-06-10 | Sasken Technologies Ltd | Method and system for consensus in a permissioned blockchain |
CN111917748A (zh) * | 2020-07-22 | 2020-11-10 | 上海飞博激光科技有限公司 | 基于ipfs+联盟链的智能激光器远程控制系统和方法 |
CN113079139A (zh) * | 2021-03-23 | 2021-07-06 | 中国工商银行股份有限公司 | 基于区块链的共识组主节点确定方法、装置及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115529217A (zh) * | 2022-09-15 | 2022-12-27 | 中国电信股份有限公司 | 控制器选举方法和控制器、存储介质 |
WO2024113334A1 (zh) * | 2022-11-29 | 2024-06-06 | 中国科学院深圳先进技术研究院 | 一种基于Raft改进的共识方法及相关设备 |
CN117150564A (zh) * | 2023-10-27 | 2023-12-01 | 南京邮电大学 | 一种基于区块链的医药物流数据溯源方法 |
CN117150564B (zh) * | 2023-10-27 | 2023-12-29 | 南京邮电大学 | 一种基于区块链的医药物流数据溯源方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115022022B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115022022A (zh) | 一种基于节点过往行为分析的Raft共识机制改进方法 | |
CN111652496B (zh) | 基于网络安全态势感知系统的运行风险评估方法及装置 | |
CN112866185B (zh) | 网络流量监控设备和异常流量检测方法 | |
CN111355810A (zh) | 一种基于信誉与投票机制的改进pbft共识方法 | |
US20050132154A1 (en) | Reliable leader election in storage area network | |
CN108776616B (zh) | 一种确定区块链节点可信状态的方法、区块链节点及系统 | |
Zhe et al. | DoS attack detection model of smart grid based on machine learning method | |
CN113949577A (zh) | 一种应用于云服务的数据攻击分析方法及服务器 | |
CN111897718A (zh) | 一种基于大数据的车机自动测试方法及存储介质 | |
CN113301047B (zh) | 一种基于恶意节点攻击检测的车联网节点一致性共识方法 | |
CN110633905A (zh) | 智能车云平台可靠性计算方法 | |
CN110020868B (zh) | 基于线上交易特征的反欺诈模块决策融合方法 | |
CN113645190A (zh) | 一种考虑节点信誉的拜占庭容错共识方法及区块链 | |
CN112688822A (zh) | 基于多点协同的边缘计算故障或安全威胁监测系统与方法 | |
CN110519266B (zh) | 一种基于统计学方法的cc攻击检测的方法 | |
CN114826770A (zh) | 一种计算机网络智能分析的大数据管理平台 | |
CN111586028A (zh) | 一种异常登录的评估方法、装置、服务器和存储介质 | |
CN109040075B (zh) | 无线移动传感器网络中节点的管理方法、服务器和系统 | |
CN114884849B (zh) | 基于Adaboost的CAN总线异常检测方法及系统 | |
CN110650145A (zh) | 一种基于sa-dbscan算法的低速率拒绝服务攻击检测方法 | |
CN115883016A (zh) | 基于联邦生成对抗网络的流量数据增强方法与装置 | |
CN114003466A (zh) | 一种用于微服务应用程序的故障根因定位方法 | |
CN113794742A (zh) | 一种电力系统fdia高精度检测方法 | |
CN117331993B (zh) | 一种实时数据库用于交换数据的方法与设备 | |
CN117376022B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |