一种抽签方法、共识方法、设备和存储介质技术

技术编号:19702346 阅读:16 留言:0更新日期:2018-12-08 14:11
本发明专利技术设计了一种抽签方法,首先冻结一定数量的资产,以获取与资产相应数量的第一随机数的资格;其次,根据前N个区块的若干第二随机数生成种子信息,其中,N为正整数;再根据种子信息生成第一随机数;再根据所持有的第一随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;最后,广播所持有的第一随机数,并接收其它节点广播的第一随机数,将所持有的第一随机数与其它节点广播的第一随机数排序后,根据预配置的规则将排序结果中各第一随机数对应的共识委员会成员划分为记账节点和共识节点的方法,使得每一轮共识时,共识委员会成员都是由不同的节点组成的,解决了共识委员会成员为了获取利益进行合谋而损害其它节点利益的问题。

【技术实现步骤摘要】
一种抽签方法、共识方法、设备和存储介质
本专利技术涉及区块链
,涉及一种抽签方法、共识方法、设备和存储介质。
技术介绍
现有的区块链网络中,由于节点数量大,导致每个区块只能打包较少的交易信息。为了提高区块链网络每秒打包交易数量的性能,现有的解决方法是,挑选出固定的若干个拥有较强公信力的超级节点组成共识委员会。超级节点作为共识委员会成员,对交易信息进行共识,生成区块等操作。由于超级节点是固定不变的,理论上来说,谁也没有办法保证超级节点不会为了利益进行合谋,损害其它节点的利益。综上所述,当前需要提供一种可以成功杜绝共识委员会成员进行合谋而损害其它节点利益的方法。
技术实现思路
有鉴于此,本专利技术提供一种解决或部分解决上述问题的一种抽签方法。第一方面,本专利技术提供一种抽签方法,包括:冻结一定数量的资产,以获取与资产相应数量的第一随机数的资格;根据前N个区块的若干第二随机数生成种子信息,其中,N为正整数;根据种子信息生成第一随机数;根据所持有的第一随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;广播所持有的第一随机数,并接收其它节点广播的第一随机数,将所持有的第一随机数与其它节点广播的第一随机数排序后,根据预配置的规则将排序结果中各第一随机数对应的共识委员会成员划分为记账节点和共识节点。第二方面,本专利技术还提供一种共识方法,包括:使用BFT共识算法进行两阶段投票操作后生成区块。第三方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的抽签方法和共识方法。第四方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的抽签方法和共识方法。本专利技术的有益成果为:本专利技术设计了一种抽签方法,首先冻结一定数量的资产,以获取与资产相应数量的第一随机数的资格;其次,根据前N个区块的若干第二随机数生成种子信息,其中,N为正整数;再根据种子信息生成第一随机数;再根据所持有的第一随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;最后,广播所持有的第一随机数,并接收其它节点广播的第一随机数,将所持有的第一随机数与其它节点广播的第一随机数排序后,根据预配置的规则将排序结果中各第一随机数对应的共识委员会成员划分为记账节点和共识节点的方法,使得每一轮共识时,共识委员会成员都是由不同的节点组成的,解决了共识委员会成员为了获取利益进行合谋而损害其它节点利益的问题。本专利技术设计了一种可以执行上述抽签方法的共识方法,使用BFT共识算法进行两阶段投票操作后生成区块,提高了区块链网络每秒打包交易数量的性能。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例中抽签场景的示意图。图2为本专利技术一实施例提供的一种抽签方法的流程图。图3为图1所示的一种优选实施方式中步骤S13的流程图。图4为图1所示的一种优选实施方式中步骤S15的流程图。图5为图1所示的一种优选实施方式的流程图。图6为本专利技术一实施例提供的一种共识方法的流程图。图7为本专利技术一实施例提供的一种设备的结构示意图。具体实施方法下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1为本专利技术一实施例中抽签场景的示意图。如图1所示,在本实施例中,记账节点每生成一个区块,会产生排序的N个所述第二随机数,并将N个该第二随机数广播到区块链网络,其中,N为正整数;假设N为5,生成高度为H的区块的记账节点为记账节点A,记账节点A生成区块H后产生排序的5个第二随机数,分别为A1,A2,A3,A4,A5,并将这5个第二随机数广播到区块链网络;生成高度为H+1的区块的记账节点为记账节点B,记账节点B生成区块H+1后产生排序的5个第二随机数,分别为B1,B2,B3,B4,B5,并将这5个第二随机数广播到区块链网络;生成高度为H+2的区块的记账节点为记账节点C,记账节点C生成区块H+2后产生排序的5个第二随机数,分别为C1,C2,C3,C4,C5,并将这5个第二随机数广播到区块链网络;生成高度为H+3的区块的记账节点为记账节点D,记账节点D生成区块H+3后产生排序的5个第二随机数,分别为D1,D2,D3,D4,D5,并将这5个第二随机数广播到区块链网络;生成高度为H+4的区块的记账节点为记账节点E,记账节点E生成区块H+4后产生排序的5个第二随机数,分别为E1,E2,E3,E4,E5,并将这5个第二随机数广播到区块链网络;图2为本专利技术一实施例提供的一种抽签方法的流程图。如图2所示,在本实施例中,本专利技术提供一种抽签方法,包括:S11:冻结一定数量的资产,以获取与资产相应数量的第一随机数的资格;S13:根据前N个区块的若干第二随机数生成种子信息,其中,N为正整数;S15:根据种子信息生成第一随机数;S17:根据所持有的第一随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;S19:广播所持有的第一随机数,并接收其它节点广播的第一随机数,将所持有的第一随机数与其它节点广播的第一随机数排序后,根据预配置的规则将排序结果中各第一随机数对应的共识委员会成员划分为记账节点和共识节点。具体的,以图1所示的应用场景为例,假设资产为资产代币,每冻结10000个资产代币可以获取获得1个第一随机数的资格;假设节点F有10000个资产代币,节点F所持有的第一随机数小于预配置的难度值。在步骤S11中,节点F冻结10000个资产代币,节点F获取获得1个随机数的资格;在步骤S13中,节点F根据前5个区块的若干第二随机数生成种子信息;在步骤S15中,节点F根据种子信息生成第一随机数;在步骤S17中,节点F根据所持有的第一随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;由于节点F的所持有的第一随机数小于预配置的难度值,因此节点F被选取为共识委员会成员。在步骤S19中,节点F广播所持有的第一随机数,并接收其它节点广播的第一随机数,将所持有的第一随机数与其它节点广播的第一随机数排序后,根据预配置的规则将排序结果中各第一随机数对应的共识委员会成员划分为记账节点和共识节点。图3为图2所示的一种优选实施方式中步骤S13的流程图。如图3所示,在一优选实施例中,步骤S13包括:S131:获取生成前N个区块的若干第二随机数;S133:将获取的若干第二随机数组合运算后进行哈希运算,得到种子信息,其中,每个所述第二随机数只能用于生成一个种子信息。具体的,以图1所示的应用场景为例,假设当前的区块高度为H+5。在步骤S131中,节点F获取生成前5个区块的若干第二随机数,例如,取区块高度为H至区块高度为H+4的区块的对角线上的第二随机数:A5、B4、C3、D2、E1;在步骤S133中,节点F将获取的若干第二随机数组合运算后进行哈希运算,得到种子信息seed,s本文档来自技高网...

