CN114938292B - 一种基于节点可信度的多层次优化pbft共识方法 - Google Patents

一种基于节点可信度的多层次优化pbft共识方法 Download PDF

Info

Publication number
CN114938292B
CN114938292B CN202210445397.XA CN202210445397A CN114938292B CN 114938292 B CN114938292 B CN 114938292B CN 202210445397 A CN202210445397 A CN 202210445397A CN 114938292 B CN114938292 B CN 114938292B
Authority
CN
China
Prior art keywords
node
consensus
nodes
message
backup
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.)
Active
Application number
CN202210445397.XA
Other languages
English (en)
Other versions
CN114938292A (zh
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.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
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 Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202210445397.XA priority Critical patent/CN114938292B/zh
Publication of CN114938292A publication Critical patent/CN114938292A/zh
Application granted granted Critical
Publication of CN114938292B publication Critical patent/CN114938292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于区块链共识机制技术领域,具体涉及一种基于节点可信度的多层次优化PBFT共识方法;该方法包括:对节点进行可信度评估,得到节点的可信度评分;根据节点的可信度评分进行节点角色属性分配和层次结构划分,得到节点共识模型;根据节点共识模型进行节点共识;当有新节点加入或旧节点退出时,采用动态节点出入管理方法更新节点共识模型;本发明可以有效地减少共识过程中的通信量,提高***的可扩展性;当有新节点加入或旧节点退出时,***无需重新启动,能够满足现实应用场景需求;通过可信度评分选取代理节点,减小视图切换的概率,增加共识效率及***的安全性,提高区块链***的实用性。

Description

一种基于节点可信度的多层次优化PBFT共识方法
技术领域
本发明属于区块链共识机制技术领域,具体涉及一种基于节点可信度的多层次优化PBFT共识方法。
背景技术
区块链的本质是一种去中心化的分布式账本数据库。能够解决传统中心化***数据垄断、安全性差的问题。它集成了网络通信、共识算法、密码学基础等技术原理,具备不可篡改、易于验证的特性,在金融、物联网、公证等领域得到大力发展。共识算法作为区块链底层核心机制,负责确保***中各节点对特定时间内打包的交易顺序达成一致,避免出现信息不对称的问题,在实现数据共享及分布式***数据一致性方面起到重要作用。
区块链***根据应用场景的不同,及***内各参与者属性与访问条件的差异。一般可分为公有链、联盟链、私有链三种类型。公有区块链指所有参与者均能加入***,不受任何条件约束,是完全的去中心化;联盟区块链是由多个机构共同管理,节点经身份授权后才能加入***,属于部分去中心化;私有区块链则仅供个人或单个组织使用,很少对外开放,抛弃了去中心化特质,属于中心化***。三类架构中,联盟区块链具有局部中心化特征,能允许多家组织机构共同合作,满足现实应用场景且可控性强,是当前主流的研究架构。PBFT (实用拜占庭容错)算法是当前联盟链中最常采用、应用最为广泛的核心共识算法。
PBFT算法将算法复杂度从指数级降到多项式级,使拜占庭容错算法具有现实可行性。但下述问题的存在,限制了其共识效率及应用场景:首先,PBFT算法要求***中所有节点均参与到共识过程,通过三阶段共识协议实现数据一致性,导致节点数到达特定阈值后,***性能随节点数的增加而大幅下降,导致***可扩展性较差;其次PBFT算法无法动态感知节点变化,当有新节点加入或旧节点退出时,***都要重新启动,这难以满足现实应用场景的需求;最后算法通过简单公式选取主节点,使得拜占庭节点与诚实节点拥有等同地当选主节点的机会,增加了视图切换的概率,影响了共识效率及***的安全性。
发明内容
针对现有技术存在的不足,本发明提出了一种基于节点可信度的多层次优化PBFT共识方法,该方法包括:
S1:对节点进行可信度评估,得到节点的可信度评分;
S2:根据节点的可信度评分进行节点角色属性分配和层次结构划分,得到节点共识模型;其中,角色属性包括代理节点和备份节点,层次结构包括一级共识层和二层共识层,一级共识层包括一个主共识组,二级共识层包括至少一个次共识组;
S3:根据节点共识模型进行节点共识;
S4:当有新节点加入或旧节点退出时,采用动态节点出入管理方法更新节点共识模型。
优选的,对节点进行可信度评估的过程包括:
S11:根据CPU内核数量、计算机内存容量和硬盘容量计算节点的基础配置评分;
S12:计算节点的共识信誉值、活跃程度和共识成功率;根据节点的共识信誉值、活跃程度和共识成功率计算节点的共识评分;
S13:根据节点的基础配置评分和共识评分计算节点的可信度评分。
进一步的,计算节点的共识评分的公式为:
Rj=k1ρj+k2pj+k3Ej
Figure BDA0003616568710000031
Figure BDA0003616568710000032
其中,Rj表示节点j的共识评分,ρj表示节点j的活跃程度,pj表示节点j的共识成功率,Ej表示节点j的共识信誉值,k1表示第一调节因子,k2表示第二调节因子,k3表示第三调节因子,λ表示活跃度因子,n表示节点参与的共识次数, nsuccess表示节点成功完成工作的共识次数。
进一步的,计算节点的可信度评分的公式为:
Cj=K1Bj+K2Rj
其中,Cj表示节点j的可信度评分,Bj表示节点j的基础配置评分,Rj表示节点j的共识评分,K1表示第一权重,K2表示第二权重。
优选的,得到节点共识模型的过程包括:
S21:设置群组数量M,对节点的可信度评分以高到低的顺序进行排序,将可信度评分排序前M个节点作为代理节点,剩余节点作为备份节点;
S22:根据代理节点和备份节点的数量进行层次结构划分,得到节点共识模型;
S23:每次共识后,重新构建节点共识模型。
进一步的,进行层次结构划分的过程包括:将所有代理节点划分为一级共识层,将所有备份节点划分为二级共识层;备份节点数除以代理节点数,得到商n和余数r;以每n个节点为一组将每组节点划分到不同代理节点的次共识组中,将剩余节点均匀分给r个代理节点的次共识组。
优选的,进行节点共识的过程包括:
S31:客户端节点向主共识组内所有代理节点发送请求消息;
S32:代理节点接收请求消息并根据请求消息验证客户端身份,验证通过后,向代理节点的次共识组内所有备份节点发送预准备消息;
S33:备份节点接收预准备消息并验证预准备消息正确性,验证通过后,将该消息写入本地日志并向同次共识组内的其他备份节点广播新的准备消息;
S34:备份节点向同次共识组内的其他备份节点广播确认消息;
S35:各备份节点向其所属代理节点反馈共识结果,代理节点将共识结果反馈给客户端节点;当客户端收到超过一半代理节点数发送的共识结果时,***达成共识。
优选的,采用动态节点出入管理方法更新节点共识模型的过程包括:
当新节点当入***时,新节点获取联盟区块链中各参与机构的准入许可;***对新节点进行可信度评估,得到可信度评分;根据可信度评分将新节点分配到一个次共识组内并向***内所有节点广播加入消息;各节点接收加入消息并验证消息正确性,验证通过后将自身信息和签名发送给新节点;当新节点收到超过***总节点数的三分之二条消息时,新节点成功加入***;
当旧节点退出***时,旧节点获取联盟区块链中各参与机构的退出许可;旧节点向***中其他节点广播退出消息;各节点接收退出消息并验证消息正确性,验证通过后向旧节点发送退出确认消息;当旧节点收到超过***总节点数的三分之二条退出确认消息时,旧节点成功退出***。
本发明的有益效果为:本发明通过对节点进行角色属性划分和层次划分,依次构建共识模型,在此共识模型上首先进行局部共识,再根据局部共识进行全局共识;本发明可以有效地减少共识过程中的通信量,提高***的可扩展性;当有新节点加入或旧节点退出时,***无需重新启动,能够满足现实应用场景需求;通过可信度评分选取代理节点,减小视图切换的概率,增加共识效率及***的安全性,提高区块链***的实用性。
附图说明
图1为本发明中基于节点可信度的多层次优化PBFT共识方法流程图;
图2为本发明中节点共识模型示意图;
图3为本发明中基于节点可信度的多层次优化PBFT共识方法的共识流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出了一种基于节点可信度的多层次优化PBFT共识方法,如图1 所示,具体包括以下内容:
S1:对节点进行可信度评估,得到节点的可信度评分。
从基础配置及共识表现两个维度出发,评估节点可信度,结果通过可信度评分Cj体现,该评分是后续角色属性分配的数据基础。
S11:根据CPU内核数量、计算机内存容量和硬盘容量计算节点的基础配置评分Bj;计算过程如下:
对于参数CPU内核数量、计算机内存容量和硬盘容量,它们的单位不同,为了方便统一计算,利用归一化公式对参数进行标准化处理,得到各参数标准化后的数值:
Figure BDA0003616568710000051
其中,Xp为实际值,Xb为经标准化处理后得到的数值吗,Min(Xp)表示参数的最小值,Max(Xp)表示参数的最大值。
采用层次分析法,根据三方面参数的重要性分级构造判别矩阵,根据判别矩阵得到符合重要性排名的权重向量。例如三方面重要性比例为
Figure BDA0003616568710000052
可以构建判别矩阵为:/>
Figure BDA0003616568710000061
可得权重向量为:[0.2 0.2 0.6]。
根据权重向量和标准化处理后的数值Xb,为各参数进行权重赋值,将进行权重赋值后的各参数相加,得到节点的基础配置评分Bj
S12:计算节点的共识信誉值、活跃程度和共识成功率;根据节点的共识信誉值、活跃程度和共识成功率计算节点的共识评分Rj;具体计算过程如下:
采用HonestPeer信誉模型评估节点在共识过程中的行为表现,得到共识信誉值Ej
HonestPeer信誉模型旨在解决EigenTrust模型过度依赖预先信任节点,导致其它诚实节点被边缘化的问题。HonestPeer模型采用与EigenTrust模型相同的规范化局部信誉值方式,其改进核心在于计算全局信誉值时赋予信誉值最高的节点更高的权限;全局信誉值最高的节点选取方式如以下公式所示:
th (k)=max(t1 (k),t2 (k),…tn (k))
其中,th (k)表示节点h的全局信誉值。
在HonestPeer模型中,诚实节点有较高的地位,如果诚实节点在预先信任的节点集合p中,那么p中各节点在决定其它节点的信任值时仍然有很大影响力;但若诚实节点不在集合p中,p中各节点的影响力就会被减弱,诚实节点会发挥较高的影响力,节点i的全局信誉值可利用如下公式计算得到:
Figure BDA0003616568710000062
其中,Cni表示,pi表示,h表示信誉值最高的诚实节点,a表示信誉权重因子,a的数值可通过如下公式计算得到:
Figure BDA0003616568710000063
将归一化处理后的节点i的全局信誉值作为节点的共识信誉值Ej
活跃程度指节点是否积极参与到共识过程中,计算公式为:
Figure BDA0003616568710000071
其中,ρ表示节点的活跃程度,λ表示活跃度因子,n表示该节点参与的共识次数。
共识成功率指节点参与的共识过程中,顺利完成任务占总任务的比率,计算公式为:
Figure BDA0003616568710000072
其中,p表示共识成功率,nsuccess表示节点成功完成工作的共识次数。
根据节点的共识信誉值、活跃程度和共识成功率计算节点的共识评分Rj,计算公式为:
Rj=k1ρj+k2pj+k3Ej
其中,Rj表示节点j的共识评分,ρj表示节点j的活跃程度,pj表示节点j的共识成功率,k1表示第一调节因子,k2表示第二调节因子,k3表示第三调节因子;调节因子的大小根据联盟区块链***的信任程度定义。
S13:根据节点的基础配置评分Bj和共识评分Rj计算节点的可信度评分Cj;计算公式为:
Cj=K1Bj+K2Rj
其中,Cj表示节点j的可信度评分,K1表示第一权重,K2表示第二权重;在确定两权重K1和K2大小时,虽然节点的基础配置越高,信息传递速度越快,***性能越好,但为了抵御恶意节点聚集起来利用高配置设备进行攻击的风险,节点的基础配置在节点可信度评估中所占比例不应过高。因而在评估可信度方面相较于基础配置,节点在共识过程中的动态可信度应占较高比重,即权重因子应满足(K1<K2)的条件,K1和K2的具体数值根据实际情况合理取值。
S2:根据节点的可信度评分进行节点角色属性分配和层次结构划分,得到节点共识模型;其中,角色属性包括代理节点和备份节点,层次结构包括一级共识层和二层共识层,一级共识层包括一个主共识组,二级共识层包括至少一个次共识组。
S21:设置群组数量M,对节点的可信度评分以高到低的顺序进行排序,将可信度评分排序前M个节点作为代理节点,剩余节点作为备份节点。
代理节点作为主共识群组成员,负责接收来自客户端的请求消息,并充当主节点引领二级共识层中所属共识组的共识过程。主要工作包括:向组内各备份节点广播请求消息、打包来自各备份节点的验证消息、将最终的结果反馈给客户端节点等。
备份节点是二级共识层各共识组共识过程的参与者,是***中除代理节点外的其他节点。负责在代理节点的领导下,在所属共识组内完成消息的共识验证工作,验证完成后将共识结果向代理节点进行反馈。
S22:根据代理节点和备份节点的数量进行层次结构划分,得到节点共识模型;如图2所示,具体包括以下内容:
将所有代理节点划分为一级共识层,将所有备份节点划分为二级共识层;备份节点数除以代理节点数,得到商n和余数r;以每n个节点为一组将每组节点划分到不同代理节点的次共识组中,将剩余节点均匀分给r个代理节点的次共识组;优选的,按照可信度评分排序进行分组,按照代理节点的可信度评分排序将每一组节点划分到对应的次共识组中,将剩余节点按可信度评分排序均匀分给对应的按照可信度评分排序的前r个代理节点。
例如,假设***中共有N个节点,将所有节点分到M个共识组内。可信度评分降序排列后,选择分数最高的前M个节点作为代理节点,在一级共识层中组建主共识组,剩余节点按评分顺序并入二级共识层中各代理节点引领的次共识组:
Figure BDA0003616568710000091
首选,按可信度评分排序将N-M个备份节点分成M份,每份含n个备份节点,按可信度评分排序将这M份备份节点分给对应的代理节点,比如,将评分最高的n个备份节点分给可信度评分最高的代理节点的次共识组,余下的r个备份节点按照可信度评分排序分给对应的按照可信度评分排序的前r个代理节点,比如,r个备份节点中最高评分的备份节点分给可信度评分最高的代理节点的次共识组;每个代理节点的次共识组再分得一个备份节点。
若节点总数N小于组数M,则直接采用原PBFT算法单层***结构,无需进行分层分组。若节点总数N大于组数M,则可进行上述的分层分组改进。
S23:每次共识后,重新构建节点共识模型。
判断共识请求是否结束,若共识请求未结束,为保障***安全可靠,每轮共识后要根据各节点在共识过程中的表现再次进行节点的可信度评估,更新可信度评分列表,构建节点共识模型,根据重新构建的节点共识模型进行下一次的共识工作。
S3:根据节点共识模型进行节点共识。如图3所示,具体包括以下内容:
S31:Request阶段:客户端节点向主共识组内所有代理节点发送请求消息;请求消息的格式为:
Figure BDA0003616568710000092
其中,PREQUST为请求消息的消息类型标识符,代表该消息为请求消息;m表示请求消息,t表示时间戳,σc表示客户端节点c的签名。
S32:Pre-Rrepare阶段:代理节点接收请求消息并根据请求消息验证客户端身份,验证通过后,向代理节点的次共识组内所有备份节点发送预准备消息;
代理节点i收到来自客户端的请求消息后,验证客户端身份,为请求消息分配一个序列号n;验证通过后将预准备消息发送给二级共识层中该代理节点引领的次共识组内所有备份节点;预准备消息的格式为:
Figure BDA0003616568710000101
其中,PRE-PREPARE为预准备消息的消息类型标识符,代表该消息为预准备消息,v表示当前视图编号,n表示节点编号,d请求消息m的摘要,σi表示代理节点i的签名。
S33:Rrepare阶段:备份节点接收预准备消息并验证预准备消息正确性,验证通过后,将该消息写入本地日志并向同次共识组内的其他备份节点广播新的准备消息;
备份节点j收到预准备消息后,验证消息的正确性,验证通过后将其写入本地日志并向同次共识组内的其它备份节点广播新的准备消息;当收到包含自身在内超过2f条来自不同备份节点发送的一致准备消息(新的准备消息)后,准备阶段完成;f表示作恶节点数量;新准备消息的格式为:
Figure BDA0003616568710000102
其中,PREPARE为准备消息的消息类型标识符,代表该消息为准备消息;D(m) 表示,σj表示备份节点j的签名。
S34:Commit阶段:备份节点向同次共识组内的其他备份节点广播确认消息;
备份节点j向次共识组中除自身外的所有节点广播确认消息,当节点收到包含自身在内的(2f+1)条一致性确认消息(确认消息)后,该消息在次共识组内达成共识;确认消息的格式为:
Figure BDA0003616568710000103
S35:Reply阶段:各备份节点向其所属代理节点反馈共识结果,代理节点将共识结果反馈给客户端节点;当客户端收到超过一半代理节点数发送的共识结果时,***达成共识;
组内共识结束后,各备份节点向所属代理节点反馈最终的共识结果。当代理节点i收到超过(f+1)条一致性反馈(共识结果)后,表示该二级共识层对消息达成共识。代理节点将该共识结果反馈给客户端节点,当客户端收到超过半数主共识组中代理节点发送的共识结果时,***达成共识。
S4:当有新节点加入或旧节点退出时,采用动态节点出入管理方法更新节点共识模型。
当新节点当入***时,新节点获取联盟区块链中各参与机构的准入许可;
获得准入许可后,***首先对新节点进行可信度评估(此时该节点只有静态的基础配置评分);
根据可信度评分将新节点分配到一个次共识组内并向***内所有节点广播加入消息,加入消息的格式为:
<<JOIN,score,m>σm>σp
其中,JOIN为新节点加入消息的消息类型标识符,代表该消息为新节点加入消息;score表示新节点的可信度评分,m表示新节点分配的节点编号,σm表示新节点签名,σp表示共识主节点的签名。
各节点接收加入消息后,立即验证消息内容的正确性,验证通过后把自身相关信息连同签名发送给新节点本地验证保存,以便新节点能够顺利与其他节点进行通信,及时参与后续工作;其中,相关信息包括节点编号,所属群组和可信度评分。
当新节点收到超过2N/3条消息时,该加入消息已获得***内绝大多数节点的认证,代表新节点成功加入***,其中N为***中的节点总数。
当旧节点退出***时,旧节点获取联盟区块链中各参与机构的退出许可;
获得退出许可后,该旧节点需要向***中其他节点广播该节点的退出消息;退出消息的格式为:
<<LEAVE,group,n>σn>σp
其中,LEAVE为旧节点退出消息的消息类型标识符,代表该消息为旧节点退出消息;group表示该节点所属的次共识组。
***其余各节点接收退出消息并验证退出消息的正确性,验证通过后向旧节点n发送退出确认消息,当旧节点n收到超过2N/3条退出确认消息后,认为退出消息被大多数节点确认,该节点成功退出***。
本发明通过对节点进行角色属性划分和层次划分,依次构建共识模型,在此共识模型上首先进行局部共识,再根据局部共识进行全局共识;本发明可以有效地减少共识过程中的通信量,提高***的可扩展性;当有新节点加入或旧节点退出时,***无需重新启动,能够满足现实应用场景需求;通过可信度评分选取代理节点,减小视图切换的概率,增加共识效率及***的安全性,提高区块链***的实用性。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种基于节点可信度的多层次优化PBFT共识方法,其特征在于,包括:
S1:对节点进行可信度评估,包括:
S11:根据CPU内核数量、计算机内存容量和硬盘容量计算节点的基础配置评分;
S12:计算节点的共识信誉值、活跃程度和共识成功率;根据节点的共识信誉值、活跃程度和共识成功率计算节点的共识评分;计算节点的共识评分的公式为:
Rj=k1ρj+k2pj+k3Ej
Figure FDA0004176098150000011
Figure FDA0004176098150000012
其中,Rj表示节点j的共识评分,ρj表示节点j的活跃程度,pj表示节点j的共识成功率,Ej表示节点j的共识信誉值,k1表示第一调节因子,k2表示第二调节因子,k3表示第三调节因子,λ表示活跃度因子,n表示节点参与的共识次数,nsuccess表示节点成功完成工作的共识次数;
S13:根据节点的基础配置评分和共识评分计算节点的可信度评分;计算节点的可信度评分的公式为:
Cj=K1Bj+K2Rj
其中,Cj表示节点j的可信度评分,Bj表示节点j的基础配置评分,K1表示第一权重,K2表示第二权重;
S2:根据节点的可信度评分进行节点角色属性分配和层次结构划分,得到节点共识模型;包括:
S21:设置群组数量M,对节点的可信度评分以高到低的顺序进行排序,将可信度评分排序前M个节点作为代理节点,剩余节点作为备份节点;
S22:根据代理节点和备份节点的数量进行层次结构划分,得到节点共识模型;进行层次结构划分的过程包括:将所有代理节点划分为一级共识层,将所有备份节点划分为二级共识层;备份节点数除以代理节点数,得到商n和余数r;以每n个节点为一组将每组节点划分到不同代理节点的次共识组中,将剩余节点均匀分给r个代理节点的次共识组;
S23:每次共识后,重新构建节点共识模型;
其中,角色属性包括代理节点和备份节点,层次结构包括一级共识层和二层共识层,一级共识层包括一个主共识组,二级共识层包括至少一个次共识组;
S3:根据节点共识模型进行节点共识;
S4:当有新节点加入或旧节点退出时,采用动态节点出入管理方法更新节点共识模型。
2.根据权利要求1所述的一种基于节点可信度的多层次优化PBFT共识方法,其特征在于,进行节点共识的过程包括:
S31:客户端节点向主共识组内所有代理节点发送请求消息;
S32:代理节点接收请求消息并根据请求消息验证客户端身份,验证通过后,向代理节点的次共识组内所有备份节点发送预准备消息;
S33:备份节点接收预准备消息并验证预准备消息正确性,验证通过后,将该消息写入本地日志并向同次共识组内的其他备份节点广播新的准备消息;
S34:备份节点向同次共识组内的其他备份节点广播确认消息;
S35:各备份节点向其所属代理节点反馈共识结果,代理节点将共识结果反馈给客户端节点;当客户端收到超过一半代理节点数的共识结果时,***达成共识。
3.根据权利要求1所述的一种基于节点可信度的多层次优化PBFT共识方法,其特征在于,采用动态节点出入管理方法更新节点共识模型的过程包括:
当新节点当入***时,新节点获取联盟区块链中各参与机构的准入许可;***对新节点进行可信度评估,得到可信度评分;根据可信度评分将新节点分配到一个次共识组内并向***内所有节点广播加入消息;各节点接收加入消息并验证消息正确性,验证通过后将自身信息和签名发送给新节点;当新节点收到超过***总节点数的三分之二条消息时,新节点成功加入***;
当旧节点退出***时,旧节点获取联盟区块链中各参与机构的退出许可;
旧节点向***中其他节点广播退出消息;各节点接收退出消息并验证消息正确性,验证通过后向旧节点发送退出确认消息;当旧节点收到超过***总节点数的三分之二条退出确认消息时,旧节点成功退出***。
CN202210445397.XA 2022-04-26 2022-04-26 一种基于节点可信度的多层次优化pbft共识方法 Active CN114938292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210445397.XA CN114938292B (zh) 2022-04-26 2022-04-26 一种基于节点可信度的多层次优化pbft共识方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210445397.XA CN114938292B (zh) 2022-04-26 2022-04-26 一种基于节点可信度的多层次优化pbft共识方法

Publications (2)

Publication Number Publication Date
CN114938292A CN114938292A (zh) 2022-08-23
CN114938292B true CN114938292B (zh) 2023-05-23

Family

ID=82863005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210445397.XA Active CN114938292B (zh) 2022-04-26 2022-04-26 一种基于节点可信度的多层次优化pbft共识方法

Country Status (1)

Country Link
CN (1) CN114938292B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115622716B (zh) * 2022-12-19 2023-03-28 湖南天河国云科技有限公司 基于区块链的物联网设备身份认证方法
CN117294720B (zh) * 2023-11-27 2024-02-20 江西农业大学 区块链的共识方法、装置、存储介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858105A (zh) * 2020-08-26 2020-10-30 电子科技大学 基于改进多层pbft的个人档案许可链管理***及方法
CN112039964A (zh) * 2020-08-24 2020-12-04 大连理工大学 一种基于区块链的节点信誉共识方法
CN113259179A (zh) * 2021-06-18 2021-08-13 杭州云智声智能科技有限公司 一种基于节点评分的拜占庭容错共识方法与***
CN113781218A (zh) * 2021-09-03 2021-12-10 桂林电子科技大学 基于特征信任的分组pbft共识算法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200344111A1 (en) * 2020-05-14 2020-10-29 Rani Malhotra System and method for obtaining consensus in a distributed ledger network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039964A (zh) * 2020-08-24 2020-12-04 大连理工大学 一种基于区块链的节点信誉共识方法
CN111858105A (zh) * 2020-08-26 2020-10-30 电子科技大学 基于改进多层pbft的个人档案许可链管理***及方法
CN113259179A (zh) * 2021-06-18 2021-08-13 杭州云智声智能科技有限公司 一种基于节点评分的拜占庭容错共识方法与***
CN113781218A (zh) * 2021-09-03 2021-12-10 桂林电子科技大学 基于特征信任的分组pbft共识算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Yanjun Jiang.Scalable efficient byzantine fault tolerance.《IEEEXplore》.2020,全文. *
基于信任委托的区块链分层共识优化;段靓;吕鑫;刘凡;;计算机工程(第10期);全文 *

Also Published As

Publication number Publication date
CN114938292A (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
CN109871669B (zh) 一种基于区块链技术的数据共享解决方法
CN114938292B (zh) 一种基于节点可信度的多层次优化pbft共识方法
CN111082943B (zh) 一种高效的区块链共识方法
Yu et al. Proof-of-QoS: QoS based blockchain consensus protocol
CN110113388A (zh) 一种基于改进型聚类算法的区块链***共识的方法和装置
Hassanzadeh-Nazarabadi et al. Lightchain: A dht-based blockchain for resource constrained environments
Wang et al. A comparative study of blockchain consensus algorithms
EP4318362A1 (en) Blockchain-based data processing method, apparatus and device, and storage medium
CN111611315A (zh) 面向金融大数据的多叉树结构区块链集成优化存储方法
Wang et al. A trusted consensus fusion scheme for decentralized collaborated learning in massive IoT domain
Wang et al. Beh-Raft-Chain: a behavior-based fast blockchain protocol for complex networks
CN112540926A (zh) 一种基于区块链的资源分配公平的联邦学习方法
CN113438084A (zh) 一种基于r-pbft共识算法和时间戳的绿电溯源方法及***
CN112187866B (zh) 一种基于共享存储的新型区块链共识方法
CN115665170B (zh) 基于信誉和节点压缩机制的区块链共识方法
CN112769580A (zh) 一种区块链分层激励共识算法
CN114499890A (zh) 联盟链中基于节点分组的Raft PBFT两阶段共识机制
CN111798234B (zh) 一种轻量级区块链***及构造方法
Han et al. Blockchain based spectrum sharing algorithm
CN114978684B (zh) 基于改进凝聚型层次聚类的pbft共识方法
Wang et al. A trusted consensus scheme for collaborative learning in the edge ai computing domain
CN114490020A (zh) 一种区块链分片方法、***及电子设备
CN112468552A (zh) 双层分布式区块链网络模型的轻量级信誉共识实现方法
CN111858105A (zh) 基于改进多层pbft的个人档案许可链管理***及方法
CN113886501A (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