一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于动态信任模型的DPoS共识机制节点信誉值度量方法与流程

2022-03-05 00:07:33 来源:中国专利 TAG:

一种基于动态信任模型的dpos共识机制节点信誉值度量方法
技术领域
1.本发明涉及一种基于动态信任模型的dpos共识机制节点信誉值度量方法,属于于区块链技术领域。


背景技术:

2.区块链本质上是一个去中心化的分布式账本数据库,通过运用时间戳、merkle树形结构、不对称密钥加密算法、共识机制等技术实现了基于p2p网络的去中心化信用交易系统。区块链技术因具备完全公开、防篡改、防止多重支付以及不依赖第三方等优点,为解决中心化系统普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。近年来,区块链技术广泛应用于医疗、金融、物联网、交通等领域。其中,共识机制作为区块链底层核心技术,决定了区块链的层次结构,保证了区块链系统的可信度,提升了区块链网络的安全性,确保了分布式存储的一致性。一个良好的共识机制可以提升区块链系统性能,促进区块链技术应用。
3.目前,公有区块链中常见的共识机制包括:工作量证明(proof of work,pow)、权益证明(proof of stake,pos)、委托权益证明(delegate proof of stake,dpos)。其中,pow通过不同节点计算能力的强弱来竞争记账权,保证了区块链系统的安全。但算力竞争导致了区块链系统的资源消耗过大。pos相比于pow提升了产生区块的效率,但由于pos中节点竞争出块权不需要付出成本,导致了节点可以产生若干分叉以获取利益,影响了pos共识机制的一致性。除此之外,pos共识机制中,权益掌握在少数节点手中,导致权益集中的现象。dpos在pos基层上提出的一种共识机制,dpos的核心是通过节点投票选择少部分见证人节点(witness nodes)出块。在dpos共识机制中持有虚拟货币的节点拥有投票权,投票节点投票给信任的节点,然后统计出得票数量最多的n个节点作为见证人节点。每一轮投票选举结束后,由n个见证人节点轮流生成区块。dpos相比于pow和pos减少了参与共识节点的数量,平均出块时间在3s左右。虽然dpos对pow与pos中存在的缺陷进行了改进,但是由于dpos共识机制没有提出有效处理恶意节点的方法,导致了存在恶意行为的节点仍可以参与竞争记账权,严重影响了dpos共识机制的安全性和可靠性。tan c等(dposb:delegated proof of stake with node's behavior and borda count[c]//2020ieee 5th information technology and mechatronics engineering conference(itoec).ieee,2020:1429-1434.)、hu q等(an improved delegated proof of stake consensus algorithm[j].procedia computer science,2021,187:341-346.)、sun y等(dt-dpos:a delegated proof of stake consensus algorithm with dynamic trust[j].procedia computer science,2021,187:371-376.),都针对度量dpos共识机制中节点信誉值提出了不同的模型,但上述模型中普遍存在度量节点信誉值所考虑评价指标单一,以及模型缺乏可靠的奖惩机制的问题,影响了节点信誉值度量的准确性,无法保证模型的可靠性


技术实现要素:

[0004]
本发明要解决的技术问题是提供一种基于动态信任模型的dpos共识机制节点信誉值度量方法,以用于解决dpos共识机制中恶意节点剔除不及时的问题,提高dpos共识机制的安全性。
[0005]
本发明的技术方案是:一种基于动态信任模型的dpos共识机制节点信誉值度量方法,首先根据区块链系统中节点ai的历史行为、交互节点评价值以及节点得到的奖惩值,度量节点ai在本轮共识中的信誉值ri。然后通过可信度阈值对节点进行信誉分级,将节点分为可信节点、一般节点、不可信节点。最后选择可信节点作为本轮候选节点,参与本轮共识过程,一般节点和不可信节点则不能参与本轮出块。
[0006]
具体步骤为:
[0007]
step1:为了衡量不同共识轮次对当前信誉值度量的影响,首先定义第k轮共识中的交易对计算区块链系统中节点ai在当前共识轮次n中信誉度的时间衰减函数t(k)。其中,t(k)值越大,表示k距离n越近,对节点ai的信誉值度量的影响程度越大。
[0008]
step2:根据区块链系统中节点ai的历史行为计算得到的信誉为直接信誉值di,计算指标由节点的行为因子blockratei和权益因子coinratei构成。其中,blockratei由ai在系统中的有效出块数量决定,coinratei由ai在系统中持币量决定。
[0009]
step3:通过累加n轮共识过程中节点ai获得的交互评价的平均值,得到节点ai的间接信誉值si。
[0010]
step4:为了对节点的行为进行激励评价,根据区块链系统中节点ai在共识过程中的成功出块行为或恶意行为,引入奖励、惩罚因子rpi。其中,根据节点ai连续成功出块的次数或连续作恶的次数给予其相应的奖励值或惩罚值。
[0011]
step5:根据区块链系统中节点ai的直接信誉di、间接信誉si和奖惩值rpi来度量ai在第n轮信誉值ri。其中,ri=αdi βsi δrpi,α、β、δ分别为在度量ri时di、si、rpi所占权重。
[0012]
当di=0、si=0、rpi=0时,说明ai为新加入区块链系统的节点,设新加入系统的节点信誉度为0.5。
[0013]
在本发明中,信誉度值最高为1.0,设置信誉值为0.5一是为了防止节点初始信誉值过低,影响新加入节点参与区块链共识的积极性。二是避免新加入系统中的节点较容易获得高信誉值。
[0014]
通过结合多种评价指标计算dpos共识机制节点信誉值,根据节点的行为、交互节点评分和奖惩值对其信誉值进行评价和更新,确保了信誉度量的准确可靠。
[0015]
step6:度量节点的信誉度后,通过信誉度大小对节点ai进行分级,根据可信度阈值将节点分为可信节点、一般节点、不可信节点。
[0016]
当信誉值ri大于tc,节点ai为可信节点。
[0017]
当信誉值ri小于tc且大于tm,节点ai为一般节点。
[0018]
当信誉值ri小于tm,节点ai为不可信节点。
[0019]
step7:可信节点作为本轮候选节点,参与本轮共识过程,一般节点和不可信节点则不能参与本轮出块。
[0020]
所述计算得到直接信誉值di的具体步骤为:
[0021]
为了保证节点信誉度的时效性和准确性,方法须区分不同共识轮次内的行为对当
前信誉值的影响,设一段时间内系统进行了n次共识过程,定义第k轮,k《n,共识过程中的交易对当前共识轮次n中计算节点信誉度的时间衰减函数t(k)为:
[0022][0023]
t(k)值越大,表示第k轮共识距离当前共识轮次n的距离越近,则第k轮的节点表现对节点信誉值度量影响越大。t(k)越小,表示第k轮共识距离当前共识轮次n的距离越远,则第k轮的节点表现对节点信誉值度量影响越小。
[0024]
其中,blockratei为节点ai在区块链系统中的行为因子,将blockratei作为参考指标,可以度量节点在区块链系统中的活跃程度。权益是dpos共识机制的重要特性,因此方法将权益作为度量节点直接信誉度的一部分,节点ai在区块链系统中的权益因子表示为coinratei。
[0025]
节点ai的行为因子blockratei表示为:
[0026][0027]
其中,为节点ai在第k轮共识过程中生成的有效区块数,ai在第k轮共识过程中生成的有效区块数量越多,且轮次k距离当前轮次n的距离越近,则值越大,blockratei值越大,节点ai的活跃度越高。
[0028]
节点ai的权益因子coinratei表示为:
[0029][0030]
dpos共识机制中不同节点的持有虚拟货币的数量不相同,本发明将节点在区块链系统中的持币量作为权益因子,coinratei为节点ai持币量占系统全部虚拟货币数量的比值。coinratei越大,说明节点ai权益占比越大。
[0031]
直接信誉值是根据节点ai在区块链系统中的客观行为表现计算得到的信誉,用di表示:
[0032]di
=γblockratei ηcoinratei[0033]
其中,γ、η分别为blockratei、coinratei在di计算中所占权重。
[0034]
本发明在计算节点ai直接信誉值时,充分考虑了dpos共识机制的相关特性,引入了行为因子和权益因子作为计算直接信誉值的指标,当节点ai在区块链系统中的表现越好,则直接信誉值di越大,总体的节点信誉值ri也越大。
[0035]
所述奖励、惩罚因子rpi具体为:
[0036][0037]
设s(i)为ai连续成功出块的次数,节点ai根据成功出块的次数获得奖励值,f(i)为ai连续作恶的次数,节点ai根据连续作恶的次数获得惩罚值。
[0038]
其中,rpi体现了奖惩机制对于节点的奖励缓慢增加,而对于节点的作恶行为的惩
罚力度非常大。本发明通过设置奖惩机制,提高了区块链系统中节点参与共识的积极性,同时对存在恶意行为的节点,也可以及时对其惩罚,保证了共识过程的安全性。
[0039]
本发明以分布式动态信任模型为基础,结合区块链的特性,设计了一种结合多种评价指标动态度量dpos共识机制中节点信誉值的方法。信任模型是通过数学模型将信任形式化的过程,将信任内容等相关属性结合对信任进行度量。本方法首先通过考虑dpos共识机制节点在系统中的历史行为表现、交互节点的评价值以及根据节点出块表现得到的奖惩值,计算节点在本轮共识中的信誉值;然后通过信誉值对节点进行分级,将节点分为可信节点、一般节点、不可信节点;最后将可信节点设置为候选节点,候选节点将有机会参与本轮共识过程,而一般节点和不可信节点不能参与本轮出块。通过动态度量dpos共识机制中节点在每一轮共识过程中的信誉度,提高了dpos共识机制的容错能力,方法能够及时剔除存在恶意行为的节点,为提高dpos共识机制的安全性提供了新的理论依据和技术基础。
[0040]
本发明的有益效果是:
[0041]
1、由于dpos共识机制没有提出有效处理恶意节点的方法,导致了恶意节点仍然可以参与竞争记账权,严重影响了dpos共识机制的安全性和可靠性。本发明以动态信任模型为基础,结合区块链相关特性,提出了一种基于动态信任模型的dpos共识机制节点信誉值度量方法。方法通过动态度量节点信誉值,并根据信誉度对节点分级,及时剔除存在恶意行为的节点,提高了共识过程的安全程度,保证了dpos共识机制的可靠性。
[0042]
2、现有技术存在度量信誉值的指标较为单一、方法缺乏可靠的奖惩机制的问题。本发明引入动态信任模型机制,将节点在系统中历史行为、交互评价值和时间损失函数作为度量节点信誉值的指标,提高了信誉值度量的准确性。同时引入了奖惩机制,根据节点的表现给予节点相应的奖励值和惩罚值,保证了方法的可靠性。
附图说明
[0043]
图1是本发明的步骤流程图;
具体实施方式
[0044]
下面结合附图和具体实施方式,对本发明作进一步说明。
[0045]
实施例1:如图1所示,一种基于动态信任模型的dpos共识机制节点信誉值度量方法,通过考虑dpos共识机制节点在系统中的历史行为表现、交互节点的评价值以及根据节点行为得到的奖惩值,度量节点在本轮共识中的信誉值;然后通过信誉值高低对节点进行分级,将节点分为可信节点、一般节点、不可信节点;最后将可信节点设置为候选节点,候选节点有机会参与本轮共识过程,而一般节点和不可信节点不能参与本轮出块。
[0046]
具体步骤如下:
[0047]
首先,设区块链系统中普通节点的集合为a={a1,a2,

,am},m为普通节点的数量。普通节点ai在第k轮共识过程中信誉度用表示,di表示节点ai的直接信誉,si表示节点ai的间接信誉,rpi表示节点ai获得的奖励值或惩罚值。
[0048]
step1:为了保证区块链系统中节点信誉度的时效性和准确性,须区分不同共识轮次内的行为对当前信誉值的影响,设一段时间内系统进行了n次共识过程,定义第k轮(k《n)共识过程中的交易对当前共识轮次n中计算节点信誉度的时间衰减函数t(k)表示为:
[0049][0050]
t(k)值越大,表示第k轮共识距离当前共识轮次n的距离越近,则第k轮的节点表现对节点信誉值度量影响越大;t(k)越小,表示第k轮共识距离当前共识轮次n的距离越远,则第k轮的节点表现对节点信誉值度量影响越小。
[0051]
step2:直接信誉值是根据节点ai在区块链系统中的客观行为表现计算得到的信誉,用di表示。
[0052]
其中,blockratei为节点ai在区块链系统中历史行为,将blockratei作为参考指标,可以度量节点在区块链系统中的活跃程度;权益是dpos共识机制的重要特性,因此,将权益作为度量节点直接信誉度的一部分,节点ai在区块链系统中的权益因子表示为coinratei。节点ai在区块链系统中的表现越好,则直接信誉值di越大,总体的节点信誉值ri也越大。
[0053]
step2.1:节点ai的历史行为因子blockratei可表示为:
[0054][0055]
其中,为节点ai在第k轮共识过程中生成的有效区块数,ai在第k轮共识过程中生成的有效区块数量越多,且轮次k距离当前轮次n的距离越近,则值越大,blockratei值越大,节点ai的活跃度越高。
[0056]
step2.2:节点ai的权益因子coinratei可表示为:
[0057][0058]
dpos共识机制中不同节点的持有虚拟货币的数量不相同,将节点在区块链系统中的持币量作为权益因子,coinratei为节点ai持币量占系统全部虚拟货币数量的比值。coinratei越大,说明节点ai权益占比越大。
[0059]
直接信誉值是根据节点ai在区块链系统中的客观行为表现计算得到的信誉,用di表示:
[0060]di
=γblockratei ηcoinrateiꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0061]
其中,γ、η分别为blockratei、coinratei在di计算中所占权重。在计算节点ai直接信誉值时,充分考虑了dpos共识机制的相关特性,引入了行为因子和权益因子作为计算直接信誉值的指标,当节点ai在区块链系统中的表现越好,则直接信誉值di越大,总体的节点信誉值ri也越大。
[0062]
step3:根据区块链系统中与节点ai交互节点提供的评价信息计算得到的信誉值为间接信誉值,用si表示。
[0063]
step3.1:为在第k轮共识过程中节点aj对ai的评价信息。评价值为1,表示aj完全信任ai;评价值为0,表示aj完全不信任ai;其他情况下评价值为
[0064][0065]
step3.2:s
i,j
为节点aj在n轮共识中对节点ai的平均交互评价,如公式(6)所示:
[0066][0067]
为了准确的计算n轮中节点aj对ai的评价值,利用公式(1)时间损失函数t(k)区分不同共识轮次中aj、ai交互评价对s
ij
的影响。
[0068]
step3.3:通过累加n轮共识过程中节点ai获得的交互评价值后求平均值,得到ai的间接信誉值si:
[0069][0070]
当参与交互的节点对ai的评价值越高,则节点ai的间接信誉值si的值越大,节点ai的信誉值ri也越大。
[0071]
step4:为了对区块链系统中节点的行为进行激励评价,根据节点在共识过程中的成功出块行为或恶意行为,引入奖励、惩罚因子,用rpi表示:
[0072][0073]
设s(i)为ai连续成功出块的次数,节点ai根据成功出块的次数获得奖励值;f(i)为ai连续作恶的次数,节点ai根据连续作恶的次数获得惩罚值。其中,公式(8)体现了奖惩机制对于节点的奖励缓慢增加,而对于节点的作恶行为的惩罚力度非常大。通过设置奖惩机制,提高了区块链系统中节点参与共识的积极性,同时对存在恶意行为的节点,也可以及时对其惩罚,保证了共识过程的安全性。
[0074]
step5:根据节点的历史行为、交互评价值和奖惩值构建节点信誉值度量方法如下表示:
[0075][0076]
其中,α、β、δ分别为在度量时di、si、rpi所占权重;当di=0、si=0、rpi=0时,说明ai为新加入区块链系统的节点,设新加入系统的节点信誉度为0.5。
[0077]
通过考虑dpos共识机制节点在系统中的历史行为、交互节点评价值以及节点得到的奖惩值,使得度量得到的节点信誉值考虑的评价指标更加全面,信誉值计算更加准确。
[0078]
step6:度量节点的信誉度后,通过信誉度大小对节点进行分级。
[0079]
step6.1设置等级阈值将节点分为可信节点、一般节点、不可信节点,阈值指标如表1所示
[0080]
阈值节点类型
(tc,1)可信节点(tm,tc)一般节点(0,tm)不可信节点
[0081]
表1:节点信任等级划分表
[0082]
设tc为可信节点的阈值标准;tm为不可信节点的阈值标准。当tc<ri≤1时,ai为可信节点;当tm<ri≤tc时,ai为一般节点;当0<ri≤tm时,ai为不可信节点。其中,可信节点有机会参与本轮共识过程,参与出块。一般节点、不可信节点则不能参与本轮共识过程。
[0083]
本发明可以根据节点在系统中的历史行为、交互节点评价值以及奖惩值对其信誉值进行评价和更新。在选择可信任节点时,节点信誉值的动态变化,确保选择得到的节点更为安全可靠。
[0084]
实施例2:如图1所示,一种基于动态信任模型的dpos共识机制节点信誉值度量方法,模型首先通过dpos共识机制节点在系统中的历史行为表现、交互节点的评价值以及根据节点行为得到的奖惩值,计算得到节点本轮共识中的信誉值;然后通过信誉值对节点进行分级,将节点分为可信节点、一般节点、不可信节点;最后将可信节点设置为候选节点。
[0085]
基于动态信任模型计算节点信誉值。
[0086]
设普通节点集合为a={a1,a2,a3,a4,a5},当前共识轮次n=6。其中,方法中参数设置,如
[0087]
表2所示。
[0088][0089]
表2:方法参数设置表
[0090]
由公式(1)计算第k轮(k《6)共识过程中的行为对当前共识轮次n=6中节点信誉度的影响程度t(k),由表3所示。
[0091][0092][0093]
表3:第k轮共识的t(k)值表
[0094]
其中,k1距离当前轮次最远,t(k)值最小;k5距离当前轮次最近,t(k)值最大。
[0095]
根据节点历史行为计算节点的直接信誉值di。
[0096]
根据节点历史有效出块情况blockratei,计算节点ai在系统中的活跃度,集合a中的节点前5轮出块情况,如表4所示。
[0097] k1k2k3k4k5a110111a210000a301001a401010a510010
[0098]
表4:不同共识轮次中节点出块情况表
[0099]
根据公式(2)可得,当节点ai在区块链系统中生成的有效区块数量越多则blockratei的值越大。当ai在区块链系统中生成的有效区块数量越少,且轮次k距离n越远则blockratei的值越小。在n=6的情况下,节点ai的活跃度blockratei为:
[0100]
blockrate1=0.36111111111111116;
[0101]
blockrate2=0.027777777777777773;
[0102]
blockrate3=0.19444444444444445;
[0103]
blockrate4=0.16666666666666666;
[0104]
blockrate5=0.1388888888888889
[0105]
根据节点ai在系统中所持有的虚拟货币数量计算ai的权益因子coinratei,集合a中的节点前5轮持有货币数量情况,如表5所示。
[0106] k1k2k3k4k5a133033a223245a343233a431532a540210
[0107]
表5:不同共识轮次中节点所持币量表
[0108]
根据公式(3)可得,当节点ai在区块链系统中持有的虚拟货币数量越多则coinratei的值越大。在n=6的情况下,节点ai的权益因子为coinratei为:
[0109]
coinrate1=0.23076923076923078;
[0110]
coinrate2=0.38461538461538464;
[0111]
coinrate3=0.23076923076923078;
[0112]
coinrate4=0.15384615384615385;
[0113]
coinrate5=0.0。
[0114]
由公式(4)可知,节点ai的直接信誉度di由blockratei与coinratei相加获得。设γ、η为0.5,则节点ai的直接信誉值di为:
[0115]
d1=0.29594017094017;
[0116]
d2=0.2061965811965812;
[0117]
d3=0.21260683760683763;
[0118]
d4=0.16025641025641024;
[0119]
d5=0.06944444444444445。
[0120]
根据交互平均值计算节点ai的间接信誉值si。
[0121]
由公式(5)、公式(6)计算得到的节点ai与节点aj在系统中的交互评价值用s
i,j
表示,集合a中节点之间的交互评价表达为矩阵s=[s
i,j
]5×5,i,j=1,2,3,4,5,k=1,2,3,4,5。节点间交互评价矩阵,如表6所示。
[0122]si,j
k1k2k3k4k5a100.30.60.40.8a20.300.30.50.5a30.90.400.80.5a40.80.20.500.5a50.80.30.50.90
[0123]
表6:节点间交互评价表
[0124]
根据公式(7)计算可得,s1=0.7;s2=0.3;s3=0.475;s4=0.65;s5=0.575,根据si计算结果可知,交互节点对ai节点的总体评价越高,则si越大。
[0125]
根据节点行为计算奖惩值,当节点ai连续产生有效区块或连续作恶,则给予其相应的奖励值或惩罚值rpi。集合a中节点在区块链系统中的表现,如表7所示。其中,-1表示作恶;0表示没有参与出块;1表示成功出块。
[0126][0127][0128]
表7:出块过程中节点表现表
[0129]
如表7所示,在前5轮共识过程中,a1连续3次成功出块;a2连续4次作恶;a3节点连续1次成功出块;a4、a5节点未参与出块。根据节点的表现由公式(8)计算可得:
[0130]
rp1=0.43111040368030434;
[0131]
rp2=-3.366397440279515;
[0132]
rp3=0.1689173560735206;
[0133]
rp4=0;
[0134]
rp5=0。
[0135]
由表2知权重α、β、δ分别为0.6、0.3、0.1,根据公式(9)计算得到集合a中节点的信誉值ri分别为:
[0136]
r1=0.930675142932132;
[0137]
r2=0.3770782046899972;
[0138]
r3=0.7869558381714546;
[0139]
r4=0.7911538461538461;
[0140]
r5=0.7141666666666666。
[0141]
根据上述计算得到的节点信誉值ri以及表2中的阈值,对节点进行信任度分级。
[0142]
根据tm、tc值可知,当tc<ri≤1时,ai为可信节点;当tm<ri≤tc时,ai为一般节点;当0<ri≤tm时,ai为不可信节点。
[0143]
由tm=0.5、tc=0.8可知a1为可信节点,a2为不可信节点,a3、a4、a5为一般节点。
[0144]
根据实施例2的结果可得,本发明能够根据基于动态信任模型的dpos节点信誉值度量方法选择出区块链系统中历史行为表现较好,交互评价值较高的节点作为信任节点,同时能够有效剔除存在恶意行为的节点。提高了dpos共识机制的安全性和可靠性。
[0145]
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献