CN117896116A - 基于权重随机选举和分组信誉的pbft的共识方法 - Google Patents
基于权重随机选举和分组信誉的pbft的共识方法 Download PDFInfo
- Publication number
- CN117896116A CN117896116A CN202311824677.2A CN202311824677A CN117896116A CN 117896116 A CN117896116 A CN 117896116A CN 202311824677 A CN202311824677 A CN 202311824677A CN 117896116 A CN117896116 A CN 117896116A
- Authority
- CN
- China
- Prior art keywords
- node
- consensus
- group
- nodes
- reputation
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
- H04L67/1057—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers involving pre-assessment of levels of reputation of peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
- H04L9/0668—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
-
- 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)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Nonlinear Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于权重随机选举和分组信誉的PBFT的共识方法,属于区块链技术领域,在供应链溯源方面有很广泛的应用。该共识方法包括以下步骤:首先,采用罗吉斯蒂克函数建立信誉模型,引入时间衰减函数构建信誉奖惩机制,对区块链的所有节点信誉初始值更新,并对更新后的信誉值对节点进行排序;其次,采用分层思想根据信誉值的排序对节点进行分组,分为监督组、共识组、预备组和拜占庭组,将信誉值排名靠前的多个节点分入监督组;然后,以网络内节点信誉值为权重,采用随机权重方法,在共识组内选举出主节点Nprim;最后,在一致性协议共识过程中,当主节点收到至少f+1个来自不同节点的信息时,对该信息进行最终判断,并将最终判断结果返回给所有节点,完成共识并生成新区块Block,该共识方法降低了传统PBFT算法的通信复杂度,提高共识效率。
Description
技术领域
本发明涉及区块链技术领域,具体为一种基于权重随机选举和分组信誉的PBFT的共识方法。
背景技术
随着信息技术的发展,区块链技术也得到了广泛关注,在金融、医疗、司法、物流、溯源、公共管理等领域具有很好的应用潜力且逐渐成为研究热点。区块链技术本质是一种去中心化的分布式数据库,具有去中心化、可追溯、点对点通信等特点。共识算法是区块链技术的核心,也是系统性能的重要体现,它保证了节点上数据的正确性和一致性。截至目前,已经出现许多类型不同的区块链共识算法,常用的共识算法为:工作量证明(Proof ofWork,PoW)、权益证明(Proof of Stake,PoS)、股份授权证明(Delegated Proof of Stake,DPoS)、Raft(Replication and Fault Tolerant)、实用拜占庭容错(Practical ByzantineFault Tolerance,PBFT)。
PoW共识算法主要应用在在公有链中,该算法依靠计算机自身的性能来争取记账权,使得系统是完全去中心化,但该算法极其消耗算力,违背了环保理念。PoS共识算法引入币龄概念,币龄被掌控时间越长,节点获得记账权机会就越大,该算法在算力消耗上有所降低,但会导致较为严重的中心化问题。DPoS共识算法在PoS算法改进而来,较于PoS共识算法,可以大幅减少能耗,提升共识效率。由于该算法主要通过选取少部分节点作为记账节点来代替自己行使记账权,会产生节点不积极投票和贿赂节点的问题。Raft共识算法在私有链中应用广泛,该算法核心是日志复制和选举领导两个过程,其通信复杂度低,但会产生伪造日志的问题。
PBFT算法是一类状态机拜占庭共识算法,PBFT共识算法广泛应用于联盟链供应链溯源技术中,该算法能够容忍网络中存在的拜占庭节点,包括宕机节点和恶意节点。该算法由一致性协议、视图更换协议和检查点协议三部分组成,可以容忍小于1/3个系统节点数的无效或恶意节点,但仍有许多待改进之处。首先PBFT一致性协议中,准备与确认阶段的通信复杂度各有O(N2),通信复杂度过高,其中N为网络节点总数;其次PBFT共识算法中主节点按照顺序选出,主节点选取太过于随意,且所有节点均为共识节点,影响了主节点的可靠性与节点的积极性;最后PBFT共识算法没有奖惩机制,即使在出现拜占庭节点时也无惩罚措施,极大地影响了系统的安全性。
联盟链在供应链溯源应用方面得到广泛应用,随着供应链上的企业逐渐增多,供应链结构也更加复杂。供应链上的信息分布在不同的供应链成员手中,信息共享程度较低,信息的真实、可靠性也难以保证,且传统的PBFT共识方法存在通信复杂度过高、主节点选取太过于随意、无奖惩机制等改进之处。为确保供应链上各成员节点上的溯源信息高效交互、实时共享、不可篡改等,本发明提供一种基于权重随机选举和分组信誉的PBFT的共识方法,降低了传统PBFT算法的通信复杂度,提高共识效率。
发明内容
针对现有技术中存在的问题,本发明提供一种基于权重随机选举和分组信誉的PBFT的共识方法,降低了传统PBFT算法的通信复杂度,提高共识效率。
本发明是通过以下技术方案来实现:
一种基于权重随机选举和分组信誉的PBFT的共识方法,包括以下步骤:
步骤1、采用罗吉斯蒂克函数建立信誉模型,引入时间衰减函数构建信誉奖惩机制,对区块链的所有节点信誉初始值更新,并对更新后的信誉值对节点进行排序;
步骤2、采用分层思想根据信誉值的排序对节点进行分组,分为监督组、共识组、预备组和拜占庭组,将信誉值排名靠前的多个节点分入监督组;
步骤3、以网络内节点信誉值为权重,采用随机权重方法,在共识组内选举出主节点Nprim;
步骤4、在一致性协议共识过程中,当主节点收到至少f+1个来自不同节点的信息时,对该信息进行最终判断,并将最终判断结果返回给所有节点,达成共识生成新区块Block。
优选的,步骤1中所述信誉值迭代更新方法如下:
其中,Ri,j表示第i轮共识,节点j的信誉值,Si,j表示节点j的信誉因子;
其中,是第i轮共识下节点j的共识行为因子,α为共识行为因子调节系数,为时间衰减因子,m为共识总轮数,TjN*为节点j的参与共识标识符号值,是节点j的共识参与活跃因子,β为共识参与活跃因子调节系数,表示共识惩罚因子,γ为共识惩罚因子调节系数,g(x)为标准正态函数。
优选的,步骤2中所述对节点分组的分组方法如下:
设置诚信阀值Rhonest、普通阀值Rcommon和质疑阀值Rdoubtful;
节点信誉值满足Rhonest≤Rj时,将对应的节点划入监督组;
节点信誉值满足时,将对应的节点划入共识组;
节点信誉值满足时,将对应的节点划入预备组;
节点信誉值满足时,将对应的节点划入拜占庭组。
优选的,新节点的分组方法如下:
新节点向监督组广播申请消息,监督组中节点收到申请消息后,对新节点的信息进行审核,若审核通过将其加入预备组;
当预备组中节点退出时,向监督组广播申请消息,监督组中节点收到申请消息后,对节点信息进行审核,若审核通过将其划入拜占庭组。
优选的,步骤3中所述主节点的选举方法如下:
监督组生成随机数RN∈(0,1),并向共识组广播,并搜索出符合该随机值的节点信誉值,并向共识组广播<j,Rj>,共识组中节点收到后与本地日志进行对比,发送<j,R′j>,若监督节点发现Rj≠R′j则监督节点会向整个系统广播该共识节点j,该节点驱逐出共识组至拜占庭组,并被系统记录为恶意节点,否则选举节点j为共识主节点。
优选的,所述节点的权重的表示式如下:
其中,Rj为节点j的信誉值,为共识组中所有信誉值的总和。
优选的,步骤4所述一致性协议共识过程分为以下5个阶段:
request阶段:客户端c向主节点p发送request消息;
pre-prepare阶段:主节点p接收request消息,为该请求消息分配一个编号n,将交易产生的数据存入交易池,主节点p将交易池中验证通过的交易数据打包后将数据块的信息广播向共识组其他节点发送pre-prepare消息;
prepare阶段:共识节点i接受到主节点p发出数据块pre-prepare消息后进行验证,若验证信息是正确的且没有被恶意篡改,则进行签名并加盖时间戳,将消息写入消息日志,然后采用组播方式将prepare消息发送给其他节点;
commit阶段:节点i接受prepare消息,则将消息写入消息日志,接收到不同节点的prepare消息与pre-prepare消息相匹配,则发送确认消息给主节点p,主节点收到共识节点中大于f+1(f为系统可容忍的最大拜占庭节点数)个节点的确认消息后,则认为系统中各节点的状态达成一致,完成共识并将共识结果发给其他节点;
reply阶段:当节点i接受f+1个commit消息后,执行请求,并发送reply消息给客户端c,客户端c收到不同节点发来的f+1个相同reply消息时,接受reply消息。
优选的,步骤4中的公式过程中,当所述主节点宕机或者作恶,则对其进行信誉惩罚,并触发视图切换协议选取新的主节点,失效主节点信誉值更新后重新确定其所属节点分组。
优选的,还包括以下步骤:步骤5在每个共识阶段结束后,监督节点根据系统中所有节点在当前共识阶段的表现并综合节点在上一轮共识阶段的表现,对每个节点的信誉值进行更新,并发送给各个节点,各个节点收到监督节点的消息后进行验证,待验证结束后监督节点根据其他节点的反馈,再对自身的信誉值进行更新。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提供的一种基于权重随机选举和分组信誉的PBFT的共识方法,首先根据节点行为,采用罗吉斯蒂克函数建立信誉模型,引入时间衰减函数构建了信誉奖惩机制,解决了信誉机制类共识算法产生节点信誉累计问题,提升了节点成为共识节点的积极性,降低了系统中心化程度;其次,根据节点信誉值,采用分层思想,对节点进行了分组,引入监督组处理节点进入退出区块链网络,解决了传统PBFT算法缺失动态性问题;监督组中的节点是信誉值排名靠前的节点构成,在保证系统动态性同时,也大大减小了只由单个节点审核节点进出所产生的权利过高带来的安全问题;另外,主节点的选举以节点信誉值为权重,采用随机权重方法,有效避免了现有主节点从信誉值排名第一、第二的共识节点中挑选方式带来的最大程度避免集中化问题,同时也保证了共识的可靠性,降低视图切换频率;最后,通过筛选节点信誉值,将信誉值不低于普通信誉阀值的节点划入共识组完成共识,进一步优化了共识算法一致性协议执行流程的准备、确认与响应阶段,降低了传统PBFT算法的通信复杂度,提高共识效率。
附图说明
图1为本发明基于权重随机选举和分组信誉的PBFT的共识方法的流程图;
图2为本发明节点模型图;
图3为本发明基于权重随机选举和分组信誉的PBFT的共识方法一致性协议图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
参阅图1,一种基于权重随机选举和分组信誉的PBFT的共识方法,包括以下步骤:
步骤1、采用罗吉斯蒂克函数建立信誉模型,引入时间衰减函数构建了信誉奖惩机制。共识开始前,先对区块链的所有节点信誉值赋予初始值,启动共识过程,按照信誉值公式,更新所有节点的信誉值,并按照信誉值从大到小一次排列;具体包括以下过程:
S1.1、在参加首次共识时,所有所述节点均分配相同的初始信誉值R0,j=0.5,此时系统内所有节点权重均一样,故随机选举主节点,开始首轮共识,共识完成后,更新所述节点的所述信誉值。
S1.2:根据节点行为更新节点信誉值,具体迭代公式如下:
其中,Ri,j表示第i轮共识,节点j的信誉值,Si,j表示节点j的信誉因子,具体公式如下:
其中,是第i轮共识下节点j的共识行为因子,α为共识行为因子调节系数,为时间衰减因子,m为共识总轮数。该时间衰减因子用来衡量共识轮次的先后对信任度得分的影响,在每轮共识过程中都有一个时间衰减因子与之对应,共识轮次距离当前的轮次越远,时间衰弱越大,对节点的信誉值得分影响就越小,即近期的共识过程行为是更为重要的评价指标。TjN*为节点j的参与共识标识符号值,具体公式如下:
是节点j的共识参与活跃因子,β为共识参与活跃因子调节系数,该共识参与活跃因子可以反映出节点j的成功参与共识的活跃程度,节点j成功参与程度越高,活跃度越高,对信任值评价的正面影响也就越大。表示共识惩罚因子,对于信誉值高的节点,其行为出错时,其所受的信任惩罚较大;而信任度低的节点行为出错时,其所受到的惩罚相对较小。这样可避免高信誉节点权利集中,并激励节点做出诚实行为。γ为共识惩罚因子调节系数,g(x)为标准正态函数,具体表达式如下:
步骤2、如图2所示,采用分层思想根据节点信誉值对节点进行了分组。督组中的节点是信誉值排名靠前的节点(这里选取信誉值排名第一、第二的)节点构成,该组内节点主要负责记录和更新网络内所有节点信誉值并处理节点进入退出区块链网络,在保证系统动态性同时,也大大减小了只由单个节点审核进出所产生的权利过高带来的安全问题;
所述督组中的表达式如下:
具体的,采用分层思想并结合信誉值排序对节点进行分组,将节点分为监督组、共识组、预备组和拜占庭组。
设置节点信誉阀值,分别为诚信阀值、普通阀值和质疑阀值。信誉值不小于诚信阀值的节点划入监督组,信誉值介于普通阀值(含)和诚信阀值之间的节点划入共识组,信誉值介于质疑阀值(含)和普通阀值之间的节点或新加入系统的新节点划入预备组,信誉值小于质疑值的节点或作恶节点划入拜占庭组。
S2.1:设Rhonest为诚信阀值,满足Rhonest≤Rj时,将对应的节点划入监督组,此时nj∈Nsupervise,设监督组中的节点数为ns,这里选ns=2,即选取节点信誉值前2名的节点划入监督组;设Rcommon为普通阀值,满足时,将对应的节点划入共识组,此时nj∈Nconsensus,设共识组中的节点数为nc;设Rdoubtful为质疑阀值,满足时,将对应的节点划入预备组,设预备组中的节点数为nb;满足时,将对应的节点划入拜占庭组,设拜占庭组中的节点数为nf。
S2.2:新节点加入处理的具体步骤包括:新节点向监督组广播申请消息,申请消息需要包括节点自身身份以及证明信用信息;监督组中节点收到申请消息后,对信息进行审核,若申请通过,则将通过信息广播全网,并将其加入预备组;
S2.3:节点退出处理的具体步骤包括:
要退出的节点向监督组广播申请消息,申请消息需要包括自身状态信息;监督组中节点收到申请消息后,对信息进行审核,只有处在预备组中的节点才能退出系统,若审核通过,则将通过信息广播全网,并将其划入拜占庭组。
采用分层思想,利用各节点的信誉值将联盟链中所有节点划分为监督组、共识组、预备组和拜占庭组;监督组中的节点由上一轮共识完成后信誉值靠前的节点升入,数量固定,加入一个节点后随机剔除另一个节点离开并进入预备组,监督组中节点用于查询和监督共识过程、系统内各节点的信誉值更新维护、处理加入或退出区块链网络节点的申请以及解决出现拜占庭问题的节点;拜占庭组中的节点包括恶意节点和信誉度极差节点;预备组中的节点为新加入节点或者从监督组组和共识组中正常退出的节点;共识组中节点用于参与共识,一个共识周期包含多轮共识。
步骤3:以网络内节点信誉值为权重,采用随机权重方法,在共识组内选举出主节点Nprim;有效避免了现有主节点从信誉值排名第一、第二的共识节点中挑选方式所带来的最大程度避免集中化问题,同时也保证了共识的可靠性,降低视图切换频率,具体包括以下过程:
S3.1:计算节点j的权重值,具体公式如下:
其中,Rj为节点j的信誉值,为共识组中所有信誉值的总和。
S3.2:监督组生成随机数RN∈(0,1),并向共识组广播,并搜索出符合该随机值的节点信誉值,并向共识组广播<j,Rj>,共识组中节点收到后与本地日志进行对比,发送<j,R′j>若监督节点发现Rj≠R′j则监督节点会向整个系统广播该共识节点j,该节点将会立刻被驱逐至拜占庭组,并被系统记录为恶意节点,否则选举节点j为共识主节点。
现有PBFT改进算法多数选取信誉值最高(可信度最高)的节点担任主节点,这样虽然能够在很大程度上保证系统的安全,但每一轮共识结束后,主节点相较于其他节点往往会获得更多的报酬,随着时间累积,主节点往往仅会由某几个节点担任且节点之间的信誉值差值会越来越大,从而出现系统的集中化趋势。为了最大程度避免集中化问题,且能保证安全,本发明提出了随机权重选举主节点。
步骤4:如图3所示,根据节点信誉值筛选,将节点信誉值不低于普通信誉阀值的节点划入共识组Nconsensus完成共识,进一步优化了共识算法一致性协议执行流程的准备、确认与响应阶段。在此一致性协议的过程中参与共识的节点大概率为诚信可靠节点。在共识过程中,每个节点都能够做出自己的判断,当主节点收到至少f+1个来自不同节点的信息时,对该数据信息进行最终判断,并将最终判断结果返回给系统中的所有节点,达成共识生成新区块Block。
在所述共识过程中,如果所述主节点宕机或者作恶,若主节点在共识过程中出现宕机或作恶行为,则对其进行信誉惩罚,并触发视图切换协议选取新的主节点,失效主节点信誉值更新后重新确定其所属节点分组。
S4.1:request阶段:客户端c向主节点p发送request消息,消息内容为<request,o,t,c>,其中,o表示请求的具体操作,t表示请求的时间戳。
S4.2:pre-prepare阶段:主节点p接收request消息,为该请求消息分配一个编号n,把交易产生的数据存入交易池。主节点p将交易池中验证通过的交易数据打包后将数据块的信息广播向共识组其他节点发送pre-prepare消息,内容为<<pre-prepare,v,n,d>,m>,其中,v表示视图号,n表示消息的序列号,d表示消息的摘要,m表示客户端发送的请求。
S4.3:prepare阶段:共识节点i接受到主节点p发出数据块pre-prepare消息后进行验证,若验证信息是正确的且没有被恶意篡改,则进行签名并加盖时间戳,将消息写入消息日志,然后采用组播方式将prepare消息发送给其他节点,消息内容为<prepare,v,n,d,i>。
S4.4:commit阶段:节点i接受prepare消息,则将消息写入消息日志。接收到不同节点的的prepare消息与pre-prepare消息相匹配,则组播发送确认消息给主节点p,消息内容为<commit,v,n,d,i>。由于主节点和共识节点都是具有信誉的节点,故节点的行为是可信的,因此主节点收到共识节点中大于f+1(f为系统可容忍的最大拜占庭节点数)的确认消息后,认为系统各节点状态达成一致,完成共识并将共识结果发给其他共识节点。
S4.5:reply阶段:当节点i接受f+1(包括自己)个commit消息后,执行请求,并发送reply消息<reply,v,t,c,i,r>给客户端c,其中,r表示执行请求的结果。客户端c只有收到不同节点发来的f+1个相同reply消息时,才接受reply消息。
由于主节点是从不低于普通信誉阀值中随机选取的,这样既保证了节点行为的可信性,同时又避免了从最高信誉值选取主节点而导致的集中化。因主节点是可靠的,这样就大大降低了触发视图切换协议的频率,从而降低通信的开销。另外,在所述共识过程中,若主节点在共识过程中出现宕机或作恶行为,则监督组对其进行信誉惩罚,并触发视图切换协议选取新的主节点,失效主节点信誉值更新后由监督组重新确定其所属节点分组。
S5:所述共识过程结束后,完成数据打包、节点信誉值更新、恶意节点记录,返回S2,调整节点分组,进行下一轮共识。
S5.1:在共识阶段结束后,监督节点根据系统中所有节点在当前共识阶段的表现并综合节点在上一轮共识阶段的表现按照信誉公式对每个节点的信誉值进行更新,并发送给各个节点。各个节点收到监督节点的消息后进行验证,待验证结束后监督节点根据其他节点的反馈,再对自身的信誉值进行更新。
S5.2:监督组根据各节点最新信誉值完成节点分组的动态调整。
本发明提供的一种应用于联盟链的基于权重随机选举和分组信誉的PBFT的共识方法,该方法根据节点行为,采用罗吉斯蒂克函数建立信誉模型,引入时间衰减函数构建了信誉奖惩机制,避免了信誉机制类共识算法因信誉累计而产生的中心化现象,提升了节点成为共识节点的积极性;该算法根据节点信誉值,对节点进行了分组为监督组、共识组、预备组和拜占庭组。监督组中的节点是信誉值排名靠前的节点构成,数量固定,在保证系统动态性同时,引入监督组处理节点进入退出区块链网络,扩展了PBFT算法动态性,也大大减小了只由单个节点审核节点进出所产生的权利过高带来的安全隐患;该算法在主节点的选举时,以节点信誉值为权重,采用随机权重方法选举,在保证了共识的可靠性的同时,有效避免了现有绝大多数主节点从信誉值排名第一、第二的共识节点中选取带来的最大程度避免集中化现象,降低了视图切换频率;该方法通过筛选节点信誉值,将信誉值不低于普通信誉阀值得节点划入共识组完成共识,进一步优化了共识算法一致性协议执行流程,降低了传统PBFT算法的通信复杂度,提高共识效率。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (9)
1.一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,包括以下步骤:
步骤1、采用罗吉斯蒂克函数建立信誉模型,引入时间衰减函数构建信誉奖惩机制,对区块链的所有节点信誉初始值更新,并对更新后的信誉值对节点进行排序;
步骤2、采用分层思想根据信誉值的排序对节点进行分组,分为监督组、共识组、预备组和拜占庭组,将信誉值排名靠前的多个节点分入监督组;
步骤3、以网络内节点信誉值为权重,采用随机权重方法,在共识组内选举出主节点Nprim;
步骤4、在一致性协议共识过程中,当主节点收到至少f+1个来自不同节点的信息时,对该信息进行最终判断,并将最终判断结果返回给所有节点,达成共识生成新区块Block。
2.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,步骤1中所述信誉值迭代更新方法如下:
其中,Ri,j表示第i轮共识,节点j的信誉值,Si,j表示节点j的信誉因子;
其中,是第i轮共识下节点j的共识行为因子,α为共识行为因子调节系数,为时间衰减因子,m为共识总轮数,为节点j的参与共识标识符号值,是节点j的共识参与活跃因子,β为共识参与活跃因子调节系数,表示共识惩罚因子,γ为共识惩罚因子调节系数,g(x)为标准正态函数。
3.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,步骤2中所述对节点分组的分组方法如下:
设置诚信阀值Rhonest、普通阀值Rcommon和质疑阀值Rdoubtful;
节点信誉值满足Rhonest≤Rj时,将对应的节点划入监督组;
节点信誉值满足Rcommon≤Rj<Rhonest时,将对应的节点划入共识组;
节点信誉值满足Rdoubtful≤Rj<Rcommon时,将对应的节点划入预备组;
节点信誉值满足Rj<Rdoubtful时,将对应的节点划入拜占庭组。
4.根据权利要求3所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,新节点的分组方法如下:
新节点向监督组广播申请消息,监督组中节点收到申请消息后,对新节点的信息进行审核,若审核通过将其加入预备组;
当预备组中节点退出时,向监督组广播申请消息,监督组中节点收到申请消息后,对节点信息进行审核,若审核通过将其划入拜占庭组。
5.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,步骤3中所述主节点的选举方法如下:
监督组生成随机数RN∈(0,1),并向共识组广播,并搜索出符合该随机值的节点信誉值,并向共识组广播<j,Rj>,共识组中节点收到后与本地日志进行对比,发送<j,R′j>,若监督节点发现Rj≠R′j则监督节点会向整个系统广播该共识节点j,该节点驱逐出共识组至拜占庭组,并被系统记录为恶意节点,否则选举节点j为共识主节点。
6.根据权利要求5所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,所述节点的权重的表示式如下:
其中,Rj为节点j的信誉值,为共识组中所有信誉值的总和。
7.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,步骤4所述一致性协议共识过程分为以下5个阶段:
request阶段:客户端c向主节点p发送request消息;
pre-prepare阶段:主节点p接收request消息,为该请求消息分配一个编号n,将交易产生的数据存入交易池,主节点p将交易池中验证通过的交易数据打包后将数据块的信息广播向共识组其他节点发送pre-prepare消息;
prepare阶段:共识节点i接受到主节点p发出数据块pre-prepare消息后进行验证,若验证信息是正确的且没有被恶意篡改,则进行签名并加盖时间戳,将消息写入消息日志,然后采用组播方式将prepare消息发送给其他节点;
commit阶段:节点i接受prepare消息,则将消息写入消息日志,接收到不同节点的prepare消息与pre-prepare消息相匹配,则发送确认消息给主节点p,主节点收到共识节点中大于f+1(f为系统可容忍的最大拜占庭节点数)个节点的确认消息后,则认为系统中各节点的状态达成一致,完成共识并将共识结果发给其他节点;
reply阶段:当节点i接受f+1个commit消息后,执行请求,并发送reply消息给客户端c,客户端c收到不同节点发来的f+1个相同reply消息时,接受reply消息。
8.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,步骤4中,当所述主节点宕机或者作恶,则对其进行信誉惩罚,并触发视图切换协议选取新的主节点,失效主节点信誉值更新后重新确定其所属节点分组。
9.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,还包括以下步骤:步骤5在每个共识阶段结束后,监督节点根据系统中所有节点在当前共识阶段的表现并综合节点在上一轮共识阶段的表现,对每个节点的信誉值进行更新,并发送给各个节点,各个节点收到监督节点的消息后进行验证,待验证结束后监督节点根据其他节点的反馈,再对自身的信誉值进行更新。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311824677.2A CN117896116A (zh) | 2023-12-27 | 2023-12-27 | 基于权重随机选举和分组信誉的pbft的共识方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311824677.2A CN117896116A (zh) | 2023-12-27 | 2023-12-27 | 基于权重随机选举和分组信誉的pbft的共识方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117896116A true CN117896116A (zh) | 2024-04-16 |
Family
ID=90645024
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311824677.2A Pending CN117896116A (zh) | 2023-12-27 | 2023-12-27 | 基于权重随机选举和分组信誉的pbft的共识方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117896116A (zh) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119483892A (zh) * | 2024-11-08 | 2025-02-18 | 北方工业大学 | 基于节点行为分析的拜占庭容错共识方法、设备及介质 |
| CN119691065A (zh) * | 2024-11-29 | 2025-03-25 | 贵州电网有限责任公司 | 基于区块链数据库平台的电网数据治理方法、装置、计算机设备 |
| CN119760773A (zh) * | 2024-12-13 | 2025-04-04 | 湖南大学 | 一种基于用户偏好与信誉值的动态pbft共识方法 |
| CN119854307A (zh) * | 2024-12-30 | 2025-04-18 | 南昌航空大学 | 一种基于发送方的轻量级区块链架构 |
| CN119941247A (zh) * | 2025-04-10 | 2025-05-06 | 浙江云野科技有限公司 | 基于区块链技术存储支付数据的方法 |
| CN120692007A (zh) * | 2025-08-01 | 2025-09-23 | 中国传媒大学 | 基于rpbft改进的联盟链共识方法及系统 |
-
2023
- 2023-12-27 CN CN202311824677.2A patent/CN117896116A/zh active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119483892A (zh) * | 2024-11-08 | 2025-02-18 | 北方工业大学 | 基于节点行为分析的拜占庭容错共识方法、设备及介质 |
| CN119483892B (zh) * | 2024-11-08 | 2025-06-27 | 北方工业大学 | 基于节点行为分析的拜占庭容错共识方法、设备及介质 |
| CN119691065A (zh) * | 2024-11-29 | 2025-03-25 | 贵州电网有限责任公司 | 基于区块链数据库平台的电网数据治理方法、装置、计算机设备 |
| CN119760773A (zh) * | 2024-12-13 | 2025-04-04 | 湖南大学 | 一种基于用户偏好与信誉值的动态pbft共识方法 |
| CN119854307A (zh) * | 2024-12-30 | 2025-04-18 | 南昌航空大学 | 一种基于发送方的轻量级区块链架构 |
| CN119941247A (zh) * | 2025-04-10 | 2025-05-06 | 浙江云野科技有限公司 | 基于区块链技术存储支付数据的方法 |
| CN120692007A (zh) * | 2025-08-01 | 2025-09-23 | 中国传媒大学 | 基于rpbft改进的联盟链共识方法及系统 |
| CN120692007B (zh) * | 2025-08-01 | 2025-11-18 | 中国传媒大学 | 基于rpbft改进的联盟链共识方法及系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN117896116A (zh) | 基于权重随机选举和分组信誉的pbft的共识方法 | |
| CN112039964B (zh) | 一种基于区块链的节点信誉共识方法 | |
| Wang et al. | Study of blockchains’s consensus mechanism based on credit | |
| CN114189421B (zh) | 一种领导者节点选举方法、系统、存储介质及设备 | |
| CN111026578B (zh) | 一种基于预言机的智能合约安全检测方法 | |
| CN113570357B (zh) | 一种动态分层的高效pbft算法 | |
| CN109447795B (zh) | 一种支持快速达成最终确认性的拜占庭共识方法 | |
| CN113313378B (zh) | 一种基于信誉度模型的区块链共识方法 | |
| CN110796547A (zh) | 一种基于联盟区块链的改进的实用拜占庭容错系统 | |
| CN111010278B (zh) | 一种基于DPoS高容错分层共识方法 | |
| Xiao et al. | CE-PBFT: A high availability consensus algorithm for large-scale consortium blockchain | |
| CN112073483A (zh) | 基于信誉与委员会背书机制的权威证明共识方法及系统 | |
| Zhang et al. | Qpbft: Practical byzantine fault tolerance consensus algorithm based on quantified-role | |
| CN112788137A (zh) | 一种基于raft算法的联盟链共识方法 | |
| CN111131209A (zh) | 一种改进的高效共识方法、系统、计算机设备及存储介质 | |
| CN115499129A (zh) | 一种多模信任跨链共识方法、系统、介质、设备及终端 | |
| CN110602705A (zh) | 一种适用于车联网环境的改进pbft共识方法 | |
| CN112540926A (zh) | 一种基于区块链的资源分配公平的联邦学习方法 | |
| CN113422805A (zh) | 一种基于可验证随机函数的分片共识方法 | |
| CN111082943A (zh) | 一种高效的区块链共识方法 | |
| CN113014635A (zh) | 区块链系统的节点类型划分方法、装置及区块链系统 | |
| CN116614516A (zh) | 基于声誉改进的pbft共识方法 | |
| CN115796261A (zh) | 一种基于区块链的轻量级分组共识的联邦学习方法 | |
| CN117439998A (zh) | 一种面向物联网的联盟链共识协议优化方法 | |
| CN113038427B (zh) | 一种基于信誉机制和dpos的区块链跨区域认证方法 |
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 |