掌桥专利:专业的专利平台
掌桥专利
首页

基于分片的无授权区块链架构下的节点激励方法及系统

文献发布时间:2023-06-19 11:35:49


基于分片的无授权区块链架构下的节点激励方法及系统

技术领域

本发明涉及区块链技术领域,尤其涉及一种基于分片的无授权区块链架构下的节点激励方法及系统,特别的涉及一种基于分片的无授权区块链架构下片内片间协同激励方法及系统。

背景技术

分片技术作为区块链链上扩容技术之一,通过将网络中所有节点划分到若干个集合,在各个集合中独立验证交易、共识区块,可提高系统可扩展性。因此,分片技术被视为提高区块链可扩展性和突破区块链“不可能三角”性能瓶颈的有效方式之一。然而,虽然现阶段共识层安全性和效率问题在区块链分片系统中研究较为充分,但激励层相关分析与研究较少。在区块链分片系统中,验证节点均匀分布到各个分片内,大部分主流分片方案包括Elastico,Omniledger,RapidChain等都采取实用拜占庭容错算法(Practical ByzantineFault Tolerance,PBFT)等拜占庭容错算法(BFT)类投票类共识协议作为片内共识以提高共识可扩展性和一致性。但由于缺少对BFT类共识激励机制的研究,因此当BFT类共识在应用到无授权区块链系统中时,会面临经济激励的问题,无法保证自私节点正确参与共识协议。也即,现有的分片方案大部分都缺少能够促进分片内节点相互合作并尽最大能力参与共识的激励机制,导致一些自私节点为获得更高奖励采取一些不利于区块链系统维护的策略,提高自己的收益,从而危害到整个区块链系统的稳定性和安全性。这种问题在无授权区块链分片系统下更为突出,由于分片内验证节点数量较少,若大部分自私节点选择投入很少的计算资源参与共识或者不参与共识,则分片内无法及时出块,整个分片系统的效率、可用性以及安全性都会受到影响。

在基于分片的无授权区块链中,一直缺少对自私节点的博弈分析和交易分配策略的分析,而这对于设计激励机制是非常重要的。进一步说,假设分片内每一个节点都是理性且自私的,那么当节点的预期收益小于节点投入成本时,节点可能会选择消极怠工,从而不参加分片内交易的验证或者区块的共识,如果这种情况增多,则将严重影响分片系统的共识效率和出块速度。为解决这一问题,GTSB(the Game Theoretic Shard-basedBlockchain,基于分片的博弈论区块链)机制使用非合作静态博弈模型去分析节点的行为策略,证明当奖励在所有节点均分的情况下,节点选择失效是一个纳什均衡。若考虑公平的奖励分配原则,奖励只在所有参与者之间平分,则在相关参数满足一定关系后,参与是纳什均衡,因此相比均分更能激励节点相互合作,提升公平性。

在GTSB机制中,由于假设节点是拥有相同计算能力和计算容量的,因此并没有考虑所有参与合作节点投入的异质性。但在实际的区块链系统中,各个节点投入的硬件成本不一样,从而导致节点计算能力不同,验证交易的速度不同。除此之外,节点对网络维护成本投入的多少也会影响网络的稳定性,如果发生网络延迟的情况则直接影响共识的速度,因此奖励若在参与者之间均分不能激励节点投入更多计算资源,同时也影响激励的公平性。

无授权区块链分片系统中无法有效激励节点更多更好的参与片内共识的问题,是一个亟待解决的问题。

发明内容

为解决现有的无授权区块链分片系统中无法有效激励节点更多更好的参与片内共识的问题,本发明的目的在于提供一种基于分片的无授权区块链架构下片内片间协同激励方法及系统,以最大程度激励自私节点参与并投入更多的计算资源到共识过程中,提升整个分片系统的效率、可用性及安全性。

本发明的一方面,提供一种基于分片的无授权区块链架构下片内片间协同激励方法,该方法包括以下步骤:

