共识节点确定方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:21691373 阅读:44 留言:0更新日期:2019-07-24 16:10
本申请提供了一种共识节点确定方法、装置、计算机设备和存储介质,其中,该方法包括:获取区块链系统中多个目标节点中各目标节点的选定率;根据多个目标节点中各目标节点的选定率,从多个目标节点中选择出候选节点形成候选节点集;从候选节点集中随机选取多个节点作为共识节点。上述方案解决了现有的共识节点确定方法存在去中心化程度低的技术问题,达到了有效提升去中心化程度、提高系统安全性和可扩展性的技术效果。

Method, Device, Computer Equipment and Storage Medium for Determining Consensus Nodes

【技术实现步骤摘要】
共识节点确定方法、装置、计算机设备和存储介质
本申请涉及区块链
,特别涉及一种共识节点确定方法、装置、计算机设备和存储介质。
技术介绍
区块链的“不可能三角”理论提出了区块链的三个核心性能不能同时兼得:可扩展性、去中心化和安全性。去中心化的量化指标就是参与共识的节点数量,可扩展性的量化指标是共识性能,安全性的量化指标是作恶的经济成本。共识算法作为区块链的核心组件,同样存在这几个问题的权衡。目前主流区块链都倾向于采用PoS(ProofofStake,权益证明)共识算法,但是所有PoS系统都会存在共识节点数量和性能之间的权衡问题。DPoS(DelegatedProofofStake,委任权益证明)共识算法偏向较少的共识节点,换取较高的性能,但去中心化程度较低。Algorand采用随机方式在全网选取共识节点,但是只能在强同步网络上运行,个人用户很难参与,严重影响去中心化特性。针对上述问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种共识节点确定方法、装置、计算机设备和存储介质,以解决现有技术中选取共识节点存在去中心化程度低的问题。本申请实施例提供了一种共识节点确定方法,包括:获取区块链系统中多个目标节点中各目标节点的选定率;根据多个目标节点中各目标节点的选定率,从多个目标节点中选择出候选节点形成候选节点集;从候选节点集中随机选取多个节点作为共识节点。在一个实施例中,选定率包括以下至少之一:目标节点被区块链系统中的节点选定的比例、目标节点自身的份额占比。在一个实施例中,根据多个目标节点中各目标节点的选定率,从多个目标节点中选择出候选节点形成候选节点集,包括:将多个目标节点中被区块链系统中的节点选定的比例大于预设比例阈值的节点,作为入选节点,形成入选节点集;将入选节点集中自身的份额占比满足预设条件的入选节点,作为候选节点,形成候选节点集。在一个实施例中,预设条件包括以下之一:超出预定占比阈值、位于前预设位数。在一个实施例中,从候选节点集中随机选取多个节点作为共识节点,包括:获取候选节点集中每个候选节点的权重,其中,每个候选节点的权重为每个候选节点获取的选票总票龄;获取区块链系统中多个区块的随机种子,其中,当前区块的随机种子是根据VRF算法和前一个区块的随机种子生成的;根据多个区块的随机种子和候选节点集中每个候选节点的排序序号,分别为候选节点集中的每个候选节点选取一个随机数;根据每个候选节点的权重和随机数确定候选节点集中每个候选节点被选中的票龄数;根据每个候选节点被选中的票龄数从候选节点集中确定多个共识节点。在一个实施例中,获取候选节点集中每个候选节点的权重,包括按照以下公式确定候选节点集中的每个候选节点的权重:其中,wi是候选节点集中第i个候选节点的权重,Ai,k为第i个候选节点获得的第k张选票的票龄,Mi为第i个候选节点获取的选票的总张数,N为候选节点集中的候选节点的个数。在一个实施例中,当前区块的随机种子是根据VRF算法和前一个区块的随机种子按照以下公式生成的:其中,ri和πi分别是当前区块的随机种子和证明数据,ri-1是当前区块的前一个区块的随机种子,ski为生成当前区块的私钥,VRF函数为VRF算法,n为区块链系统的区块高度。在一个实施例中,根据多个区块的随机种子和候选节点集中每个候选节点的排序序号,分别为候选节点集中的每个候选节点选取一个随机数,包括按照以下公式为候选节点集中的每个候选节点选取一个随机数:其中,i为候选节点集中的候选节点的排序序号,Ri是候选节点集中的第i个候选节点的随机数,rn是区块链系统中第n个区块的随机种子,rn-i是区块链系统中第n-i个区块的随机种子,其中,n为区块链系统的区块高度,N为候选节点集中的候选节点的个数。在一个实施例中,根据每个候选节点的权重和随机数确定候选节点集中每个候选节点被选中的票龄数,包括:将满足以下不等式的最小Ji值确定为第i个候选节点被选中的票龄数:Ri/2hashlen≥FX(Ji+1),i=1,2...N;其中,Ri是候选节点集中第i个候选节点的随机数,hashlen是根据VRF算法生成的随机种子的位数,Fx为累计分布函数,N为候选节点集中的候选节点的个数,其中,FX(x)=P(X≤x),其中,表示候选节点集中第i个候选节点被选中的票龄数为k的概率,其中,其中,t为参与共识的多个共识节点的个数,为候选节点集中所有候选节点的权重的平均值,为候选节点集中所有候选节点的总权重,其中,wi是候选节点集中第i个候选节点的权重。在一个实施例中,根据每个候选节点被选中的票龄数从候选节点集中确定多个共识节点,包括:根据候选节点被选中的票龄数对候选节点集中的候选节点进行降序排序;对于被选中的票龄数相同的多个候选节点,根据候选节点的权重对多个候选节点进行降序排序;将排在前面预设个数的候选节点确定为参与共识的多个共识节点。在一个实施例中,在根据每个候选节点被选中的票龄数从候选节点集中确定多个共识节点之后,还包括:多个共识节点轮流作为提议节点生成区块,其中,在生成最后一个区块时,分别在每个共识节点获得的选票中随机选取一张选票作为奖励选票,以获得多张奖励选票;针对多张奖励选票中的每一张奖励选票,对区块链系统中投出该奖励选票的节点进行奖励。在一个实施例中,分别在每个共识节点获得的选票中随机选取一张奖励选票,包括:针对每个共识节点,将该共识节点获得的所有选票按投票时间进行排序;针对每个共识节点,根据该共识节点获得的所有选票中各选票的票龄和排序序号确定各选票的票龄区间;针对每个共识节点,根据该共识节点被选中的票龄数所处的票龄区间,将该票龄区间对应的选票确定为奖励选票。在一个实施例中,针对每个共识节点,根据该共识节点获得的所有选票中各选票的票龄和排序序号确定各选票的票龄区间,包括:将第i个共识节点的第μ张选票的票龄区间划分为:其中,μ为选票的排序序号,Ii,μ为第i个共识节点的第μ张选票的票龄区间,Ai,k为第i个候选节点获得的第k张选票的票龄,Mi为第i个候选节点获取的选票的总张数,t为参与共识的多个共识节点的个数。本申请实施例还提供了一种共识节点确定装置,包括:获取模块,用于获取区块链系统中多个目标节点中各目标节点的选定率;选择模块,用于根据多个目标节点中各目标节点的选定率,从多个目标节点中选择出候选节点形成候选节点集;随机选取模块,用于从候选节点集中随机选取多个节点作为共识节点。本申请实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的共识节点确定方法的步骤。本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的共识节点确定方法的步骤。在本申请实施例中,提供了一种共识节点确定方法,根据多个目标节点中各目标节点的选定率,从多个目标节点中选择出候选节点形成候选节点集;然后从候选节点集中随机选取多个节点作为共识节点以参与共识。上述方法中,通过根据各目标节点的选定率来确定候选节点集,然后在候选节点集中随机选取多个共识节点,使得数量有限的共识节点参与共识,可以保证系统的共识性能,从而提高系统的可扩展性;同时,由于根据选定率从本文档来自技高网...

