发布信息

基于合作博弈的数据共享方法及计算机设备与流程 专利技术说明

作者:admin      2023-06-29 19:04:49     923



电子通信装置的制造及其应用技术1.本发明涉及区块链领域,且特别涉及一种基于合作博弈的数据共享方法及计算机设备。背景技术:2.随着计算机技术的不断发展,基于物联网、区块链、云计算以及大数据等智能计算技术的智慧城市构建以成为当前城市和公共服务建设的主要方向。多平台、多部门的互联使得各个部分之间存在数据的相互调用,而当前各个部门内部数据均不公开,其它部门想调取仍需要各种行政审批,不仅繁琐且效率低。3.为解决这一问题,当前也有人提出基于区块链的去中心化和防篡改性来构建数据共享。以府院联动平台为例,府院联动平台包括各级法院、检察院、其它政府职能部门、律师以及当事人等各个网络节点组成区块链网络。然而,在实际运用过程中,由于区块链中各个节点彼此是不信任的且各节点基于自利的行为而不积极参加数据上链共识。参加共识的节点少不仅上链数据的真实性和完整性均难以保证且节点也极易被攻击而导致非法数据上链,进而导致基于区块链所形成的共享数据库存在数据真实性和准确性难定的数据质量问题。技术实现要素:4.本发明为了克服现有技术的不足,提供一种能有效提高区块链共享数据库内数据质量的基于合作博弈的数据共享方法及计算机设备。5.为了实现上述目的,本发明提供一种基于合作博弈的数据共享方法,其特征在于,包括:6.客户端向主节点发起数据上传请求并提供表征服务费的信誉积分;7.基于客户端所提供的信誉积分,主节点构建本轮合作共识的任意两个节点之间的博弈成功收益矩阵和失败收益矩阵并将客户端提供的数据上传请求广播至区块链内的其它节点以发起共识;8.若共识成功,则基于博弈成功收益矩阵为参与共识的所有节点分配积分收益并以预设的信誉度分配规则为发起数据上传请求的客户端匹配信誉度值;若共识失败,则基于博弈失败收益矩阵为参与共识的所有节点分配积分奖励;9.其中,每一客户端基于其所对应的信誉度值访问数据上链后所形成的共享数据库并基于其所对应的信誉积分下载共享数据库内的数据。10.根据本发明的一实施例,在接收到数据上传请求后,主节点对上传数据进行多维度的真实性评估,基于评估结果和客户端所提供的表征服务费的信誉积分形成一信誉积分包,并根据信誉积分包构建博弈成功收益矩阵和失败收益矩阵,评估指标包括数据格式的合规性、数据内容的合法性、用户的身份合法性以及数据来源的可追溯性。11.根据本发明的一实施例,信誉积分包包括客户端所提供的表征服务费的信誉积分和激励参数值,主节点基于对上传数据进行多维度的真实性评估和历史达成共识自适应动态调整激励参数值。12.根据本发明的一实施例,主节点判断第k-1次和第k次合作共识是否成功来自适应调整第k+1次共识的激励调整参数值;13.若判断表明两次合作共识均成功则以预设规则降低第k+1次共识激励调整参数值;14.若判断表明两次合作共识均失败则以预设规则增大第k+1次共识激励调整参数值;15.若判断表明第k-1次合作共识成功而第k此合作共识失败,则将k-1次合作共识的激励调整参数值作为第k+1次合作共识的激励调整参数值,以使区块链工作在合作共识的成功/失败临界状态且偏向合作一侧;16.若判断表明第k-1次合作共识失败而第k次合作共识成功,则将k次合作共识的激励调整参数值作为第k+1次合作共识的激励调整参数值,以使区块链工作在合作共识的成功/失败临界状态且偏向合作一侧。17.根据本发明的一实施例,计算每一视图内主节点所发起的合作共识的失败次数,若该节点发起的未达成共识的连续次数达到设定的连续阈值或未达成共识的累计次数达到设定的累计阈值则判断该视图内的主节点为恶意节点;18.区块链更新视图并选举新的主节点以等待新客户端的数据上链请求。19.根据本发明的一实施例,任意两个节点之间的博弈成功收益矩阵设定为:[0020][0021]任意两个节点之间的博弈失败收益矩阵设定为:[0022][0023]其中,n为区块链网络中节点的数量,包括1个主节和n-1个其它节点;c为每个节点参与一轮合作共识所消耗的信誉积分成本,θ为每一轮请求中客户端提供的表征服务费的信用积分,s为激励调整参数(s≥0)。[0024]根据本发明的一实施例,根据预设的信誉度划分规则对区块链网络中节点进行信誉度等级分类,并基于每一节点的信誉度等级调整其下载共享数据库内文件所消耗的信誉积分。[0025]根据本发明的一实施例,基于每一节点的信誉度等级形成一信誉度收益系数并将信誉度收益系数融合于博弈成功收益矩阵和博弈失败收益矩阵内。[0026]根据本发明的一实施例,客户端所提交的数据上传请求包括共享数据内没有的新数据的上传请求和共享数据库内已有数据的修改与更新请求。[0027]另一方面,本发明还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述任一项方法的步骤。[0028]综上所述,本发明提供的基于合作博弈的数据共享方法中,将客户端访问共享数据库所需的信誉度和下载数据库内资源的信誉度积分融入于区块链共识机制中。基于各节点对共享数据的需求来驱使节点来积极参与共识,从而有效解决了因参与共识的节点少而导致的上链数据真实性差和节点易被攻击的问题,确保了基于区块链所形成的共享数据库的真实和稳定性。进一步的,基于上传数据请求的客户端所提供的信誉积分,在共识前主节点在形成博弈成功收益矩阵的同时亦形成失败收益矩阵,基于失败收益矩阵对参与共识的节点进行信誉度积分激励以进一步提高各个客户端阶段参与共识的积极性,从而进一步提高共享数据的真实性。若连续共识失败次数达到设定的连续阈值x,或者累计共识失败次数达到设定的累计阈值y(通常y>x),则系统发起主节点更新策略,使用随机或定向策略重新选择主节点,主节点更新触发策略可提升主节点的安全性。[0029]为让本发明的上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。附图说明[0030]图1所示为本发明一实施例所提供的基于合作博弈的数据共享方法的流程示意图。[0031]图2所示为本发明一实施例中区块链实现一次合作共识的过程。[0032]图3所示为图1所示的基于合作博弈的数据共享方法的具体执行流程。[0033]图4所示为本发明一实施例所提供的基于合作博弈的数据共享方法中基于历史达成共识自适应动态调整激励参数值的具体流程。[0034]图5是所示为本发明一实施例所提供的基于合作博弈的数据共享方法中区块链共识的视图切换流程示意图。具体实施方式[0035]如图1所示,本发明提供的基于合作博弈的数据共享方法包括:客户端向主节点发起数据上传请求并提供表征服务费的信誉积分(步骤s10);基于客户端所提供的信誉积分,主节点构建本轮合作共识的任意两个节点之间的博弈成功收益矩阵和失败收益矩阵并将客户端提供的数据上传请求广播至区块链内的其它节点以发起共识(步骤s20);若共识成功,则基于博弈成功收益矩阵为参与共识的所有节点分配积分收益并以预设的信誉度分配规则为发起数据上传请求的客户端匹配信誉度值(步骤s30);若共识失败,则基于博弈失败收益矩阵为参与共识的所有节点分配积分奖励(步骤s40);其中,每一客户端基于其所对应的信誉度值访问数据上链后所形成的共享数据库并基于其所对应的信誉积分下载共享数据库内的数据(步骤s50)。[0036]基于访问共享数据库(信誉度值)和下载共享数据库文件条件(信誉积分)的双参数合作博弈将在共识收益的基础上进一步驱动各节点积极参与合作共识和数据上传。参与的节点越多,基于各节点评估后的上链数据的真实性、完整性将会得到大幅提升,同时也有效提升了区块链网络的防攻击能力。而共识成功后以预设的信誉度分配规则为发起数据上传请求的客户端匹配信誉度值则很好地激励了节点积极上传数据,实现智慧平台数据的充分汇集和共享;同时,多节点的相关数据上传也能进一步验证共享数据库内数据的真实性以及对不完整数据的进一步补充。[0037]本实施例以典型pbft合作共识方式为例进行说明。然而,本发明对此不作任何限定。于其它实施例中,基于共享数据库访问和下载的双参数合作博弈可融合于其它共识算法中。[0038]如图2所示,区块链网络中具有四个节点,分别主节点,其它三个节点,分别为节点2、节点3以及节点4。为了便于描述实施例,假设其中节点2和节点3为积极参与合作共识的节点;而节点4为故障或恶意节点,即消极不响应合作共识或者反对合作共识。在典型pbft合作共识方式中实现一次合作完成数据上链过程通常由客户端发起,主节点主导,需要经历request、pre-prepare、prepare、commit和reply五个阶段后实现。[0039]以下将结合图2至图4来详细介绍本实施例提供的以共享数据库访问和下载的双参数为基础的基于合作博弈数据共享方法。[0040]根据本实施例的基于合作补助博弈策略区块链共识机制,一次数据的上链请求在request阶段,由客户端发起;客户端向主节点发送消息,请求数据上链并同时提供表征服务费的信誉积分θ。客户端所提交的数据上传请求包括共享数据内没有的新数据的上传请求和共享数据库内已有数据的修改与更新请求。[0041]主节点收到客户端发来的请求消息后,主导开启一次合作共识过程。在pre-prepare阶段最开始,主节点代表系统建立博弈成功收益矩阵和失败收益矩阵(步骤s201);之后,将博弈成功收益矩阵、失败收益矩阵以及视图号、请求消息的序列号、消息摘要等向区块链网络中其它节点2、3、4广播(步骤s202)。[0042]于本实施例中,在接收到客户端发送的数据上传请求后,主节点对上传数据进行多维度的真实性评估,基于评估结果和客户端所提供的表征服务费的信誉积分θ形成一信誉积分包,并根据信誉积分包构建博弈成功收益矩阵和失败收益矩阵,评估指标包括数据格式的合规性、数据内容的合法性、用户的身份合法性以及数据来源的可追溯性。具体的,信誉积分包包括客户端所提供的表征服务费的信誉积分θ和激励参数值s,主节点基于对上传数据进行多维度的真实性评估和历史达成共识自适应动态调整激励参数值s。[0043]其中,任意两个节点之间的博弈成功收益矩阵设定为:[0044][0045]任意两个节点之间的博弈失败收益矩阵设定为:[0046][0047][0048]其中,n为区块链网络中节点的数量,包括1个主节和n-1个其它节点;θ为每一轮请求中客户端提供的表征服务费的信誉积分,s为激励调整参数(s≥0);c为每个节点参与一轮合作共识所消耗的信誉积分成本,该取值为与节点的类型相关,不同节点在注册时会管理共享数据库的共享数据管理商会综合评估后赋予其c值且不再改变。具体的,以府院联动平台为例,机构类型的节点包括各级法院、检察院以及其它政府职能部门组成;而个人类型的节点包括律师、当事人等个人用户。每种类型的节点具有一个信誉积分c,由初始信誉积分c0和调节参数s共同确定,其中机构类型的节点的初始信誉积分c0会大于个人类型节点的初始信誉积分。同时,每个角色有一个信誉度a,由初始为a0。[0049]在prepare阶段,主节点外的其它节点接收到了pre-prepare消息后向其它节点广播prepare消息。例如节点2向主节点、节点3、节点4以广播方式发送prepare消息,但节点4为故障或恶意节点,因此该节点将不发送或发送错误的prepare消息。在commit阶段,各节点投票参与本轮的合作共识过程(步骤s203)。具体的,各节点对本次请求和次序进行验证、执行合作共识,将该节点的合作共识决定向其它节点广播。例如,主节点向节点2、节点3、节点4广播合作共识结果“同意合作/不合作”;但节点4为故障或恶意节点,因此该节点将不发送“同意合作/不合作”或不合作。根据最终的合作共识结果判断同意合作的节点数量是否>2n/3(步骤s204);其中n为区块链网络中的节点总数量,本实施例中为4。若判断结果为是,则合作共识达成(步骤s205),数据上链并将消息通过reply返回给客户端。若判断结果表面同意合作的节点数量≤2n/3,则合作共识未达成(步骤s206),将不执行reply。[0050]若步骤s205中表明合作共识达成则执行步骤s301:判断区块链网络中各节点是否为合作节点。对于该轮中参与合作的节点将根据已设定的博弈成功收益矩阵为其赋予θ/n-c+s*c的信誉积分收益(步骤s302),为不合作的节点仍然赋予θ/n的积分收益(步骤s303)。于此同时,为发起数据上传请求的客户端匹配信誉度值(步骤s304);具体的,上传数据的客户端信誉度变化为am=am-1+ak1(首次为a1=a0+ak),ak1取值为(-∞,+∞)。其中,am为第m轮合作共识后客户端的信誉度,am-1第m-1轮合作共识后客户端的信誉度;ak1为每轮合作共识达成后赋予给上传数据的客户端的信誉度增量。[0051]本实施例中,管理共享数据库的共享数据管理商仅在数据上链后才为上传数据的客户端提供信誉度增量。然而,本发明对此不作任何限定。于其它实施例中,还可对客户端恶意上传或上传质量不高的信息时对恶意客户端进行惩罚。具体的,若在共识过程失败后,共享数据管理商拒绝此次数据上传的申请同时亦可为上传数据的客户端赋予另一信誉度惩罚增量ak2以降低该客户端的信誉度,ak2取值为(-∞,0),ak1和ak2满足|ak1|《《|ak2|。[0052]若步骤s206中表明合作共识未达成,则执行步骤s401:判断区块链网络中各节点是否为合作节点。对于该轮中参与合作的节点将根据已设定的博弈失败收益矩阵为其赋予-c+s*c的信誉积分激励(步骤s402),不合作的节点则不分配信誉积分激励(步骤s403)。[0053]至此,在数据上传的一轮博弈共识中实现了表征客户端访问数据库权限的信誉度和表征各节点下载数据库权限的信誉积分的双参数更新。区块链网络中的各节点将基于其在博弈共识过程中获得的双参数来访问共享数据库或下载共享数据库内所需的数据资源。具体的,只有当客户端的信誉度a》信誉度阈值ath且角色的信誉积分c》0时,管理共享数据库的共享数据管理商才对该客户端开放访问接口和下载权限。基于共享数据库访问和下载权限的限定、博弈成功收益矩阵的收益获取以及失败收益矩阵的激励,本实施例提供的基于合作博弈的数据共享方法将促使区块链内的各个节点积极参数共识并积极提交上传数据请求,进而不断地提升共享数据库内的数据质量。各部分之间对于优质数据质量的需求亦会驱动各节点去积极参与共识,彼此之间形成良性循环。[0054]如图3所示,于本实施例中,在合作共识的过程中以计数器的形式累计每一视图内该主节点所发起的合作共识的失败次数(步骤s404)并判断是否为连续合作失败(步骤s405),若是则累计连续失败次数(步骤s406)。步骤s404和s406中合作失败次数统计为恶意节点的判断提供依据。[0055]在一轮合作共识中,不管合作是否达成将进入步骤s407中自适应调整下一轮合作共识的激励参数值s;之后再结束本轮合作共识。[0056]对于激励参数值s主节点可在接收到上传数据时基于多维度的真实性评估结果调整激励参数值s。具体的,若评估表明数据格式的合规性存在一定的瑕疵,主节点可匹配一较低的激励参数值s;若评估表明客户端所提交的数据多维度真实性均满足要求,则匹配一较高的激励参数值s以提高合作共识后的每个节点所能获得的收益以促使更多节点参与到合作共识中。进一步的,在此基础上,主节点还可基于历史达成共识自适应动态调整每一轮的共识的激励参数值s。[0057]图4所示为本发明一实施例所提供的基于合作博弈的数据共享方法中基于历史达成共识自适应动态调整激励参数值的具体流程。以下将结合图4对图3中步骤s407自适应调整激励参数s详细展开说明其执行过程。[0058]具体的,自适应激励参数调整的过程中,首先判断本轮(第k轮)合作共识是否成功(步骤s4071),然后进一步判断上一轮(第k-1轮)合作共识是否成功(步骤s4072)和(步骤s4073)。若第k-1次和第k次合作共识均成功,则执行步骤s4074:降低第k+1次合作共识的激励调整参数值s以降低激励成本。[0059]若步骤s4072判断第k-1次合作共识失败,但步骤s4071判断第k次合作共识成的,则执行步骤s4075:将k次合作的激励调整参数值s值作为第k+1轮合作共识的激励调整参数值s并进行更新存储,作为一个相对稳定的临界s值以使区块链网络工作在合作共识的成功/失败临界状态且偏向合作一侧。[0060]若步骤s4071判断表明第k次合作共识失败且步骤s4073判断第k-1次合作共识也失败,则执行步骤s4076,提升激励调整参数值s并进行更新存储以作为第k+1次合作共识的激励调整参数值,提高激励成本。[0061]若步骤s4071判断表明第k次合作共识失败但步骤s4073判断第k-1次合作共识是成功的,则执行步骤s4077:将k-1次的激励调整参数值s作为第k+1合作共识的激励调整参数值s以使区块链网络在合作共识的成功/失败临界状态且偏向合作一侧。[0062]基于历史共识结果的激励调整参数值s自适应调整,在促使各节点积极参与共识获得共识收益的同时有效控制共识的成本,以使每轮共识能尽可能地工作与合作共识的成功/失败临界状态且偏向合作一侧。[0063]在图2所示的合作共识流程执行步骤中,在合作共识失败后步骤s404和s406将会对合作失败次数进行统计以追溯并判断当前视图内的主节点是否为恶意节点;若判断当前主节点为恶意节点则进行视图切换以更换新的主节点(s60),有效提升区块链网络的安全性和稳定性。图5给出了本实施例中区块链共识的视图切换方法的流程。[0064]具体的,对于步骤s60,区块链网络开始后令本轮视图下合作共识失败累计计数器y=0、合作共识失败连续次数计数器x=0(步骤s61),随后启动视图切换机制(步骤s62),开始进行视图更新。根据p=v mod|n|这一公式,在所有n个节点中选出1个节点作为主节点,完成首次视图切换(步骤s63)。其中,v是视图编号,n是节点总数,p是主节点的编号。完成视图首次切换后进入图2所示的合作共识模式。在合作共识模式下,基于步骤s404合作共识失败累计计数器y的数值判断主节点是否满足y》y(步骤s64),其中y是预设好的本轮视图下的主节点合作共识累计失败次数阈值。若y》y,表明当前主视图下的主节点为恶意节点,则通过p=(p+1)mod|n|这一公式重新选择一个节点作为候选主节点(步骤s65),并重新执行步骤s64以判断该候选主节点是否为恶意节点。若判断表明候选主节点满足y≤y,则确定该候选主节点为正式的主节点,并令x计数器和y计数器清零(步骤s66)。步骤s66后将进一步判断该主节点合作共识失败连续次数x是否大于预设好的本轮视图下主节点合作共识连续失败次数阈值x(步骤s67)。若判断表明x≤x,则开始执行合作共识过程(步骤s68)并判定这一轮合作共识过程是否达成(步骤s69)。若本轮达成共识则直接进入步骤(步骤s67),若本轮未达成共识,则另计数器x加1(步骤s610)后继续进入步骤(步骤s67)。若步骤s67判断表明x》x,则表示主节点连续合作失败次数过多,应重新启动视图切换策略(步骤s62)。综上,在区块链共识的视图切换过程中,计数器x和y可用以判定该主节点主导的合作共识累计错误次数和连续错误次数,进而判定是否需要更新视图、更换新的主节点以避免恶意节点连续作恶,确保了上链数据的真实性和准确性。对于主节点的更新策略可适用随机策略或定向策略。[0065]于本实施例中,区块链内的各节点基于合作博弈获得信誉度和信誉积分后,管理共享数据库的共享数据管理商将基于信誉度划分规则对区块链网络中节点进行信誉度等级分类,并基于每一节点的信誉度等级调整其下载共享数据库内文件所消耗的信誉积分。具体的,譬如将信誉度等级分为高级、正常、低级三个等级,高级信誉用户可享受奖励期的奖励,其访问和下载过程所消耗信誉积分将按照一定的规则在正常信誉用户的基础上进行降低;而低级信誉用户收到惩罚期的惩罚,其访问和下载过程所消耗信誉积分按照一定的规则在正常信誉用户的基础上进行增加。[0066]进一步的,于其它实施例中,还可基于每一节点的信誉度等级形成一信誉度收益系数e并将该信誉度收益系数e融合于博弈成功收益矩阵和博弈失败收益矩阵内,如以下两个表格所示:[0067]任意两个节点之间的博弈成功收益矩阵设定为:[0068][0069]任意两个节点之间的博弈失败收益矩阵设定为:[0070][0071]譬如,基于客户端的信誉度划分,对于奖励期其信誉度收益系数e=1.2,正常期其信誉度收益系数e=1;惩罚期的信誉度收益系数e=0.8。在访问和下载共享数据库时,将在基础信誉积分上*(2-e)这一系数。[0072]另一方面,本实施例还提供一计算机设备,该计算机设备包括存储器和处理器,所述存储器存储有计算机程序。处理器执行计算机程序时实现本实施例所提供的基于合作博弈的数据共享方法的步骤。[0073]综上所述,本发明提供的基于合作博弈的数据共享方法中,将客户端访问共享数据库所需的信誉度和下载数据库内资源的信誉度积分融入于区块链共识机制中。基于各节点对共享数据的需求来驱使节点来积极参与共识,从而有效解决了因参与共识的节点少而导致的上链数据真实性差和节点易被攻击的问题,确保了基于区块链所形成的共享数据库的真实和稳定性。进一步的,基于上传数据请求的客户端所提供的信誉积分,在共识前主节点在形成博弈成功收益矩阵的同时亦形成失败收益矩阵,基于失败收益矩阵对参与共识的节点进行信誉度积分激励以进一步提高各个客户端阶段参与共识的积极性,从而进一步提高共享数据的真实性。[0074]若连续共识失败次数达到设定的连续阈值x,或者累计共识失败次数达到设定的累计阈值y(通常y>x),则系统发起主节点更新策略,使用随机或定向策略重新选择主节点,主节点更新触发策略可提升主节点的安全性。[0075]虽然本发明已由较佳实施例揭露如上,然而并非用以限定本发明,任何熟知此技艺者,在不脱离本发明的精神和范围内,可作些许的更动与润饰,因此本发明的保护范围当视权利要求书所要求保护的范围为准。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部