一种以信用度为核心的可信联盟链节点管理方法

文档序号:31444089发布日期:2022-09-07 11:29阅读:83来源:国知局
一种以信用度为核心的可信联盟链节点管理方法

1.本发明涉及区块链节点管理和安全监管技术领域,尤其涉及一种以信用度为核心的可信联盟链节点管理方法。


背景技术:

2.根据开放程度的不同,区块链可以分为公有链、联盟链和私有链三类。其中,公有链以比特币和以太坊为代表,节点可以自由且匿名地加入或退出,并拥有平等的权限。联盟链以hyperledger fabric为代表,节点经过授权方可入链,且所拥有的权限不尽相同。因此联盟链需要提供节点管理服务,以授权节点入链、出链和变更权限。但目前节点管理服务仅分别在各自平台上进行了技术实现,其遵循的标准和流程仍未明确,且操作复杂、学习成本高。


技术实现要素:

3.本发明目的是提供了一种以信用度为核心的可信联盟链节点管理方法,以解决上述问题。
4.本发明解决技术问题采用如下技术方案:
5.一种以信用度为核心的可信联盟链节点管理方法,包括:
6.根据功能组成划分联盟链节点类型,明晰各类型节点的链上功能与权限,确定其评价要点;在每个评价周期中,通过评价节点功能的运转情况得到功能评价值,综合得出阶段评价值,进而结合历史数据分析得到节点当前信用值;基于节点信用值,确定节点出入链与权限变更;通过节点信用值的控制,确保只有良好节点能够长期维持成员身份并取得较高的权限,恶意节点将被快速识别并踢出。
7.进一步的,节点信用值标志了一个节点在区块链上的整体运行情况,当节点维持长期良好运转时,将得到较高的信用值,反之则会得到较低的信用值。
8.进一步的,根据功能组成将联盟链节点类型划分为如下三类:
9.通信节点:主要为联盟链提供通信服务,响应其它节点请求并转发信息,同步本节点需要的信息或允许访问的部分信息;
10.核验节点:同步完整的区块信息,核验所有交易与产出的新区块,并将核验信息用于共识过程;
11.出块节点:在核验节点的基础上,进行打包交易、生产区块并广播。
12.进一步的,对节点通信、同步、核验和出块四种功能进行评价,获取功能评价值的方法如下:
13.通信:节点应该为联盟链提供长期稳定的网络服务,这包括及时响应请求、及时并完整地转发信息;如果节点表现出良好的通信功能,则给予正向评价值,以提高信用值,反之降低;
14.同步:不对同步功能做出评价;
15.核验:节点核验时有以下三种情况:
16.正常验证,与最终共识结果保持一致:正常发回验证信息,发给所有节点的验证信息一致,验证结果与共识结果一致;这是节点正常运转下的情况,给予正向评价,提高节点信用度;
17.正常验证,但与最终共识结果不一致:这有可能是节点主动的恶意行为,也有可能是由同步异常或计算异常导致的“失误”,给予负向评价,降低节点信用度;
18.异常验证,发出的验证消息不一致:这是节点主动的恶意行为,给予重度负向评价,大幅降低节点信用度;
19.出块:节点出块时有以下情况:
20.正常打包区块:完成指定已核验交易的打包,产出合格区块并及时广播,给予正向评价值,以提高信用值;
21.异常打包区块,分为两种情形:
22.①
未在指定时间内完成打包并广播;这可能是源于节点的恶意,也可能是因为节点算力不足,给予轻度负向评价,小幅度减少节点信用值;
23.②
打包错误信息或未经验证信息;这是主动的恶意行为,给予重度负向评价,大幅度减少节点信用值。
24.进一步的,阶段评价值的获取方法如下:
25.设定一定的评价周期,对于链上的节点,根据每个周期的功能评价值计算阶段评价值,作为后续计算节点信用值的基础;对于节点在第t评价周期的阶段评价值nr
t
,有:
[0026][0027]
其中fk为各功能的评价值;βk为各功能的评价权重,权重越大,代表该功能在评级中越重要;设节点权限类型为si,通信节点、核验节点和出块节点分别为s1,s2和s3,即对于通信节点,i=1;对于核验节点,i=2;对于出块节点,i=3。
[0028]
进一步的,得到节点当前信用值的方法如下:
[0029]
对于节点在第t个评价周期的信用值r
t
,有:
[0030][0031]
其中c为常数,代表节点刚刚入链,尚无历史信用值时的初始信用值。
[0032]
进一步的,节点出入链与权限变更包括:确定节点入链与初始权限类型:
[0033]
在节点入链管理中,采用“宽入”原则,按联盟链原则和通用工作流程对待加入的新节点做kyc审核,确认节点的可信身份,而不在信用、资产、所属组织方面做过多限制;
[0034]
在证书中心确认节点的可信身份、批准其入链并颁发证书后,按信用评级方法赋予其初始信用值;新节点将纳入评价周期,其在链资格和权限类型随信用值变化而变化。
[0035]
初入链的新节点的权限类型一般设定为通信节点,初始信用值为信用评级方法赋予的默认值;新节点在入链审核时申请为核验节点,则初始信用值要经权限升级方法计算,将低于默认初始信用值;考虑区块链的安全运转,新节点不能直接成为出块节点,必须经过
权限升级才能具备出块权限。
[0036]
进一步的,节点出入链与权限变更还包括:权限升级与自主权限限制:
[0037]
各节点在一个评价周期结束,产生新的信用值时,判断是否达到权限升级阈值;若信用值大于等于升级阈值,节点权限类型提升至下一级,并更新信用值。
[0038]
进一步的,节点出入链与权限变更还包括:权限降级:
[0039]
各节点在评价周期末时判断是否达到权限降级阈值;若信用值小于降级阈值,节点权限类型降低至下一级,并更新信用值。
[0040]
进一步的,节点出入链与权限变更还包括:节点出链:
[0041]
使用节点信用值作为节点退出的标准,与入链管理相对,在节点出链管理中,采用“严出”原则,当节点降级至通信节点时,一旦信用值低于退出阈值,则在链上发起退出议案,经共识通过后,将该节点踢出;节点被踢出的组织仍然能够建立新节点,并按照入链流程进行kyc审核,重新入链。
[0042]
有益效果:
[0043]
本发明以信用度为核心构建联盟链上节点出入与权限变更的标准和流程,设计节点信用值量度节点在链上行为的良好程度并作为节点权限类型变更和踢出的基础,完善了联盟链技术体系中缺失的节点出入与权限变更的标准和流程,有助于解决节点出入与权限变动频繁下对恶意节点监管复杂、困难等问题,通过以链治链的方法降低相关监管风险并促进联盟链的长期稳定运行。同时,该节点管理系统将繁琐复杂的链下治理问题转用简单明确的链上管理方法解决,降低了学习成本,提高了联盟链管理效率,有助于联盟链应用的落地和大型联盟链平台的长期运维。
附图说明
[0044]
图1为本发明的方法流程图。
具体实施方式
[0045]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]
参考图1,本发明公开了一种以信用度为核心的可信联盟链节点管理方法,包括:
[0047]
根据功能组成划分联盟链节点类型,明晰各类型节点的链上功能与权限,确定其评价要点;在每个评价周期中,通过评价节点功能的运转情况得到功能评价值,综合得出阶段评价值,进而结合历史数据分析得到节点当前信用值,节点信用值标志了一个节点在区块链上的整体运行情况,当节点维持长期良好运转时,将得到较高的信用值,反之则会得到较低的信用值;基于节点信用值,确定节点出入链与权限变更;通过节点信用值的控制,确保只有良好节点能够长期维持成员身份并取得较高的权限,恶意节点将被快速识别并踢出。
[0048]
节点具有通信、同步、核验和出块四种功能。将联盟链节点按照功能组成的不同划分为以下三类:
[0049]
通信节点:此类节点主要为联盟链提供通信服务,响应其它节点请求并转发信息,同步本节点需要的信息或允许访问的部分信息。由于不能同步完整的区块信息,该类节点无法对交易和新区块进行核验,或者只能进行有限核验,因此也无法参与共识、生产区块。此类节点对区块链系统的贡献体现在提供网络服务上,主要功能为通信和同步。
[0050]
核验节点:此类节点可以同步完整的区块信息,因此相比通信节点可以核验所有交易与产出的新区块,并将核验信息用于共识过程。但此类节点不生产区块,而仅仅作为核验者维持共识过程的有效性,是区块链保持去中心化和去信任特性的关键。此类节点对区块链系统的贡献体现在提供网络服务、参与共识上,主要功能为通信、同步和核验。
[0051]
出块节点:此类节点在核验节点的基础上,有足够能力打包交易、生产区块并广播。足够数量的此类节点的有效稳定运行是区块链正常增长数据和实现其它应用功能的前提。此类节点对区块链系统的贡献体现在提供网络服务、参与共识和生产区块上,主要功能为通信、同步、核验和出块。
[0052]
通信节点、核验节点、出块节点同时是依次递进的三种权限类型。将节点从通信节点到核验节点、从核验节点到出块节点的转换称为“升级”,相应地,从出块节点到核验节点、从核验节点到通信节点的转换称为“降级”。
[0053]
本实施例中,对节点通信、同步、核验和出块四种功能进行评价,获取功能评价值的方法如下:
[0054]
通信:节点应该为联盟链提供长期稳定的网络服务,这包括及时响应请求、及时并完整地转发信息等。如果节点表现出良好的通信功能,则给予正向评价值,以提高信用值,反之降低。通信功能可以使用节点正常通信次数占总通信次数之比衡量,具体如下:
[0055][0056]
其中f1为通信功能评价值,tn为正常通信次数;te为异常通信次数;其中λ为调节系数,数,为允许的通信异常率。
[0057]
设实际通信异常率则有:
[0058][0059]
可知f1随θ单调递减,即通信异常率越高,评价值越低,通信异常率越低,评价值越高。当,f1>0意味着当通信异常率在控制范围内时,给予正向评价,使信用值提高;当,f1<0意味着当通信异常率超出允许值时,给予负向评价,使信用值下降;当,f1=0则通信异常率等于允许值,此时评价值为0,使信用值不因通信指标产生变化。
[0060]
实际上取值范围应控制在此时λ∈(0,1),f1∈(-1,λ)。如果节点在该评价周期中没有出现通信异常,则有为α的最高评价值;反之,如果节点在该评价周期中实际通信异常率为1,则会获得最低评价值-1。所以节点需要长期良好运转才能达到最高信用
值,而一个严重异常的评价周期就会使信用值大幅降低甚至归零。该模型能很好地满足我们鼓励节点维持长期良好运转、严格控制异常行为的期望。
[0061]
同步:节点应该及时、准确地将新产出的区块同步到本地账本上。但(1)同步是自主过程,联盟链上大部分成员为可信的正常节点,在大部分节点可以及时完成同步的情况下,部分节点无法同步仅影响节点自身,不影响联盟链整体的运转;(2)因同步异常导致节点在核验时发生错误,可以由核验方面的参数量度;因此不对同步做出评价。
[0062]
核验:节点核验时有以下三种情况:
[0063]
正常验证,与最终共识结果保持一致:正常发回验证信息,发给所有节点的验证信息一致,验证结果与共识结果一致;这是节点正常运转下的情况,给予正向评价,提高节点信用度;
[0064]
正常验证,但与最终共识结果不一致:这有可能是节点主动的恶意行为,也有可能是由同步异常或计算异常导致的“失误”,给予负向评价,降低节点信用度;
[0065]
异常验证,发出的验证消息不一致:认为这是节点主动的恶意行为,给予重度负向评价,大幅降低节点信用度;
[0066]
具体评价方法为:
[0067][0068]
其中f2为核验功能评价值,t1为第一种情况次数,t2为第二种情况次数,t3为第三种情况次数。a∈(0,1),b≥1,c≥1依次为对应情况的调节系数,具体可为其中,要求的核验正常率为允许的核验不一致率为允许的核验异常率为即k1代表每k1+k2+k3次核验中至少有k1次为核验正常情况,k2代表每k1+k2+k3次核验中至多有k2次为核验不一致情况,k3每k1+k2+k3次核验中至多有k3次为核验异常情况。较小的a要求正常核验的第一种情况占据所有情况中的绝大多数,否则较大的b和c将使节点获得负向评价,最终信用值降低。
[0069]
和通信功能的评价相似,较小的a要求正常核验的第一种情况占据所有情况中的绝大多数,否则较大的b和c将使节点获得负向评价,最终信用值降低。
[0070]
出块:节点出块时有以下情况:
[0071]
正常打包区块:完成指定已核验交易的打包,产出合格区块并及时广播,给予正向评价值,以提高信用值;
[0072]
异常打包区块,分为两种情形:
[0073]