【技术保护点】
1.一种共识节点确定方法,其特征在于,包括:获取区块链系统中多个目标节点中各目标节点的选定率;根据所述多个目标节点中各目标节点的选定率,从所述多个目标节点中选择出候选节点形成候选节点集;从所述候选节点集中随机选取多个节点作为共识节点。

【技术特征摘要】
1.一种共识节点确定方法,其特征在于,包括:获取区块链系统中多个目标节点中各目标节点的选定率;根据所述多个目标节点中各目标节点的选定率,从所述多个目标节点中选择出候选节点形成候选节点集;从所述候选节点集中随机选取多个节点作为共识节点。2.根据权利要求1所述的方法,其特征在于,所述选定率包括以下至少之一:目标节点被区块链系统中的节点选定的比例、目标节点自身的份额占比。3.根据权利要求2所述的方法,其特征在于,根据所述多个目标节点中各目标节点的选定率,从所述多个目标节点中选择出候选节点形成候选节点集,包括:将所述多个目标节点中被区块链系统中的节点选定的比例大于预设比例阈值的节点,作为入选节点,形成入选节点集;将所述入选节点集中自身的份额占比满足预设条件的入选节点,作为候选节点,形成候选节点集。4.根据权利要求3所述的方法,其特征在于,所述预设条件包括以下之一:超出预定占比阈值、位于前预设位数。5.根据权利要求1所述的方法,其特征在于,从所述候选节点集中随机选取多个节点作为共识节点,包括:获取所述候选节点集中每个候选节点的权重,其中,每个候选节点的权重为每个候选节点获取的选票总票龄;获取所述区块链系统中多个区块的随机种子,其中,当前区块的随机种子是根据VRF算法和前一个区块的随机种子生成的;根据所述多个区块的随机种子和所述候选节点集中每个候选节点的排序序号,分别为所述候选节点集中的每个候选节点选取一个随机数;根据每个候选节点的权重和随机数确定所述候选节点集中每个候选节点被选中的票龄数;根据每个候选节点被选中的票龄数从所述候选节点集中确定所述多个共识节点。6.根据权利要求5所述的方法,其特征在于,获取所述候选节点集中每个候选节点的权重,包括按照以下公式确定所述候选节点集中的每个候选节点的权重:其中,wi是所述候选节点集中第i个候选节点的权重,Ai,k为第i个候选节点获得的第k张选票的票龄,Mi为第i个候选节点获取的选票的总张数,N为所述候选节点集中的候选节点的个数。7.根据权利要求5所述的方法,其特征在于,当前区块的随机种子是根据VRF算法和前一个区块的随机种子按照以下公式生成的:其中,ri和πi分别是当前区块的随机种子和证明数据,ri-1是当前区块的前一个区块的随机种子,ski为生成所述当前区块的私钥,VRF函数为所述VRF算法,n为所述区块链系统的区块高度。8.根据权利要求5所述的方法,其特征在于,根据所述多个区块的随机种子和所述候选节点集中每个候选节点的排序序号,分别为所述候选节点集中的每个候选节点选取一个随机数,包括按照以下公式为所述候选节点集中的每个候选节点选取一个随机数:其中,i为所述候选节点集中的候选节点的排序序号,Ri是所述候选节点集中的第i个候选节点的随机数,rn是区块链系统中第n个区块的随机种子,rn-i是区块链系统中第n-i个区块的随机种子,其中,n为所述区块链系统的区块高度,N为所述候选节点集中的候选节点的个数。9.根据权利要求5所述的方法,其特征在于,根据每个候选节点的权重和随机数确定所述候选节点集中每个候选...

【专利技术属性】
技术研发人员:李升林姜海涛孙立林傅志敬
申请(专利权)人:矩阵元技术深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1