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

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

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

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

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

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

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

1