CN117675378A - 一种基于区块链的节点选取方法、系统、设备及存储介质 - Google Patents
一种基于区块链的节点选取方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN117675378A CN117675378A CN202311685238.8A CN202311685238A CN117675378A CN 117675378 A CN117675378 A CN 117675378A CN 202311685238 A CN202311685238 A CN 202311685238A CN 117675378 A CN117675378 A CN 117675378A
- Authority
- CN
- China
- Prior art keywords
- node
- reputation
- obtaining
- consensus
- blockchain
- 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
- 238000010187 selection method Methods 0.000 title claims abstract description 22
- 238000013210 evaluation model Methods 0.000 claims abstract description 25
- 230000007246 mechanism Effects 0.000 claims abstract description 24
- 238000012216 screening Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000011156 evaluation Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 14
- 230000007334 memory performance Effects 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 19
- 210000000349 chromosome Anatomy 0.000 description 13
- 230000006399 behavior Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000001934 delay Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000036314 physical performance Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明属于区块链领域,具体涉及一种基于区块链的节点选取方法、系统、设备及存储介质,其方法包括:获取区块链节点;基于所述区块链节点以及节点信誉动态评价模型,得到候选节点集合;基于所述候选节点集合以及筛选模型,得到共识节点集合;基于所述共识节点集合以及领导节点随机选取机制,得到随机领导节点。本申请具有提高区块链交易效率、可扩展性和安全性的效果。
Description
技术领域
本发明属于区块链领域,具体涉及一种基于区块链的节点选取方法、系统、设备及存储介质。
背景技术
区块链是通过密码学、共识机制和智能合约技术实现的分布式账本,用于记录交易数据。区块链技术的去中心化、可追溯、防篡改等特性使得其在金融科技、智能电力、智能交通等多个领域有着巨大的应用前景。共识算法作为区块链的关键技术,在性能、安全性、可扩展性等方面起着决定性的作用,保证系统节点对交易数据达成共识。共识协议是区块链核心技术之一。由于点对点网络的高延迟,每个节点观察到的事务顺序不一致。为了解决这个问题,提出了共识协议,使所有节点在一定时间内对创建的事务的内容和顺序达成共识。
联盟链中最常用的共识算法是使用拜占庭容错协议算法(PBFT)。PBFT算法在节点较少时能够实现高效且安全的共识,但当节点数量增加时,PBFT需要进行大量的通信,导致系统性能显著下降。
发明内容
本发明要解决的技术问题是,提高区块链交易时的可扩展性和安全性,本申请提供一种基于区块链的节点选取方法、系统、设备及存储介质。
一种基于区块链的节点选取方法,包括:
获取区块链节点;
基于所述区块链节点以及节点信誉动态评价模型,得到候选节点集合;
基于所述候选节点集合以及筛选模型,得到共识节点集合;
基于所述共识节点集合以及领导节点随机选取机制,得到随机领导节点。
可选的,所述基于所述区块链节点以及节点信誉动态评价模型,得到候选节点集合包括:
获取每个所述区块链节点的信誉评价参数;
获取候选节点数量;
基于所述信誉评价参数以及所述节点信誉动态评价模型,得到节点固定信誉、节点共识信誉以及节点历史信誉;
基于所述节点固定信誉、所述节点共识信誉以及所述节点历史信誉,得到节点信誉;
基于所述节点信誉以及所述候选节点数量,对所有的所述区块链节点排序,得到所述候选节点集合。
可选的,基于所述信誉评价参数以及所述节点信誉动态评价模型,得到节点固定信誉包括:
基于所述信誉评价参数,得到节点存储器性能、节点处理器处理效率、节点传感器性能以及节点的带宽性能;
基于所述节点信誉动态评价模型,得到固定信誉公式;
基于所述节点存储器性能、所述节点处理器处理效率、所述节点传感器性能、所述节点的带宽性能以固定信誉公式,得到节点固定信誉。
可选的,基于所述信誉评价参数以及所述节点信誉动态评价模型,得到节点共识信誉包括:
基于所述信誉评价参数,构建评价指标集;
对所述评价指标集归一化处理,得到归一化值;
获取共识参数以及评价指标的权重向量;
基于所述共识参数、所述归一化值以及所述权重向量,得到所述节点共识信誉。
可选的,所述基于所述节点固定信誉、所述节点共识信誉以及所述节点历史信誉,得到节点信誉包括:
基于所述节点固定信誉以及所述节点共识信誉,得到节点初步综合信誉
获取上一周期的节点历史信誉;
基于所述节点初步综合信誉以及所述节点历史信誉,得到所述节点信誉。
可选的,所述基于所述候选节点集合以及筛选模型,得到共识节点集合包括:
基于所述筛选模型,得到适应度函数;
基于初始化种群,得到选中节点数量;
基于所述选中节点数量、所述候选节点数量、所述节点信誉、共识节点选择结果序列以及适应度函数,得到适应度值;
设定终止条件;
基于所述适应度值以及终止条件,从所述候选节点集合中筛选得到所述共识节点集合。
可选的,所述基于所述共识节点集合以及领导节点随机选取机制,得到随机领导节点包括:
基于所述共识节点集合以及领导节点随机选取机制,得到私钥和当前轮数;
基于所述私钥和所述当前轮数,得到验证函数的输出和证明;
将所述输出、证明以及时间戳广播,得到广播结果;
基于验证公式验证所述广播结果,得到验证结果;
基于所述验证结果,得到所述随机领导节点。
一种基于区块链的节点选取系统,包括:
第一获取模块,用于获取区块链节点;
评价模块,用于基于所述区块链节点以及节点信誉动态评价模型,得到候选节点集合;
筛选模块,用于基于所述候选节点集合以及筛选模型,得到共识节点集合;
第二获取模块,用于基于所述共识节点集合以及领导节点随机选取机制,得到随机领导节点。
一种终端设备,包括存储器、处理器,所述存储器储存有能够在处理器上运行的计算机程序,所述处理器加载并执行所述计算机程序时,采用了一种基于区块链的节点选取方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,采用了上述的一种基于区块链的节点选取方法。
本发明的有益效果是,首先构建了节点动态信誉评价模型来将节点划分为普通节点和候选节点,其次针对候选节点构建了选取模型来筛选共识节点集合,大大降低处理节点的数量,提高系统的效率,最后构建了领导节点随机选取机制保证了领导节点的不可预测性,降低了领导节点遭受恶意攻击的概率,提高了系统效率和安全性。
附图说明
图1是本发明一种基于区块链的节点选取方法其中一种实施方式的流程示意图;
图2是本发明一种基于区块链的节点选取方法其中一种实施方式的流程示意图;
图3是本发明在不同节点数量下的通信次数图;
图4是本发明不同交易大小和不同节点数量下的共识时延图;
图5是本发明不同交易大小和不同节点数量下的吞吐量图。
具体实施方式
一种基于区块链的节点选取方法,包括:
S100、获取区块链节点。
具体的,区块链节点是指网络中参与维护和验证区块链数据的计算机设备或服务器。节点在区块链网络中扮演着重要角色,它们共同构成了分布式的去中心化网络。
S110、基于区块链节点以及节点信誉动态评价模型,得到候选节点集合。
具体的,候选节点集合是在所有的区块链节点中选择若干个信誉度较高的节点所形成的集合。节点信誉动态评价模型为用于评价区块链节点的信誉的模型,通过区块链节点参数结合节点信誉动态模型,即可得到每一个区块链节点的节点信誉。
S120、基于候选节点集合以及筛选模型,得到共识节点集合。
具体的,共识节点集合为由于用户增加,导致节点数量过多,需要进行大量通信,导致系统性能显著下降,为了提高系统性能,从候选节点集合中根据筛选模型,筛选出部分参与通信的节点所形成的集合。
S130、基于共识节点集合以及领导节点随机选取机制,得到随机领导节点。
具体的,领导节点是联盟链或分布式系统中担任特殊角色的节点,通常具有特殊权限和责任,具备高性能和高计算能力,领导节点被其他节点视作可信任的实体,并根据其所执行的操作进行决策和协调,为了降低领导节点遭受恶意攻击的概率,从共识节点集合中根据设定好的领导节点随机选取机制,随机选取领导节点,得到随机领导节点。领导节点随机选取机制为将共识节点按照一定的规则进行选取和评价,从中选取评价结果较高的共识节点。
在本实施例的其中一种实施方式中,如图2所示,步骤S101即基于区块链节点以及节点信誉动态评价模型,得到候选节点集合包括:
S200、获取每个区块链节点的信誉评价参数。
具体的,信誉评价参数包括节点存储器性能γ、节点处理器处理效率δ、节点传感器性能节点的带宽性能φ、节点参与共识的数据质量ψ、节点参与共识积极度ρ、节点共识成功率Γ、节点共识阶段处理时延τp、节点共识阶段响应时延τr、节点共识信誉计算周期t。准入机构可以通过对于节点的设备性能进行评估得到固定信誉相关的参数,共识信誉参数是动态的,是节点在进行共识阶段根据节点的行为动态获取的。
S210、获取候选节点数量。
具体的,候选节点数量为从区块链节点中根据节点信誉动态评价模型所选取的所有节点中按照评分从高到低选取的区块链节点数量,例如有100个区块链节点,候选节点数量为30,则选取区块链节点评分前30的区块链接节点。候选节点数量计算如下:
其中,n为区块链系统中的节点数。
S220、基于信誉评价参数以及节点信誉动态评价模型,得到节点固定信誉、节点共识信誉以及节点历史信誉。
具体的,节点固定信誉为评价区块链节点的物理性能,节点共识信誉主要考量节点在第t时间阶段共识过程中的相关行为,通过共识行为的优劣来计算节点在一段时间内共识信誉值,节点历史信誉反映出节点的以往的整体行为,对于节点行为优劣的评价具有很重要的作用。根据信誉评价参数,可以得到节点固定信誉值Rd、节点在第t轮的共识信誉值Rct以及节点在第t轮在综合信誉值Rt。
S230、基于节点固定信誉、节点共识信誉以及节点历史信誉,得到节点信誉。
具体的,节点信誉为结合节点固定信誉、节点共识信誉以及节点历史信誉所计算出的该区块链节点的综合信誉,节点信誉可以全面可靠地评价一个系统中节点的行为。
S240、基于节点信誉以及候选节点数量,对所有的区块链节点排序,得到候选节点集合。
具体的,将所有的区块链节点所计算出来的节点信誉,按照从高到低的顺序进行排列,选取候选节点数量对应的区块链节点作为候选节点集合。
在本实施例的其中一种实施方式中,步骤S220即基于信誉评价参数以及节点信誉动态评价模型,得到节点固定信誉包括:
S300、基于信誉评价参数,得到节点存储器性能、节点处理器处理效率、节点传感器性能以及节点的带宽性能。
S310、基于节点信誉动态评价模型,得到固定信誉公式。
S320、基于节点存储器性能、节点处理器处理效率、节点传感器性能、节点的带宽性能以固定信誉公式,得到节点固定信誉。
具体的,固定信誉公式为:
其中,γ是节点的存储器性能评分,δ是节点的处理器处理效率评分,是节点的传感器性能评分,φ是节点的带宽性能。但是由于性能参数的指标各有差异导致固定信誉值的分布过于松散,我们对固定信誉值进行进一步处理,使得每个节点的固定信誉映射到[0,1]之间。节点固定信誉的公式如下所示:
在本实施例的其中一种实施方式中,步骤S220即基于信誉评价参数以及节点信誉动态评价模型,得到节点共识信誉包括:
S400、基于信誉评价参数,构建评价指标集。
S410、对评价指标集归一化处理,得到归一化值。
S420、获取共识参数以及评价指标的权重向量。
S430、基于共识参数、归一值以及权重向量,得到节点共识信誉。
具体的,评价指标集为用于评价区块链节点的节点共识信誉的参数,评价指标集中包括节点参与共识的数据质量ψ、节点参与共识积极度ρ、节点共识成功率Γ、节点共识阶段处理时延τp以及节点共识阶段响应时延τr一共5个参数。其中,节点参与共识的数据质量ψ、节点参与共识积极度ρ、节点共识成功率Γ为正向指标,节点共识阶段处理时延τp以及节点共识阶段响应时延τr为负向指标。
采用极差法对共识参数指标值进行归一化评价,即将每个指标的原始值转换为0到1之间的数值,将每个节点的共识参数归一化处理的结果记为矩阵X=(xij)m×n,归一化正向指标采用如下公式:
归一化负向指标采用如下公式:
其中m是共识参数的数量,n是系统中节点数量,xij是第i个节点在第j个指标上的归一化值。
计算评价共识参数指标的信息熵和差异系数。将每个共识参数指标的信息量和信息一致性程度其分别记为E=(ej)m×1和G=(gj)m×1,其中m=5是共识参数的数量,ej∈[0,1]是第j个参数指标的信息熵,gj∈[0,1]是第j个参数指标的差异系数。ej和gj计算公式如下所示为:
gj=1-ej。
计算评价指标的权重向量。将每个共识行为参数指标的权重,记为W=(wj)m×1。wj计算方法如下所示:
结合各个共识指标和相应的权重可以计算出节点共识过程的共识信誉,其计算公式如下所示:
其中,wj是第j个参数指标的权重,xij是第i个节点在第j个参数指标上的归一化值。
在本实施例的其中一种实施方式中,步骤S230即所述基于所述节点固定信誉、所述节点共识信誉以及所述节点历史信誉,得到节点信誉包括:
S500、基于所述节点固定信誉以及所述节点共识信誉,得到节点初步综合信誉。
具体的,根据节点固定信誉以及节点共识信誉,得到节点初步综合信誉的公式为:
其中,Rct(id)为节点共识信誉,Rd(id)为节点固定信誉。
S510、获取上一周期的节点历史信誉。
S520、基于所述节点初步综合信誉以及所述节点历史信誉,得到所述节点信誉。
具体的,节点的历史信誉值可以反映出节点的以往的整体行为,对于节点行为优劣的评价具有很重要的作用,因此结合节点历史信誉对于节点信誉进行综合评价。
节点信誉计算如下:
其中,ξ是一个正数,表示函数的斜率,即信誉值变化的速度。Rt-1(id)代表上一个计算周期中节点的信誉值(上一周期的节点历史信誉),我们设定R0(id)=0。
在本实施例的其中一种实施方式中,步骤S102即基于候选节点集合以及筛选模型,得到共识节点集合包括:
S600、基于筛选模型,得到适应度函数。
具体的,筛选模型为从所有的候选节点中选取一部分节点作为共识节点,适应度函数即为评价函数,是根据目标函数来区分群体中个体素质的标准。
S610、基于初始化种群,得到选中节点数量。
具体的,初始化种群为构建一个种群由k条染色体构成,每个染色体里有k个基因,采用二进制编码来表示染色体的基因。以此来模拟从候选节点中选取共识节点。
S620、基于选中节点数量、候选节点数量、节点信誉、共识节点选择结果序列以及适应度函数,得到适应度值。
具体的,适应度函数为:
其中,x是一个共识节点选择结果序列,k是候选节点的总数,b是被选中参与共识节点的数量,Ri是第i个节点的综合信誉值(节点信誉)。
S630、设定终止条件。
具体的,终止条件为停止选择候选节点的条件,包括两个条件,当连续j代的适应度改进低于预设阈值∈或者当选取次数达到最大次数ω,用f(xi)表示第i代最优染色体的适应度值,则:
S640、基于适应度值以及终止条件,从候选节点集合中筛选得到共识节点集合。
具体的,每个节点各自选取出的最佳染色体即共识节点集合不一定相同。为了保证系统的安全性,我们采用快速投票共识机制来达成最终选取出的共识集合的一致性。该快速投票机制如下:每个节点选出自己种群中具有最佳适应度的染色体进行与其他选取节点进行通信,随后选出得到投票数最多的染色体作为最终选取出的共识集合即为共识节点集合。
每个节点首选生成若干个染色体,即初始的共识集合。如110101,代表第1个节点、第2个节点、第4个节点、第6个节点是共识节点、即一个共识节点选择序列。通过交叉变异来生成新的共识集合(不同共识节点组成的共识集合)。然后通过适应度函数来计算哪一个共识集合的适应度值更大,说明这些共识节点组成的集合更优秀。这是选取的规则,交叉变异的作用就是生成新的共识集合,b代表染色体中有几个节点被选中作为共识节点,如110101,b=4;110100,b=3,选取适应度值比较高的共识集合,比如110100这个共识集合计算出的适应度值大于110101这个共识集合计算出的适应度值,就选择110100这个共识集合作为共识集合,即代表第1个节点、第2个节点、第4个节点是共识节点,最终选择的是适应度值最高的一个染色体(共识集合),也就是几个节点组成的集合。
在本实施例的其中一种实施方式中,步骤S103即基于共识节点集合以及领导节点随机选取机制,得到随机领导节点包括:
S700、基于共识节点集合以及领导节点随机选取机制,得到私钥和当前轮数。
具体的,传统PBFT静态的领导节点切换策略导致领导节点更易遭受到恶意攻击,这会导致频繁的视图切换,使得系统开销变大,严重制约着系统的效率和可扩展性,为了解决领导节点被恶意攻击的问题,从共识节点集合中以领导节点随机选取机制选取一个领导节点。
S710、基于私钥和当前轮数,得到验证函数的输出和证明。
区块链节点在进入联盟链系统时,准入机构会采用加密算法对节点进行签名加密生成其相应的公钥pki和私钥ski。在领导节点选取过程中,基于信誉感知选取出的共识节点会使用自己的私钥ski和当前的轮数λ作为输入,计算VRF的输出ri和证明pri,VRF是一种加密算法,常用于随机性的生成和验证,计算公式如下所示:
ri=VRFHash(ski,λ)。
pri=VRFProof(ski,λ)。
其中,ski为共识节点的私钥,λ为当前的轮数,ri为输出,pri为证明。
S720、将输出、证明以及时间戳广播,得到广播结果。
具体的,每个节点将自己的VRF的输出ri和证明pri以及时间戳t广播给所有其他的节点,广播结果即为其他节点接收到的输出ri和证明pri以及时间戳t。
S730、基于验证公式验证广播结果,得到验证结果。
具体的,验证结果即为验证节点的有效性,当一个节点收到其他节点的数据、VRF输出和证明时,它使用对应的公钥pki、轮数λ、输出ri以及证明pri来检查从pri中恢复的ri是否等于收到的ri,并验证这个输出的有效性。具体的验证公式如下所示:
ri=VRFP2H(pri);
VRFVerify(pki,λ,pri)=true。
S740、基于验证结果,得到随机领导节点。
具体的,所有节点在一定的时间窗口内,收集并验证其他节点发送的VRF输出ri。节点将所有验证通过的VRF输出进行排序,选取VRF输出值ri最大的节点作为领导节点。其计算公式如下所示:
Leader=argmaxiri。
如果存在多个节点的输出值相等的情况,那么根据时间戳t选择最先生成最大输出的节点作为领导节点。如果在这一轮的共识过程中,领导节点i能够正常完成新区块的生成和广播,并且该区块被网络中的大多数节点验证并接受,那么这一轮的共识过程就成功完成。如果领导节点i未能完成其职责,或者生成的新区块未被大多数节点接受,那么将重新进行领导节点选举而后进行共识。完成本轮共识后,共识集合会根据此轮共识中的节点行为对各个节点的信誉值进行更新并同步到系统中的所有节点中。
为了评估本申请的性能,将本申请与传统的PBFT和委托拜占庭容错(DBFT)在通信开销、共识延迟、吞吐量和安全性方面进行了比较,选取不同规模的网络节点数量(10、20、30、40、50和60)和不同大小的交易数据(1KB、10KB、50KB、100KB)进行测试。同时,设定选取阈值∈为0.01%和选取上限ω为15轮以确保算法的稳定性和效率。
如图3所示,PBFT共识过程的三个主要阶段是预准备、准备和提交阶段。在预准备阶段,领导节点向所有复制节点广播一条消息,通信计数为n-1(其中n为节点数)。在准备阶段,各节点向除自身之外的所有节点发送验证消息,通信次数为(n-1)2。在提交阶段,每个节点向其他节点广播一个提交消息,通信次数为n(n-1)。因此,PBFT的总通信次数为:
T1=n-1+(n-1)2+n(n-1)=2n(n-1)。
本申请通信开销主要包括三个部分,一是基于遗传算法选取高性能共识集合的快速投票阶段,该阶段有k个节点进行相互通信参与投票,首先是染色体选择通信,每个节点都会选出具有最佳适应度的染色体,并与其他k-1个节点通信。这部分的通信次数是k(k-1)。其次是投票通信,每个节点都会基于接收到的染色体投票,并将其投票发送给其他节点。投票通信的次数也会是k(k-1)。因此整个快速投票过程的通信次数是:2k(k-1)。二是选取出的优秀共识集合进行PBFT的共识开销,根据适应度函数公式(11),我们可推导出共识集合的节点数量接近由公式(17)我们可以计算出候选节点进行共识的通信次数是三是选取的共识节点广播自己的VRF输出ri,此时的通信次数为/>因此RRCA的总通信次数为:
结合步骤S210中获取到候选节点数量,将T1和T2比较,可以得出,本申请在节点较多的情况下拥有更好的通信性能。
共识延迟是共识算法的另一个重要性能指标,通常表示事务启动并随后由区块链网络确认所需的时间。共识延迟越低,区块链系统的可扩展性和共识效率越高。共识时延的公式表示如下:
ConsensusLatency=Tc-Tr,其中Tc表示确认时间,Tr表示发起时间。为了全面测量不同共识算法的共识时延,我们分别在交易大小为1KB、10KB、50KB、100KB的条件下对不同的节点数目的共识时延进行了测量。如图4所示,在共识节点数相同和交易大小的情况下,RRCA的延迟明显优于PBFT和DBFT,且随着节点数和交易大小的增加,PBFT的共识延迟增长远大于RRCA。可以看出当网络节点数超过30时,PBFT的共识时间急剧增加,而RRCA的共识时间保持相对稳定。由此看来RRCA在大规模节点下能够更快地达成共识,性能更加优秀。
在区块链系统中,吞吐量是一个重要的性能评价指标,用于量化系统在单位时间内能够处理的事务数量。该指标通常用TPS进行表示。较高的吞吐量值意味着系统具有更强的事务处理能力和更高的并发性,吞吐量的计算公式如下:
在这个公式中,Transactions△t表示系统在△t时间内处理的交易总数,△t表示测量的时间间隔(通常以秒为单位)。我们分别在交易大小为1KB、10KB、50KB、100KB的条件下对不同的节点数目的吞吐量进行了测试。图5展示了PBFT、DBFT、RRCA在不同情况下的吞吐量。如图5所示,可以看出在相同的交易大小下,虽然三种共识算法的吞吐量都在随着节点的增加而减少,但是明显RRCA在多节点的条件下性能表现更加优秀。可以看到RRCA的吞吐量在节点超过40时相对稳定,保持在较为良好的状态。从上述分析可以得出结论,RRCA显著提高了系统的可扩展性,更加适合多节点的应用场景。
本申请通过基于行为对节点进行信誉评价并选择高质量的共识节点来提高共识效率,这不仅导致作恶的成本增加,而且使恶意节点难以成为最终的共识节点。为了防止DDoS攻击,我们构建了随机化领导节点选择机制。这种机制增加了对领导节点身份信息的预测难度,降低了领导节点被攻击的概率。另外,当领导节点发生故障时,新的领导节点会随机重新产生,从而防止对手获取固定领导节点的信息。即使恶意节点发送大量无效信息,也不会影响到领导节点,因为领导节点无法被准确识别。因此,本申请提高了系统的抗攻击能力,有效地保证了系统的安全性。
一种基于区块链的节点选取系统,包括:
第一获取模块,用于获取区块链节点;
评价模块,用于基于区块链节点以及节点信誉动态评价模型,得到候选节点集合;
筛选模块,用于基于候选节点集合以及筛选模型,得到共识节点集合;
第二获取模块,用于基于共识节点集合以及领导节点随机选取机制,得到随机领导节点。
本申请实施例还公开一种终端设备,包括存储器、处理器,存储器储存有能够在处理器上运行的计算机程序,处理器加载并执行计算机程序时,采用了一种基于区块链的节点选取方法。
其中,终端设备可以采用台式电脑、笔记本电脑或者云端服务器等计算机设备,并且,终端设备包括但不限于处理器以及存储器,例如,终端设备还可以包括输入输出设备、网络接入设备以及总线等。
其中,处理器可以采用中央处理单元(CPU),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本申请对此不做限制。
其中,存储器可以为终端设备的内部存储单元,例如,终端设备的硬盘或者内存,也可以为终端设备的外部存储设备,例如,终端设备上配备的插接式硬盘、智能存储卡(SMC)、安全数字卡(SD)或者闪存卡(FC)等,并且,存储器还可以为终端设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及终端设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本申请对此不做限制。
其中,通过本终端设备,将上述实施例中的一种基于区块链的节点选取方法存储于终端设备的存储器中,并且,被加载并执行于终端设备的处理器上,方便使用。
本申请实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例中的一种基于区块链的节点选取方法。
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
其中,通过本计算机可读存储介质,将上述实施例中的一种基于区块链的节点选取方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的保护范围限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本申请中一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本申请中一个或多个实施例旨在涵盖落入本申请的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请中一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于区块链的节点选取方法,其特征是,包括:
获取区块链节点;
基于所述区块链节点以及节点信誉动态评价模型,得到候选节点集合;
基于所述候选节点集合以及筛选模型,得到共识节点集合;
基于所述共识节点集合以及领导节点随机选取机制,得到随机领导节点。
2.如权利要求1所述的一种基于区块链的节点选取方法,其特征是,所述基于所述区块链节点以及节点信誉动态评价模型,得到候选节点集合包括:
获取每个所述区块链节点的信誉评价参数;
获取候选节点数量;
基于所述信誉评价参数以及所述节点信誉动态评价模型,得到节点固定信誉、节点共识信誉以及节点历史信誉;
基于所述节点固定信誉、所述节点共识信誉以及所述节点历史信誉,得到节点信誉;
基于所述节点信誉以及所述候选节点数量,对所有的所述区块链节点排序,得到所述候选节点集合。
3.如权利要求2所述的一种基于区块链的节点选取方法,其特征是,基于所述信誉评价参数以及所述节点信誉动态评价模型,得到节点固定信誉包括:
基于所述信誉评价参数,得到节点存储器性能、节点处理器处理效率、节点传感器性能以及节点的带宽性能;
基于所述节点信誉动态评价模型,得到固定信誉公式;
基于所述节点存储器性能、所述节点处理器处理效率、所述节点传感器性能、所述节点的带宽性能以固定信誉公式,得到节点固定信誉。
4.如权利要求2所述的一种基于区块链的节点选取方法,其特征是,基于所述信誉评价参数以及所述节点信誉动态评价模型,得到节点共识信誉包括:
基于所述信誉评价参数,构建评价指标集;
对所述评价指标集归一化处理,得到归一化值;
获取共识参数以及评价指标的权重向量;
基于所述共识参数、所述归一化值以及所述权重向量,得到所述节点共识信誉。
5.如权利要求2所述的一种基于区块链的节点选取方法,其特征是,所述基于所述节点固定信誉、所述节点共识信誉以及所述节点历史信誉,得到节点信誉包括:
基于所述节点固定信誉以及所述节点共识信誉,得到节点初步综合信誉
获取上一周期的节点历史信誉;
基于所述节点初步综合信誉以及所述节点历史信誉,得到所述节点信誉。
6.如权利要求2所述的一种基于区块链的节点选取方法,其特征是,所述基于所述候选节点集合以及筛选模型,得到共识节点集合包括:
基于所述筛选模型,得到适应度函数;
基于初始化种群,得到选中节点数量;
基于所述选中节点数量、所述候选节点数量、所述节点信誉、共识节点选择结果序列以及适应度函数,得到适应度值;
设定终止条件;
基于所述适应度值以及终止条件,从所述候选节点集合中筛选得到所述共识节点集合。
7.如权利要求2所述的一种基于区块链的节点选取方法,其特征是,所述基于所述共识节点集合以及领导节点随机选取机制,得到随机领导节点包括:
基于所述共识节点集合以及领导节点随机选取机制,得到私钥和当前轮数;
基于所述私钥和所述当前轮数,得到验证函数的输出和证明;
将所述输出、证明以及时间戳广播,得到广播结果;
基于验证公式验证所述广播结果,得到验证结果;
基于所述验证结果,得到所述随机领导节点。
8.一种基于区块链的节点选取系统,其特征是,包括:
第一获取模块,用于获取区块链节点;
评价模块,用于基于所述区块链节点以及节点信誉动态评价模型,得到候选节点集合;
筛选模块,用于基于所述候选节点集合以及筛选模型,得到共识节点集合;
第二获取模块,用于基于所述共识节点集合以及领导节点随机选取机制,得到随机领导节点。
9.一种终端设备,包括存储器和处理器,其特征在于,所述存储器储存有能够在处理器上运行的计算机程序,所述处理器加载并执行所述计算机程序时,采用了权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311685238.8A CN117675378A (zh) | 2023-12-08 | 2023-12-08 | 一种基于区块链的节点选取方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311685238.8A CN117675378A (zh) | 2023-12-08 | 2023-12-08 | 一种基于区块链的节点选取方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117675378A true CN117675378A (zh) | 2024-03-08 |
Family
ID=90074896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311685238.8A Pending CN117675378A (zh) | 2023-12-08 | 2023-12-08 | 一种基于区块链的节点选取方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117675378A (zh) |
-
2023
- 2023-12-08 CN CN202311685238.8A patent/CN117675378A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abuidris et al. | Secure large‐scale E‐voting system based on blockchain contract using a hybrid consensus model combined with sharding | |
US11232478B2 (en) | Methods and system for collecting statistics against distributed private data | |
CN107566124B (zh) | 基于哈希运算的共识建立方法、区块链系统及存储介质 | |
CN112053043B (zh) | 一种基于区块链的群智感知方法及系统 | |
CN110166344B (zh) | 一种身份标识识别方法、装置以及相关设备 | |
CN113326516A (zh) | 区块链共识方法、区块链系统及计算机设备 | |
CN112631550A (zh) | 区块链随机数生成方法、装置、设备及计算机存储介质 | |
CN114281888A (zh) | 一种区块链共识方法、装置、设备及存储介质 | |
CN111612600A (zh) | 区块链拍卖方法、设备、存储介质及区块链系统 | |
CN112613601A (zh) | 神经网络模型更新方法、设备及计算机存储介质 | |
CN114372589A (zh) | 一种联邦学习方法及相关装置 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
Aluko et al. | Proof-of-reputation: an alternative consensus mechanism for blockchain systems | |
Hsueh et al. | EPoW: Solving blockchain problems economically | |
CN116170162B (zh) | 选择性的共识方法和计算机存储介质、终端设备 | |
CN113609533A (zh) | 一种面向智能电网数据的完整性审计方法 | |
Sharifian et al. | A New Approach to Orphan Blocks in the Nakamoto Consensus Blockchain | |
CN115310137A (zh) | 一种智能结算系统的保密方法及相关装置 | |
CN117675378A (zh) | 一种基于区块链的节点选取方法、系统、设备及存储介质 | |
CN114372588A (zh) | 一种共识节点的选取方法及相关装置 | |
US10553062B2 (en) | Method for generating winning numbers and apparatus | |
CN114465866B (zh) | 基于信任度和PBFT的DPoS方法 | |
CN113301118B (zh) | 区块链共识节点的确定方法、共识方法、系统及设备 | |
CN116361663B (zh) | 数字证据分类模型训练方法、分类方法、装置及相关设备 | |
Noreen et al. | Advanced DAG-Based Ranking (ADR) Protocol for Blockchain Scalability. |
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 |