【技术保护点】
1.一种抽签方法,其特征在于,包括:冻结一定数量的资产,以获取与资产相应数量的第一随机数的资格;根据前N个区块的若干第二随机数生成种子信息,其中,N为正整数;根据所述种子信息生成所述第一随机数;根据所持有的第一随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;广播所持有的第一随机数,并接收其它节点广播的第一随机数,将所持有的第一随机数与其它节点广播的第一随机数排序后,根据预配置的规则将排序结果中各第一随机数对应的共识委员会成员划分为记账节点和共识节点。

【技术特征摘要】
1.一种抽签方法,其特征在于,包括:冻结一定数量的资产,以获取与资产相应数量的第一随机数的资格;根据前N个区块的若干第二随机数生成种子信息,其中,N为正整数;根据所述种子信息生成所述第一随机数;根据所持有的第一随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;广播所持有的第一随机数,并接收其它节点广播的第一随机数,将所持有的第一随机数与其它节点广播的第一随机数排序后,根据预配置的规则将排序结果中各第一随机数对应的共识委员会成员划分为记账节点和共识节点。2.根据权利要求1所述的方法,其特征在于,所述根据前N个区块的若干第二随机数生成种子信息,包括:获取生成前N个区块的若干第二随机数,其中,记账节点每生成一个区块,会产生排序的N个所述第二随机数,并将N个所述第二随机数广播到区块链网络;将获取的所述若干第二随机数组合运算后进行哈希运算,得到种子信息,其中,每个所述第二随机数只能用于生成一个种子信息。3.根据权利要求1所述的方法,其特征在于,所述根据所述种子信息生成所述第一随机数,包括:对所述种子信息和当前节点的公钥进行哈希运算,得到第一哈希值;通过当前节点的私钥对所述第一哈希值进行签名,生成签名信息;对所述签名信息进行哈希运算,得到所述第一随机数。4.根据权利要求1所述的方法,其特征在于,所述根据所持有的第一随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员,包括:比对所持有的第一随机数和预配置的难度值的大小,若所持有的第一随机数小于预配置的难度值,则被选取为共识委员会成员。5.根据权利要求1所述的方法,其特征在于,所述广播所持有的第一随机数,并接收其它节点广播的第一随机数,将所持有的第一随机数与其它节点广播的第一随机数排序后,根据预配置的规则将共识委员会成员划分为记账节点和共识节点包括:将所持有的第一随机数与接收其它节点广...

【专利技术属性】
技术研发人员:吴思进王志文
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:浙江,33

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

1