分片形成步骤,由已确定的服务分片的节点基于可验证随机数VRF算法生成公共无偏可验证的随机数,并将已注册节点分配到普通分片,形成包括一个服务分片和多个普通分片的分片结构,所述服务分片和普通分片中包括未授权主节点和未授权普通节点;

交易分配步骤,所述服务分片接收用户的交易,以在所述分片形成步骤中基于VRF算法生成的随机数作为种子,以各个分片被分得的交易量占比作为染色体,基于上一轮共识过程分片间参与共识的节点总数与未参与共识的节点总数各自对应的目标函数获得遗传算法的适应度函数,利用遗传算法获得最优的交易分配方案,以基于所述交易分配方案通过服务分片的主节点进行交易在普通分片间的分配;

验证和共识步骤,该步骤包括:

接收到交易的普通分片基于拜占庭容错算法BFT的共识协议对交易进行验证,做出参与共识决策的普通节点向其分片中的主节点返回签名,以由该分片中的主节点在收到签名后生成子区块并向服务分片发送形成的子区块,该子区块中的子区块头包括当前普通分片的普通节点返回的签名数量以及各普通节点的交易验证时长;

服务分片基于静态博弈模型利用普通分片内普通节点采取不同共识策略对应的效用值函数来预测各普通节点所采取的共识策略,并基于在前一轮出块后普通分片内普通节点的信誉值计算各普通节点的信誉值占比,以基于计信誉值占比进行普通分片内普通节点的与交易费对应的奖励分配;

出块步骤,服务分片接收来自各个普通分片的子区块并获得各个普通节点的交易验证时长,基于各个普通节点的交易验证时长计算本轮出块过程中每个节点对应的信誉值,整合来自各个普通分片的子区块并对信誉值打包,生成最终区块并进行全网广播。

在本发明一些实施例中,所述方法还包括以下步骤:普通分片内的各节点基于服务分片的广播同步该普通分片内其他节点的信誉值。

在本发明一些实施例中,所述方法还包括:所述服务分片基于打包进子区块的签名数量确定普通分片内主节点的区块奖励并进行奖励分配。

在本发明一些实施例中,所述分片形成步骤包括:服务分片的节点基于公共信息运行VRF算法为本轮操作生成一个公共无偏可验证的随机数,上一轮操作中已注册的节点通过解决由当前随机数生成的工作量证明PoW难题生成公共可验证的身份,基于PoW结果的最后特定位数的比特信息将已注册节点分配到各个普通分片内,以形成所述分片结构;所述利用基于遗传算法的可验证交易分配机制获得最优的交易分配方案包括:以分片间选择参与共识的节点总数与选择失效的节点总数作为目标,将不同目标函数分配权重并整合成一个目标函数,基于所述随机种子和适应度函数进行染色体的交叉、变异和选择;当最优染色体的适应度不再上升时,将输出最后交易分配方案结果。

在本发明一些实施例中,所述将不同目标函数分配权重并整合成一个目标函数,包括基于如下公式将不同目标函数分配权重并整合成一个目标函数:

其中,

在本发明一些实施例中,所述不同共识策略对应的效用值函数包括:

其中,

由服务分片通过各普通分片中节点的交易验证时长利用如下公式计算节点初始信誉值:

其中,

对计算的初始信誉值进行归一化,得到普通节点信誉值。

在本发明一些实施例中,所述基于在前一轮出块后普通分片内普通节点的信誉值计算各普通节点的信誉值占比,包括:

基于如下公式计算各普通节点的信誉值占比:

其中,

在本发明一些实施例中,所述交易验证时长为各个普通节点返回签名至主节点时有主节点记录的时间戳与主节点将打包交易发送给其普通分片内的其他节点时的时间戳之差;所述整合来自各个普通分片的子区块并对信誉值打包包括整合来自各个普通分片的子区块并基于拜占庭容错算法对信誉值打包。

在另一方面,本发明还提供一种基于分片的无授权区块链架构下片内片间协同激励系统,该系统包括一个服务分片和多个普通分片的分片结构,所述服务分片和普通分片中包括未授权主节点和未授权普通节点,所述服务分片和普通分片中包括未授权主节点和未授权普通节点;