未在指定时间内完成打包并广播;这可能是源于节点的恶意,也可能是因为节点算力不足,给予轻度负向评价,小幅度减少节点信用值;
[0074]

打包错误信息或未经验证信息;这是主动的恶意行为,给予重度负向评价,大幅度减少节点信用值。
[0075]
具体评价方法为:
[0076][0077]
其中f3为出块功能评价值,t1为第一种情况次数,t2为第二种情况次数,t3为第三种情况次数。a∈(0,1),b≥1,c>1依次为对应情况的调节系数,具体可为其中,要求的出块正常率为允许的出块超时率为允许的出块错误率为即k1代表每k1+k2+k3次出块中至少有k1次为出块正常情况,k2代表每k1+k2+k3次出块中至多有k2次为出块超时情况,k3每k1+k2+k3次出块中至多有k3次为出块错误情况。较小的a要求正常核验的第一种情况占据所有情况中的绝大多数,否则较大的b和c将使节点获得负向评价,最终信用值降低。
[0078]
和核验功能的评价相似,较小的a要求正常核验的第一种情况占据所有情况中的绝大多数,否则较大的b和c将使节点获得负向评价,最终信用值降低。
[0079]
本实施例中,阶段评价值的获取方法如下:
[0080]
设定一定的评价周期,对于链上的节点,根据每个周期的功能评价值计算阶段评价值,作为后续计算节点信用值的基础;对于节点在第t评价周期的阶段评价值nr
t
,有:
[0081][0082]
其中fk为各功能的评价值;βk为各功能的评价权重,权重越大,代表该功能在评级中越重要;设节点权限类型为si,通信节点、核验节点和出块节点分别为s1,s2和s3,即对于通信节点,i=1;对于核验节点,i=2;对于出块节点,i=3。
[0083]
在nr
t
计算中使用了sin函数。这是为了使节点出现异常行为导致评价值减少时加速下降,行为正常导致评价值增加时加速上升;以加大对潜在恶意行为的打击力度,重视节点的长期正常运转。
[0084]
本实施例中,得到节点当前信用值的方法如下:
[0085]
对于节点在第t个评价周期的信用值r
t
,有:
[0086][0087]
其中c为常数,代表节点刚刚入链,尚无历史信用值时的初始信用值。
[0088]
本实施例中,节点出入链与权限变更包括:确定节点入链与初始权限类型:
[0089]
在节点入链管理中,采用“宽入”原则,按联盟链原则和通用工作流程对待加入的新节点做kyc审核,确认节点的可信身份,而不在信用、资产、所属组织等其它方面做过多限制。
[0090]
在证书中心确认节点的可信身份、批准其入链并颁发证书后,按信用评级方法赋予其初始信用值。新节点将纳入评价周期,其在链资格和权限类型随信用值变化而变化。
[0091]
初入链的新节点的权限类型一般设定为通信节点,初始信用值为信用评级方法赋予的默认值。新节点亦可在入链审核时申请为核验节点,则初始信用值要经权限升级方法计算,将低于默认初始信用值。考虑区块链的安全运转,新节点不可以直接成为出块节点,必须经过权限升级方可具备出块权限。
[0092]
节点出入链与权限变更还包括:权限升级与自主权限限制:
[0093]
各节点在一个评价周期结束,产生新的信用值时,判断是否达到权限升级阈值;若信用值大于等于升级阈值,节点权限类型提升至下一级,并按如下方法更新信用值。
[0094]
设节点权限类型为si,即通信节点、核验节点和出块节点分别为s1,s2和s3,则节点在第t个评价周期由si升级为s
i+1
时有:
[0095][0096]
其中为在第t个评价周期升级为s
i+1
后的信用值;为s
i+1
第k个功能的评价权重;为升级前在第t个评价周期的信用值。
[0097]
综合为:
[0098][0099]
其中r
t
为节点在该评价周期的最终信用值;为从si到s
i+1
的升级阈值。
[0100]
组织可以根据自身需求和维护能力对节点进行自主权限限制。管理节点的组织可以主动将节点的权限类型限制在某一级别,使其权限类型和功能不随信用值的升高而变化。例如,组织将所管理的节点d限制在核验节点类型,则节点d在从通信节点升级为核验节点后,即使信用值达到了升级阈值,也不会升级为出块节点。
[0101]
节点出入链与权限变更还包括:权限降级:
[0102]
各节点在评价周期末时判断是否达到权限降级阈值;若信用值小于降级阈值,节点权限类型降低至下一级,并并按如下方法更新信用值。
[0103]
设节点权限类型为si,即通信节点、核验节点和出块节点分别为s1,s2和s3,则节点在第t个评价周期由si升级为s
i+1
时有:
[0104][0105]
其中为在第t个评价周期降级为s
i-1
后的信用值;为s
i-1
的降级阈值,当i-1=1时为退出阈值;为si第k个功能的评价权重;为降级前在第t个评价周期的信用值。为了避免降级后信用值过低导致连续降级甚至将节点直接踢出,为折算后的信用值加上了下一级的降级阈值。
[0106]
综合为:
[0107][0108]
其中r
t
为节点在该评价周期的最终信用值;为从si到s
i-1
的降级阈值。
[0109]
综合权限升级与权限降级,节点信用值更新方法如下:
[0110][0111]
节点出入链与权限变更还包括:节点出链:
[0112]
使用节点信用值作为节点退出的标准。与入链管理相对,在节点出链管理中,采用“严出”原则,当节点降级至通信节点时,一旦信用值低于退出阈值,则在链上发起退出议案。经共识通过后,将该节点踢出。节点被踢出的组织仍然可以建立新节点,并按照入链流程进行kyc审核,重新入链。
[0113]
节点出链可以视作从通信节点开始的权限降级,将退出阈值记为则节点出链的判断可以融入权限变更流程,同步进行,即:
[0114]
当执行节点出链。
[0115]
考虑到节点自主退出的需求,节点的管理组织可以主动提出本节点的退出议案,节点将在下一次权限变更中无视阈值,自动归入退出类别。
[0116]
可根据具体应用要求制定参数体系,利用如hyperledger fabric和fisco bcos的开源联盟链平台搭建区块链,使用c,java,python等常规开发语言实现上述内容。
[0117]
本发明以信用度为核心构建联盟链上节点出入与权限变更的标准和流程,设计节点信用值量度节点在链上行为的良好程度并作为节点权限类型变更和踢出的基础,完善了联盟链技术体系中缺失的节点出入与权限变更的标准和流程,有助于解决节点出入与权限变动频繁下对恶意节点监管复杂、困难等问题,通过以链治链的方法降低相关监管风险并促进联盟链的长期稳定运行。同时,该节点管理系统将繁琐复杂的链下治理问题转用简单明确的链上管理方法解决,降低了学习成本,提高了联盟链管理效率,有助于联盟链应用的落地和大型联盟链平台的长期运维。
[0118]
本发明填补了联盟链系统设计中节点管理标准和流程的空缺,简化区块链平台中节点管理的操作,提升管理效率,降低学习成本。
[0119]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1