所述服务分片用于基于可验证随机数VRF算法生成公共无偏可验证的随机数,并将已注册节点分配到普通分片;

所述服务分片接收用户的交易,以基于VRF算法生成的随机数作为种子,以各个分片被分得的交易量占比作为染色体,基于多目标遗传算法获得最优的交易分配方案,以基于所述交易分配方案通过服务分片的主节点进行交易在普通分片间的分配;

所述普通分片,用于接收交易,基于拜占庭容错算法BFT的共识协议对交易进行验证,做出参与共识决策的普通节点向其分片中的主节点返回签名,以由该分片中的主节点在收到签名后生成子区块并向服务分片发送形成的子区块,该子区块中的子区块头包括当前普通分片的普通节点返回的签名数量以及各普通节点的交易验证时长;

所述服务分片还基于静态博弈模型利用普通分片内普通节点采取不同共识策略对应的效用值函数来预测各普通节点所采取的共识策略,并基于在前一轮出块后普通分片内普通节点的信誉值计算各普通节点的信誉值占比,以基于计信誉值占比进行普通分片内普通节点的与交易费对应的奖励分配;

所述服务分片接收来自各个普通分片的子区块并获得各个普通节点的交易验证时长,基于各个普通节点的交易验证时长计算本轮出块过程中每个节点对应的信誉值,整合来自各个普通分片的子区块并对信誉值打包,生成最终区块并进行全网广播。

本发明提供的基于分片的无授权区块链架构下片内片间协同激励方法和系统,通过设计片内奖励分配机制和片间交易量动态优化分配机制最大程度激励自私节点参与并投入更多的计算资源到共识过程中,提升整个分片系统的效率、可用性及安全性。

本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1为本发明一实施例中基于分片的无授权区块链架构下片内片间协同激励方法的流程示意图。

图2为本发明一实施例中分片模型的示意图。

图3为本发明一实施例中GA的适应度变化的曲线图。

图4为本发明一实施例中体现分片间参与共识节点均衡性的曲线图。

图5为本发明一实施例中体现共识参与率变化的曲线图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

应该强调,术语“包括/包含/具有”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。

为解决无授权区块链分片系统中无法有效激励节点更多更好的参与片内共识的问题,本发明提出了一种基于自私节点策略分析的片内片间协同激励机制,该片内片间协同激励机制通过设计片内奖励分配机制和片间交易量动态优化分配机制最大程度激励自私节点参与并投入更多的计算资源到共识过程中,从而提升整个分片系统的效率、可用性及安全性。

更具体地,本发明的片内奖励分配机制,通过博弈论中的静态博弈模型分析自私节点策略,用节点共识时间量化表征节点在本轮区块共识期间投入计算资源大小,从而指导片内奖励分配机制设计,激励节点投入更多计算资源到系统维护,提升系统共识与验证效率。

本发明的片间交易量动态优化分配机制,通过设计多目标遗传算法搜索最优的交易量分配方案(基于遗传算法的分布式共识方案),最大程度激励分片内自私节点执行共识协议,同时使得每个分片内参与共识节点数量相对均衡,提升分片间的公平性和活性。本发明的片间交易量动态优化分配机制通过引入可验证随机数(Verifiable RandomFunction,VRF)生成方法,保证各节点均可验证遗传算法执行结果,从而保证交易量分配方案的一致性和安全性。

图1所示为本发明一实施例中提供的基于分片的无授权区块链架构下片内片间协同激励方法的流程示意图。如图1所示,该方法包括以下步骤S110-S140:

在分片形成步骤S110,由已确定的服务分片的节点基于可验证随机数VRF算法生成公共无偏可验证的随机数,并将已注册节点分配到普通分片,形成包括一个服务分片和多个普通分片的分片结构,服务分片和普通分片中包括未授权主节点和未授权普通节点。

本发明实施例提出了一种分片模型,基于该分片模型,分片结构中的普通分片主要负责交易验证,每个节点的验证时间记录以及子块的生成和共识。服务分片主要负责网络分片、交易分配、节点信誉值计算以及最终区块生成和共识。特别地,服务分片是一种半中心化架构,其中节点是固定的,并被授权为普通分片提供服务。作为示例,本发明的分片模型中,设定有 k+1个分片,即S = {S

本发明不考虑服务分片中节点的自私性,由于本发明针对的是无授权区块链架构下的激励机制,因此对于普通分片中的节点,本发明假设所有节点都是未授权、自私的(即以利润为驱动)并且是非恶意的。此外,所有节点投入的计算资源可以不同,即每个节点具有不同的计算能力。

本步骤中,服务分片基于公共信息运行VRF算法为本轮操作生成一个公共无偏可验证的随机数,在上一轮已经注册的节点通过解决由当前随机数生成的工作量证明(ProofOf Work,PoW)难题生成公共可验证的身份。之后,每个已注册节点基于PoW 结果的最后几位比特信息随机均匀的分配到各个普通分片内,通过与其他节点以全连接的方式进行通信发现属于同一分片内的节点。

在交易分配步骤S120,服务分片接收用户的交易,以分片形成步骤S110中基于VRF算法生成的随机数作为种子,以各个分片被分得的交易量占比作为染色体,基于上一轮共识过程分片间参与共识的节点总数与未参与共识的节点总数各自对应的目标函数获得遗传算法的适应度函数,利用遗传算法获得最优的交易分配方案,以基于所述交易分配方案通过服务分片的主节点进行交易在普通分片间的分配。

本步骤中,是针对参与共识和未参与共识各自对应的目标函数进行多目标融合而获得遗传算法的适应度函数,也即利用多目标遗传算法来获得最优交易分配方案,该机制可称为基于多目标遗传算法的可验证交易分配方案。假设服务分片收到的总交易量为

换言之,本步骤中,以分片间选择参与共识的节点总数与选择失效(未参与共识)的节点总数作为目标,将不同目标函数分配权重并整合成一个目标函数,基于随机种子和对应适应度函数进行染色体的交叉、变异和选择;当最优染色体的适应度不再上升时,将输出最后交易分配方案结果。

在验证和共识步骤S130,每一个普通分片在收到交易后将运行BFT的共识协议对交易进行验证并决定是否参与共识决策,做出参与共识决策的普通节点向其分片中的主节点返回签名。当主节点收到大部分有效的节点签名后将形成的子区块发送至服务分片形成最终区块。子区块包括子区块体和子区块头。在本发明实施例中,还由普通分片的主节点记录每个普通节点的验证时长并发送给服务分片,来用于由服务分片基于普通节点的验证时长形成普通节点信誉值,以此表征节点在本轮出块过程中投入资源的多少,并进一步地基于普通节点信誉值计算各普通节点的信誉值占比。作为示例,普通节点的验证时长信息可以同子区块头一起发送给服务分片。

更具体地,该步骤S130包括:

步骤S131,接收到交易的普通分片中的普通节点基于实用拜占庭容错算法(PBFT)的共识协议对交易进行验证,做出参与共识决策的普通节点向其分片中的主节点返回签名,以由该分片中的主节点在收到签名后生成子区块并向服务分片发送形成的子区块,该子区块中的子区块头包括当前普通分片的普通节点返回的签名数量以及各普通节点的交易验证时长。

作为示例,在主节点打包交易发送给其他节点时记录此时的时间戳

步骤S132,服务分片基于静态博弈模型利用普通分片内普通节点采取不同共识策略对应的效用值函数来预测各普通节点所采取的共识策略,并基于在前一轮出块后普通分片内普通节点的信誉值计算各普通节点的信誉值占比,以基于计信誉值占比进行普通分片内普通节点的与交易费对应的奖励分配。

本步骤通过基于静态博弈模型利用普通分片内普通节点采取不同共识策略对应的效用值函数来预测各普通节点所采取的共识策略,并将上一轮节点信誉值纳入奖励分配的因素,基于交易验证时间的节点信誉值并以此计算各普通节点的信誉值占比,能够更准确量化评估节点投入计算资源的多少,并仅将交易费作为普通节点的奖励费,从而使得自私节点都会尽最大可能投入以此获得收益。

更进一步地,本发明实施例中,在服务分片确定主节点的奖励分配时,将区块奖励作为主节点的简历,服务分片基于打包进子区块的签名数量确定普通分片内主节点的区块奖励并进行奖励分配。

本步骤的奖励分配机制,是更加公平和安全的分片内奖励分配机制,实现了在分片内对节点投入更多计算资源的有效激励。

出块步骤S140,服务分片接收来自各个普通分片的子区块并获得各个普通节点的交易验证时长,基于各个普通节点的交易验证时长计算本轮出块过程中每个节点对应的信誉值,整合来自各个普通分片的子区块并对信誉值打包,生成最终区块并进行全网广播。

服务分片收到从各个普通分片返回的子区块头和每个节点的验证时长后,将它们整合并根据统一的信誉值计算模型计算每个节点对应的信誉值,之后运行PBFT打包信誉值生成最终的区块并进行全网广播。同时,普通分片内的各节点基于服务分片的广播同步该普通分片内其他节点的信誉值,并根据奖励分配策略得到相应奖励。

图2示出了本发明实施例中实现如上方法的分片模型的示意图。图2中的步骤1对应于分片形成步骤,由服务分片将已注册节点分配到各个普通分片。步骤2对应于交易分配步骤,由服务分片将从用户接收到的交易基于遗传算法得到的交易分配方案进行分片间的交易分配。步骤3对应于验证和公式步骤,在该步骤中,接收到交易的普通节点对交易进行验证并作出参与共识决策后向该分片的主节点返回签名,主节点在收到签名后生成子区块并向服务分片发送形成的子区块,该子区块中的子区块头包括普通节点返回的签名数量以及各普通节点的交易验证时长。步骤4对应于出块步骤,该步骤中服务分片接收到来自多个普通分片的多子区块后将子区块进行整合生成最终区块并进行全网广播。在本发明实施例中,在步骤2采用采用基于遗传算法的片间交易量动态优化分配机制在最大程度激励分片内自私节点执行共识协议的同时,使得每个分片内参与共识节点数量相对均衡,提升分片间的公平性和活性。在步骤3采用本发明提出的片内奖励分配机制来指导片内奖励分配机制设计,激励节点投入更多计算资源到系统维护,提升系统共识与验证效率。

本发明的如上基于分片的无授权区块链架构下片内片间协同激励方法提出的片内片间协同激励机制,相比于其他激励机制,本发明将片内激励状态作为片间激励的依据,动态维持整个分片系统的激励性。具体来说,对于片内激励,基于静态博弈模型分析自私节点策略,用信誉值量化节点在本轮区块共识期间投入计算资源大小,指导实现更加公平的奖励分配机制,激励节点投入更多计算资源到共识过程,提升出块效率。对于片间,基于当前片内激励状态设计多目标遗传算法搜索最优的交易分配机制,最大程度激励分片内节点参与共识,同时使得分片间参与共识节点数量相对均衡,提升公平性和活性。

下面对本发明的基于分片的无授权区块链架构下片内片间协同激励方法的一些步骤进行更详细地描述。

在本发明一实施例中,本发明利用预定的信誉模型来基于各个普通节点的交易验证时长计算每个普通节点的信誉值,基于该信誉模型,计算每个普通节点的信誉值的步骤包括:由服务分片通过各普通分片中普通节点的交易验证时长利用如下公式(1)计算节点初始信誉值:

其中:

其中,

本发明实施例在公式(1)中使用对数公式来适当缩小信誉值的方差,避免一些极端情况出现。

在计算得到普通节点的初始信誉值之后,本发明实施例还对初始信誉值进行归一化处理,使得不同节点信誉值处于同一数量级,更加方便进行比较。作为示例,本发明使用Min-Max标准化方法对信誉值归一化,如下面公式(4)所示:

其中,

该计算出的节点的信誉值可用于在下一轮的整个操作(包括分片形成、交易分配、交易验证和共识、最终出块等步骤)中用于遗传算法的片间交易量动态优化分配以及确定普通分片中节点的奖励分配。

在基于本发明的分片模型的共识过程中,每个普通节点在收到主节点发送的交易后,同时且独立做出策略选择,即先选择是否参与本次的共识过程,如果选择参与,那么节点需选择投入计算资源的多少,因此本发明在预测普通节点的共识策略所采用的博弈本质上是一个静态博弈G。除此之外,本发明假设该静态博弈还具备以下特点:(i)非合作博弈:各节点基于“个体行为理性”的原则,追逐自身利益最大化进行自主决策,与其他节点无关;(ii)完全信息博弈:所有节点在博弈时都了解当前博弈规则以及其他节点可能选择的策略信息,即了解当前分片节点数、各个节点信誉值、交易量等信息;(iii)无限策略博弈:节点在选择投入计算资源多少时是一个连续有限的变量,因此可选择策略有无数多个。

本发明实施例中服务分片基于静态博弈模型利用普通分片内普通节点采取不同共识策略对应的效用值函数来预测各普通节点所采取的共识策略,为此,需明确每个节点在选择不同策略时的效用函数计算式,为此本发明要对节点获得奖励和损耗进行假设与定义。对于节点损耗部分来说,分为必须的损耗

对于片内共识,在节点收到主节点发送的交易后,需要做出策略选择,即是否参与本次共识过程以及投入多少计算资源。如果节点选择不参与,则不用承担非必须损耗

在分片系统中,如果节点参与共识,节点获得的奖励有两部分,分别为出块奖励和交易费。出块奖励是随着最终区块产生后而产生的,假设为

如何去分配分片系统中产生的奖励是研究激励机制的关键问题。在现有的GTSB机制中,验证了奖励在所有参与共识的节点中平均分配比在所有节点中平均分配更加公平,更具激励性。如果采用这种公平的分配方式,则节点选择参与策略时的效用函数如公式(8)所示:

其中,

由于目前没有一个完美的方法找到并无争议地证明在运行PBFT的过程中谁是没有真正参与共识的节点,因此存在主节点有意或无意没有打包参与共识节点签名的情况。所以,假设

当将

综上分析,

公平分配奖励无法激励节点投入更多计算资源问题本质是没有建立奖励与计算资源投入的相关性。如果节点投入越多,获得奖励越多,那么自私节点都会尽最大可能投入以此获得收益。在本发明中,设计了基于交易验证时间的节点信誉值计算模型,准确量化评估了节点投入计算资源的多少。因此,本发明可以将节点信誉值纳入奖励分配考量因素,同时,还要考虑奖励分配的安全性,即需要考虑节点在激励层作恶的情况。

本发明提出的分片内奖励分配机制更加公平和安全。具体来说,本发明对分片内主节点和普通节点进行不同的奖励分配,对于普通节点来说,奖励仅为交易费,对于分片内的主节点来说,奖励只有区块奖励。具体原因分析如下:

由于已假设节点都是自私的,因此存在节点为了获得更多奖励而在分片系统的激励层作恶,实施利己但不利于其他节点的行为,影响整个系统的生态。本发明中, 分片内每个节点验证交易的时间都是有主节点确定,本质上主节点是否诚实直接影响其他节点的收益。因此需要重点聚焦主节点的行为,使得主节点作恶无收益或收益很小,从而间接保证各个节点的利益。具体来说,考虑主节点两种作恶模式,分别为模式A和模式B。

模式A: 主节点恶意篡改其他节点验证交易的时间戳。

模式 B: 主节点与其他节点进行合谋,故意不包含一些诚实节点的签名。

对于模式A, 本发明设计的奖励分配机制(普通节点奖励仅为交易费,主节点奖励只有区块奖励)中,很好的保证了主节点没有恶意篡改其他节点时间戳的动机。具体来说,分配给主节点的奖励只有区块奖励,而分配给普通节点的只有交易费,因此,主节点即使窜改其他节点时间戳也不会影响其收益。如果主节点也基于信誉值占比分交易费,那么主节点可以通过恶意修改其他节点时间戳来提高自己的信誉值占比,以此获得更多的奖励。

对于模式B, 合谋作恶的方式由于其隐蔽性,几乎很难被发现,因此无法通过共识来识别,只能通过激励来减小这种作恶方式的不好影响。简单来说,本发明使得主节点最终获得的区块奖励与打包的签名数量呈正相关,同时,区块奖励要大于其他节点获得的交易费用。因此, 主节点提高收益的最好办法就是尽可能多的打包其他节点签名,而不是合谋作恶与合伙节点共享奖励。

经过上述分析可知,本发明提出的片内奖励分配机制为一种公平又安全的奖励分配机制,实现了在分片内对节点投入更多计算资源的有效激励。

在本发明实施例中,对于普通节点来说,由于奖励仅为交易费,并将按照每个节点信誉值占比进行分配,则其效用函数如公式(10)所示:

其中:

对于分片内的主节点来说,由于奖励只有区块奖励,与打包进子区块的签名数量有关,并且在参数设置时要保证每个主节点获得的区块奖励大于其他节点获得交易费,则其效用函数如公式(12)和(13)所示:

其中:

其中,

在分片系统中,要设计一个好的激励机制还需找到合理的分片间交易量分配方案。因此,本发明还提出了一种新的交易分配机制:基于遗传算法的可验证交易分配机制,该机制安全激励分片内自私节点参与共识协议。

寻找合理的分片间交易量分配方案的目标是找到符合目标期望的交易量分配方案。利用遗传算法(GA)的特性,只需定义适应度函数表达式、染色体、算法参数等信息就可以通过一次次迭代找到最优的交易量分配方案。本发明提出的交易分配机制意在满足系统内参与共识节点数量最大化以及每个分片间参与共识节点数量的相对均衡,这样一方面能激励更多节点参与共识,另一方面能保证各个分片之间的激励公平性,使得每个分片都有差不多数量的节点参与共识,从而提升系统可用性。

要研究出理想的交易分配机制,有两个问题需要解决。第一个问题是服务分片如何确定每个节点在当前共识过程中的策略选择。第二个问题是GA是一种不确定性算法,服务分片内每个节点分别计算会得到不同的结果,因此如何安全有效的保证GA结果一致性是非常重要的。

对于第一个问题, 服务分片通过代替各个节点进行静态博弈,从而能够预言在本轮共识中节点所采取的策略。具体来说,基于前面对奖励分配机制的分析,最终可以得到节点在共识过程中选择不同策略的效用值函数,如公式(15)和(16)所示:

其中,

在博弈过程中,假设节点面临的共同信息参数值是一定的,那么实际影响博弈结果的只有节点投入计算资源

对于第二个问题, GA的不确定性是当初始化染色体和进行染色体交叉、变异时的随机性导致的,然而这种随机性本质上是一种伪随机,因此只要确定GA过程所用的随机种子,那么GA整个运算过程和运算结果都是确定性的,这样服务分片能够对GA输出的交易分配方案形成共识。随机种子的生成环境必须是安全的,能够具备无偏、可验证的特性,因此本发明选取用于形成分片时而基于VRF产生的随机数作为GA的随机种子,从而保证GA分布式运行结果一致性。

在本发明的GA模型中,服务分片运行GA的目标是为了寻找最优的交易分配方案,为此将交易分配方案转化为染色体的形式,如下所示:

其中,

其中:

在公式(19)中,F为GA算法的适应度函数表达式,

经过对染色体和适应度函数的定义,便设计出了与实施基于遗传算法的可验证交易分配机制,在该机制中,假设染色体交叉算子为

在本发明中,通过引入节点信誉值的概念用来评估节点共识行为,并建立信誉值与收益之间的相关性,使得高信誉值的节点能够获得更多的奖励,从而实现奖励分配的公平性。除此之外,本发明运用博弈论中的动态博弈模型分析节点选择不同策略对应的效用值变化,并通过遗传算法设计交易动态分配机制,在保证每个分片内诚实节点数量占多数的同时,提高分片内活性及系统安全性。研究结果表明相较于其他区块链分片激励机制,本发明的方案能够更好的提升激励公平性以及系统安全性与活性。

本发明使用golong和python对激励机制的方案进行了证明与仿真。仿真参数如表1所示:

表1:仿真参数示例。

在该仿真实验中,主要关注了三点:(1)GA适应度的变化;(2)分片间参与共识节点数量的RMSE的变化;(3)整个分片系统的节点共识参与率。同时,还比较了交易均匀分配机制在上述指标的变化。

图3展示了GA在种群迭代过程中适应度的变化。假设每个节点最初的信誉值是随机生成的,在最初的时候,适应度约为5.678,此时五个分片内参与共识节点数量分别为65,56, 63, 57, 68。随着种群的迭代,具有高适应度的染色体逐渐被淘汰,因此种群内最优的适应度逐渐变小,到了150代以后趋于稳定,不再变小,直至满足适应度不变次数的阈值,从而输出结果。最后找到的交易量分配方案使得五个分片内参与共识节点数量分别为63,64, 63, 64, 63。可见,与起始结果比,在参与共识节点总体数量和分片间均方根误差的指标上都有显著提升。

图4展示了本发明的方案与现有的交易均匀分配方案在分片间参与共识节点数量的RMSE上随着信誉值RMSE变化而变化的过程。实验结果表明,在分片间信誉值出现不均匀分布情况时,本发明的方案能够动态的维持各个分片内参与共识节点数量的均衡。具体来说,随着信誉值RMSE的提升,现有的交易均匀分配方案会使得分片间参与共识节点数量RMSE的上升,即会变得越来越不均衡。而本发明提出的方案随着信誉值RMSE的提升,会逐渐稳定在一个很低的范围,能够保证分片间公平性和活性。

图5展示了本发明的方案与现有的交易均匀分配方案在整个分片系统的共识参与率上随着信誉值RMSE变化而变化的过程。试验结果表明,本发明的方案相较于现有的均匀分配方案能够一直保证有更多的节点参与共识,具有更好的激励效果,有利于整个分片系统的维护。

上述克制,实验结果验证了本发明的交易分配方案相较于通用的交易均匀分配方案更能激励节点参与共识,能够保证分片系统活性和公平性,具有显著的优越性。

与前述方法相应地,本发明还提出了一种基于分片的无授权区块链架构下片内片间协同激励系统,该系统包括一个服务分片和多个普通分片的分片结构,所述服务分片和普通分片中包括未授权主节点和未授权普通节点,所述服务分片和普通分片中包括未授权主节点和未授权普通节点;

所述服务分片用于基于可验证随机数VRF算法生成公共无偏可验证的随机数,并将已注册节点分配到普通分片;

所述服务分片接收用户的交易,以基于VRF算法生成的随机数作为种子,以各个分片被分得的交易量占比作为染色体,基于多目标遗传算法获得最优的交易分配方案,以基于所述交易分配方案通过服务分片的主节点进行交易在普通分片间的分配;

所述普通分片,用于接收交易,基于拜占庭容错算法BFT的共识协议对交易进行验证,做出参与共识决策的普通节点向其分片中的主节点返回签名,以由该分片中的主节点在收到签名后生成子区块并向服务分片发送形成的子区块,该子区块中的子区块头包括当前普通分片的普通节点返回的签名数量以及各普通节点的交易验证时长;

所述服务分片还基于静态博弈模型利用普通分片内普通节点采取不同共识策略对应的效用值函数来预测各普通节点所采取的共识策略,并基于在前一轮出块后普通分片内普通节点的信誉值计算各普通节点的信誉值占比,以基于计信誉值占比进行普通分片内普通节点的与交易费对应的奖励分配;

所述服务分片接收来自各个普通分片的子区块并获得各个普通节点的交易验证时长,基于各个普通节点的交易验证时长计算本轮出块过程中每个节点对应的信誉值,整合来自各个普通分片的子区块并对信誉值打包,生成最终区块并进行全网广播。

本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 基于分片的无授权区块链架构下的节点激励方法及系统
  • 基于分片的无授权区块链架构下的节点激励方法及系统
技术分类

06120112981225