CN111815845B - 基于异构区块链的摇号方法、装置、***、设备和介质 - Google Patents
基于异构区块链的摇号方法、装置、***、设备和介质 Download PDFInfo
- Publication number
- CN111815845B CN111815845B CN202010652705.7A CN202010652705A CN111815845B CN 111815845 B CN111815845 B CN 111815845B CN 202010652705 A CN202010652705 A CN 202010652705A CN 111815845 B CN111815845 B CN 111815845B
- Authority
- CN
- China
- Prior art keywords
- block
- shaking
- information
- value
- block chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C15/00—Generating random numbers; Lottery apparatus
- G07C15/006—Generating random numbers; Lottery apparatus electronically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例公开了一种基于异构区块链的摇号方法、装置、***、设备和介质,按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;向第一区块链发送摇号信息;依据第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链。第一区块值依赖于摇号信息以及摇号信息所在区块的交易信息计算得到。将第一区块值以及摇号信息发送至第二区块链,并接收第二区块链反馈的第二区块值。第二区块值依赖于第一区块值、摇号信息以及摇号信息所在区块的交易信息计算得到。当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果。基于多条异构的区块链来串行生成区块值,提升了摇号结果的可信性。
Description
技术领域
本发明涉及区块链技术领域,特别是涉及一种基于异构区块链的摇号方法、装置、***、设备和计算机可读存储介质。
背景技术
摇号软件要尽可能的追求公平,结果不可被预测,不能***纵。区块链的分布式账本特性使其没有中心化的节点,把控制权分散到了整个网络。同时,区块链有防篡改、可追溯的特性,可以保证存储于区块链上的数据的完整性,没有被篡改。区块链的这些特性符合摇号***的需求。
现有技术中基于区块链的摇号***的总体实现思路如下:首先,操作人员在摇号控制台发起摇号;其次,根据事先约定的规则,计算出将来的一个区块高度;然后,等待目标区块的生成,获取其区块哈希;最后,使用该区块哈希来计算摇号结果。
但是现有的技术依赖单一的区块链***。如果依赖的是公链,采用研究工作量证明(Proof Of Work,POW)算法、委托股权证明(Delegated proof os Stake,DPOS)算法等共识算法,当区块链被一方控制后,摇号的结果也可以被控制。如果依赖的是许可链,采用实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法等共识算法,只能相信这个联盟的信用,只有在许可链安全可靠的前提下,才可以保证摇号结果的公平性。因此,现有技术中依赖单一区块链实现的摇号***,一旦所依赖的区块链变得不可信,摇号结果也将失去可信性。
可见,如何提升摇号结果的可信性,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种基于异构区块链的摇号方法、装置、***、设备和计算机可读存储介质,可以提升摇号结果的可信性。
为解决上述技术问题,本发明实施例提供一种基于异构区块链的摇号方法,包括:
按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;并向所述第一区块链发送摇号信息;
依据所述第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链;其中,所述第一区块值依赖于所述摇号信息以及所述摇号信息所在区块的交易信息计算得到;
将所述第一区块值以及所述摇号信息发送至所述第二区块链,并接收所述第二区块链反馈的第二区块值;其中,所述第二区块值依赖于所述第一区块值、所述摇号信息以及所述摇号信息所在区块的交易信息计算得到;
当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果。
可选地,所述当遍历完所有的候选区块链时,则依据最后一条区块链反馈的区块值确定出摇号结果包括:
判断是否存在剩余的候选区块链;
当存在剩余的候选区块链时,则将所述第二区块值作为第一区块值,并返回所述依据所述第一区块值,从剩余的候选区块链中选取出第二区块链的步骤;
当不存在剩余的候选区块链时,则将所述第二区块值作为摇号规则中的随机数,并按照所述摇号规则从所有所述摇号信息中抽取出摇号结果。
可选地,所述将所述第二区块值作为摇号规则中的随机数,并按照所述摇号规则从所有所述摇号信息中抽取出摇号结果包括:
对所述第二区块值进行取余运算,以得到余数;
将所有所述摇号信息进行排序,并将所述余数所对应位数的摇号信息作为摇号结果。
可选地,所述按照预先设定的业务规则,从所有候选区块链中选取出第一区块链包括:
判断所有所述候选区块链中是否存在许可链;
当所有所述候选区块链中存在许可链时,则选取出一条许可链作为第一区块链;
当所有所述候选区块链中不存在许可链时,则从所有所述候选区块链中随机选取出一条区块链作为第一区块链。
本发明实施例还提供了一种基于异构区块链的摇号装置,包括选取单元、发送单元、接收单元和确定单元;
所述选取单元,用于按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;
所述发送单元,用于向所述第一区块链发送摇号信息;
所述选取单元还用于依据所述第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链;其中,所述第一区块值依赖于所述摇号信息以及所述摇号信息所在区块的交易信息计算得到;
所述发送单元,用于将所述第一区块值以及所述摇号信息发送至所述第二区块链,
所述接收单元,用于接收所述第二区块链反馈的第二区块值;其中,所述第二区块值依赖于所述第一区块值、所述摇号信息以及所述摇号信息所在区块的交易信息计算得到;
所述确定单元,用于当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果。
可选地,所述确定单元包括判断子单元、作为子单元和抽取子单元;
所述判断子单元,用于判断是否存在剩余的候选区块链;
所述作为子单元,用于当存在剩余的候选区块链时,则将所述第二区块值作为第一区块值,并触发所述选取单元执行所述依据所述第一区块值,从剩余的候选区块链中选取出第二区块链的步骤;
所述抽取子单元,用于当不存在剩余的候选区块链时,则将所述第二区块值作为摇号规则中的随机数,并按照所述摇号规则从所有所述摇号信息中抽取出摇号结果。
可选地,所述抽取子单元具体用于对所述第二区块值进行取余运算,以得到余数;将所有所述摇号信息进行排序,并将所述余数所对应位数的摇号信息作为摇号结果。
可选地,所述选取单元具体用于判断所有所述候选区块链中是否存在许可链;当所有所述候选区块链中存在许可链时,则选取出一条许可链作为第一区块链;当所有所述候选区块链中不存在许可链时,则从所有所述候选区块链中随机选取出一条区块链作为第一区块链。
本发明实施例还提供了一种基于异构区块链的摇号***,包括摇号设备和多个候选区块链;
所述摇号设备,用于按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;并向所述第一区块链发送摇号信息;依据所述第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链;将所述第一区块值以及所述摇号信息发送至所述第二区块链,并接收所述第二区块链反馈的第二区块值;遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果;
所述第一区块链,用于依据所述摇号信息以及所述摇号信息所在区块的交易信息计算得到第一区块值,并将所述第一区块值反馈至所述摇号设备;
所述第二区块链,用于依据所述第一区块值、所述摇号信息以及所述摇号信息所在区块的交易信息计算得到第二区块值,并将所述第二区块值反馈至所述摇号设备。
可选地,所述第一区块链具体用于对所述摇号信息以及所述摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第一区块值;
所述第二区块链具体用于对所述第一区块值、所述摇号信息以及所述摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第二区块值。
本发明实施例还提供了一种基于异构区块链的摇号装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述基于异构区块链的摇号方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述基于异构区块链的摇号方法的步骤。
由上述技术方案可以看出,按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;并向第一区块链发送摇号信息;依据第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链。其中,第一区块值依赖于摇号信息以及摇号信息所在区块的交易信息计算得到,提升了区块值的不可预测性。将第一区块值以及摇号信息发送至第二区块链,并接收第二区块链反馈的第二区块值。其中,第二区块值依赖于第一区块值、摇号信息以及摇号信息所在区块的交易信息计算得到。当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果。在该技术方案中,基于多条异构的区块链来串行生成区块值,并且依据上一个区块的区块值决定下一个区块取自哪条区块链,提高了控制输出最后一个区块值的难度,以此来提高摇号结果的不可预测性,从而提升摇号结果的可信性。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于异构区块链的摇号方法的流程图;
图2为本发明实施例提供的一种基于异构区块链的摇号装置的结构示意图;
图3为本发明实施例提供的一种基于异构区块链的摇号***的结构示意图;
图4为本发明实施例提供的一种基于异构区块链的摇号设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种基于异构区块链的摇号方法。图1为本发明实施例提供的一种基于异构区块链的摇号方法的流程图,该方法包括:
S101:按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;并向第一区块链发送摇号信息。
在本发明实施例中,为了提升候选区块链被控制或篡改的难度,可以选择采用不同共识算法的区块链作为候选区块链。常用的共识算法包括POW算法、DPOS算法和PBFT算法。以三个区块链为例,在实际应用中可以选取采用POW算法的公链、采用DPOS算法的公链以及采用PBFT算法的许可链作为三个候选区块链。
业务规则可以根据实际的业务需求人为设定,在摇号设备中可以预先存储该业务规则,从而实现第一区块链的自动化选取。
举例说明,业务规则可以是优先选取许可链作为第一区块链。在具体实现中,摇号设备可以判断所有候选区块链中是否存在许可链;当所有候选区块链中存在许可链时,则选取出一条许可链作为第一区块链;当所有候选区块链中不存在许可链时,则从所有候选区块链中随机选取出一条区块链作为第一区块链。
在选取出第一区块链之后,摇号设备可以将所有参与摇号的摇号信息发送至第一区块链。其中,摇号信息可以包括摇号项目、时间等信息。
S102:依据第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链。
第一区块链在接收到摇号信息之后,会将该摇号信息存储至第一区块链的某一个区块中。为了增加下一个区块链选取的随机性,第一区块链可以依赖于摇号信息以及摇号信息所在区块的交易信息计算得到第一区块值。
在具体实现中,第一区块链可以对摇号信息以及摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第一区块值。
由于第一区块值除了受摇号信息的影响外,还受摇号信息所在区块的交易信息的影响,而其它设备无法获知到第一区块链的交易信息,因此,依赖于摇号信息以及摇号信息所在区块的交易信息计算得到的第一区块值具有较强的随机性。
摇号设备依赖于第一区块值,从剩余的候选区块链中选取出第二区块链的实现方式可以有多种。
一种可行的实现方式,可以将第一区块值进行取余运算,得到的余数作为选取下一条区块链依据。其中,第一区块值的取余运算,可以将第一区块值除以预先设定的一个固定数值,也可以将第一区块值除以第一区块链的标识值。在实际应用中,为了便于区分不同的候选区块链,可以针对于每条候选区块链设置标识值,例如,三条候选区块链依次用数字1、2和3作为标识值。
在具体实现中,可以按照标识值,对剩余的候选区块链进行排序。假设第一区块值进行取余运算得到的余数是N,则从剩余的候选区块链中选取出第N条候选区块链作为第二区块链。
另一种可行的实现方式,可以根据第一区块值的个位数的取值选取第二区块链。假设第一区块值的个位数的取值为M,则从剩余的候选区块链中选取出第M条候选区块链作为第二区块链。
S103:将第一区块值以及摇号信息发送至第二区块链,并接收第二区块链反馈的第二区块值。
在选取出第二区块链之后,摇号设备可以将第一区块值和摇号信息发送至第二区块链,以便于第二区块链依赖于第一区块值、摇号信息以及摇号信息所在区块的交易信息计算得到第二区块值。
在具体实现中,第二区块链可以对第一区块值、摇号信息以及摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第二区块值。
S104:当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果。
本发明实施例提供的基于异构区块链的摇号方法,依赖于多条异构的区块链实现摇号功能。
在确定出当前的区块链之后,依据上述S102和S103的操作可以实现对下一条区块链的选取,并获取下一条区块链反馈的区块值。在本发明实施例中,可以将当前的区块链作为第一区块链,通过不断重复S102和S103的操作,可以完成对所有候选区块链的遍历,从而得到最后一条区块链反馈的区块值。
在具体实现中,摇号设备在接收第二区块链反馈的第二区块值之后,可以判断是否存在剩余的候选区块链;当存在剩余的候选区块链时,则将第二区块值作为第一区块值,并返回依据第一区块值,从剩余的候选区块链中选取出第二区块链的步骤;当不存在剩余的候选区块链时,则将第二区块值作为摇号规则中的随机数,并按照摇号规则从所有摇号信息中抽取出摇号结果。
摇号规则可以根据实际需求设定。在具体实现中,可以根据摇号所适用的行业,按照行业执行摇号所设定的摇号规则,将第二区块值作为摇号规则中的随机数,并按照摇号规则从所有摇号信息中抽取出摇号结果。
除了按照行业执行摇号所设定的摇号规则外,在本发明实施例中,也可以自行设定摇号规则,例如,摇号规则可以设定为对最后一条区块链的区块值进行取余运算,以得到余数;将所有摇号信息进行排序,并将余数所对应位数的摇号信息作为摇号结果。
其中,对区块值进行取余运算的方式可以参见S102中对第一区块值进行取余运算的方式,在此不再赘述。
由上述技术方案可以看出,按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;并向第一区块链发送摇号信息;依据第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链。其中,第一区块值依赖于摇号信息以及摇号信息所在区块的交易信息计算得到,提升了区块值的不可预测性。将第一区块值以及摇号信息发送至第二区块链,并接收第二区块链反馈的第二区块值。其中,第二区块值依赖于第一区块值、摇号信息以及摇号信息所在区块的交易信息计算得到。当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果。在该技术方案中,基于多条异构的区块链来串行生成区块值,并且依据上一个区块的区块值决定下一个区块取自哪条区块链,提高了控制输出最后一个区块值的难度,以此来提高摇号结果的不可预测性,从而提升摇号结果的可信性。
图2为本发明实施例提供的一种基于异构区块链的摇号装置的结构示意图,包括选取单元21、发送单元22、接收单元23和确定单元24;
选取单元21,用于按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;
发送单元22,用于向第一区块链发送摇号信息;
选取单元21还用于依据第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链;其中,第一区块值依赖于摇号信息以及摇号信息所在区块的交易信息计算得到;
发送单元22,用于将第一区块值以及摇号信息发送至第二区块链,
接收单元23,用于接收第二区块链反馈的第二区块值;其中,第二区块值依赖于第一区块值、摇号信息以及摇号信息所在区块的交易信息计算得到;
确定单元24,用于当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果。
可选地,确定单元包括判断子单元、作为子单元和抽取子单元;
判断子单元,用于判断是否存在剩余的候选区块链;
作为子单元,用于当存在剩余的候选区块链时,则将第二区块值作为第一区块值,并触发选取单元执行依据第一区块值,从剩余的候选区块链中选取出第二区块链的步骤;
抽取子单元,用于当不存在剩余的候选区块链时,则将第二区块值作为摇号规则中的随机数,并按照摇号规则从所有摇号信息中抽取出摇号结果。
可选地,抽取子单元具体用于对第二区块值进行取余运算,以得到余数;将所有摇号信息进行排序,并将余数所对应位数的摇号信息作为摇号结果。
可选地,选取单元具体用于判断所有候选区块链中是否存在许可链;当所有候选区块链中存在许可链时,则选取出一条许可链作为第一区块链;当所有候选区块链中不存在许可链时,则从所有候选区块链中随机选取出一条区块链作为第一区块链。
图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;并向第一区块链发送摇号信息;依据第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链。其中,第一区块值依赖于摇号信息以及摇号信息所在区块的交易信息计算得到,提升了区块值的不可预测性。将第一区块值以及摇号信息发送至第二区块链,并接收第二区块链反馈的第二区块值。其中,第二区块值依赖于第一区块值、摇号信息以及摇号信息所在区块的交易信息计算得到。当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果。在该技术方案中,基于多条异构的区块链来串行生成区块值,并且依据上一个区块的区块值决定下一个区块取自哪条区块链,提高了控制输出最后一个区块值的难度,以此来提高摇号结果的不可预测性,从而提升摇号结果的可信性。
图3为本发明实施例提供的一种基于异构区块链的摇号***30的结构示意图,包括摇号设备31和多个候选区块链32;
摇号设备31,用于按照预先设定的业务规则,从所有候选区块链32中选取出第一区块链;并向第一区块链发送摇号信息;依据第一区块链反馈的第一区块值,从剩余的候选区块链32中选取出第二区块链;将第一区块值以及摇号信息发送至第二区块链,并接收第二区块链反馈的第二区块值;遍历完所有的候选区块链32时,依据最后一条区块链反馈的区块值确定出摇号结果;
第一区块链,用于依据摇号信息以及摇号信息所在区块的交易信息计算得到第一区块值,并将第一区块值反馈至摇号设备;
第二区块链,用于依据第一区块值、摇号信息以及摇号信息所在区块的交易信息计算得到第二区块值,并将第二区块值反馈至摇号设备。
可选地,第一区块链具体用于对摇号信息以及摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第一区块值;
第二区块链具体用于对第一区块值、摇号信息以及摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第二区块值。
图3所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;并向第一区块链发送摇号信息;依据第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链。其中,第一区块值依赖于摇号信息以及摇号信息所在区块的交易信息计算得到,提升了区块值的不可预测性。将第一区块值以及摇号信息发送至第二区块链,并接收第二区块链反馈的第二区块值。其中,第二区块值依赖于第一区块值、摇号信息以及摇号信息所在区块的交易信息计算得到。当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果。在该技术方案中,基于多条异构的区块链来串行生成区块值,并且依据上一个区块的区块值决定下一个区块取自哪条区块链,提高了控制输出最后一个区块值的难度,以此来提高摇号结果的不可预测性,从而提升摇号结果的可信性。
图4为本发明实施例提供的一种基于异构区块链的摇号设备40的结构示意图,包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序以实现如上述任意实施例所述的基于异构区块链的摇号方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例所述的基于异构区块链的摇号方法的步骤。
以上对本发明实施例所提供的一种基于异构区块链的摇号方法、装置、***、设备和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (7)
1.一种基于异构区块链的摇号方法,其特征在于,包括:
按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;并向所述第一区块链发送摇号信息;
依据所述第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链;其中,所述第一区块值依赖于所述摇号信息以及所述摇号信息所在区块的交易信息计算得到;所述第一区块链用于对所述摇号信息以及所述摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第一区块值;
将所述第一区块值以及所述摇号信息发送至所述第二区块链,并接收所述第二区块链反馈的第二区块值;其中,所述第二区块值依赖于所述第一区块值、所述摇号信息以及所述摇号信息所在区块的交易信息计算得到;所述第二区块链用于对所述第一区块值、所述摇号信息以及所述摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第二区块值;
当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果;
所述当遍历完所有的候选区块链时,则依据最后一条区块链反馈的区块值确定出摇号结果包括:
判断是否存在剩余的候选区块链;
当存在剩余的候选区块链时,则将所述第二区块值作为第一区块值,并返回所述依据所述第一区块值,从剩余的候选区块链中选取出第二区块链的步骤;
当不存在剩余的候选区块链时,则将所述第二区块值作为摇号规则中的随机数,并按照所述摇号规则从所有所述摇号信息中抽取出摇号结果。
2.根据权利要求1所述的基于异构区块链的摇号方法,其特征在于,所述将所述第二区块值作为摇号规则中的随机数,并按照所述摇号规则从所有所述摇号信息中抽取出摇号结果包括:
对所述第二区块值进行取余运算,以得到余数;
将所有所述摇号信息进行排序,并将所述余数所对应位数的摇号信息作为摇号结果。
3.根据权利要求1-2任意一项所述的基于异构区块链的摇号方法,其特征在于,所述按照预先设定的业务规则,从所有候选区块链中选取出第一区块链包括:
判断所有所述候选区块链中是否存在许可链;
当所有所述候选区块链中存在许可链时,则选取出一条许可链作为第一区块链;
当所有所述候选区块链中不存在许可链时,则从所有所述候选区块链中随机选取出一条区块链作为第一区块链。
4.一种基于异构区块链的摇号装置,其特征在于,包括选取单元、发送单元、接收单元和确定单元;
所述选取单元,用于按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;
所述发送单元,用于向所述第一区块链发送摇号信息;
所述选取单元还用于依据所述第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链;其中,所述第一区块值依赖于所述摇号信息以及所述摇号信息所在区块的交易信息计算得到;所述第一区块链用于对所述摇号信息以及所述摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第一区块值;
所述发送单元,用于将所述第一区块值以及所述摇号信息发送至所述第二区块链,
所述接收单元,用于接收所述第二区块链反馈的第二区块值;其中,所述第二区块值依赖于所述第一区块值、所述摇号信息以及所述摇号信息所在区块的交易信息计算得到;所述第二区块链用于对所述第一区块值、所述摇号信息以及所述摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第二区块值;
所述确定单元,用于当遍历完所有的候选区块链时,依据最后一条区块链反馈的区块值确定出摇号结果;
所述确定单元包括判断子单元、作为子单元和抽取子单元;
所述判断子单元,用于判断是否存在剩余的候选区块链;
所述作为子单元,用于当存在剩余的候选区块链时,则将所述第二区块值作为第一区块值,并触发所述选取单元执行所述依据所述第一区块值,从剩余的候选区块链中选取出第二区块链的步骤;
所述抽取子单元,用于当不存在剩余的候选区块链时,则将所述第二区块值作为摇号规则中的随机数,并按照所述摇号规则从所有所述摇号信息中抽取出摇号结果。
5.一种基于异构区块链的摇号***,其特征在于,包括摇号设备和多个候选区块链;
所述摇号设备,用于按照预先设定的业务规则,从所有候选区块链中选取出第一区块链;并向所述第一区块链发送摇号信息;依据所述第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链;将所述第一区块值以及所述摇号信息发送至所述第二区块链,并接收所述第二区块链反馈的第二区块值;在接收第二区块链反馈的第二区块值之后,判断是否存在剩余的候选区块链;当存在剩余的候选区块链时,则将第二区块值作为第一区块值,并返回所述依据所述第一区块链反馈的第一区块值,从剩余的候选区块链中选取出第二区块链的步骤;当不存在剩余的候选区块链时,则将第二区块值作为摇号规则中的随机数,并按照摇号规则从所有摇号信息中抽取出摇号结果;
所述第一区块链,用于依据所述摇号信息以及所述摇号信息所在区块的交易信息计算得到第一区块值,并将所述第一区块值反馈至所述摇号设备;
所述第二区块链,用于依据所述第一区块值、所述摇号信息以及所述摇号信息所在区块的交易信息计算得到第二区块值,并将所述第二区块值反馈至所述摇号设备;
所述第一区块链具体用于对所述摇号信息以及所述摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第一区块值;
所述第二区块链具体用于对所述第一区块值、所述摇号信息以及所述摇号信息所在区块的交易信息进行哈希运算,将得到的默克尔树根哈希值作为第二区块值。
6.一种基于异构区块链的摇号设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至3任意一项所述基于异构区块链的摇号方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任意一项所述基于异构区块链的摇号方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010652705.7A CN111815845B (zh) | 2020-07-08 | 2020-07-08 | 基于异构区块链的摇号方法、装置、***、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010652705.7A CN111815845B (zh) | 2020-07-08 | 2020-07-08 | 基于异构区块链的摇号方法、装置、***、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111815845A CN111815845A (zh) | 2020-10-23 |
CN111815845B true CN111815845B (zh) | 2022-03-15 |
Family
ID=72842965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010652705.7A Active CN111815845B (zh) | 2020-07-08 | 2020-07-08 | 基于异构区块链的摇号方法、装置、***、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111815845B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630609A (zh) * | 2016-02-24 | 2016-06-01 | 杭州复杂美科技有限公司 | 区块链的打包存储方法 |
AU2017101080A4 (en) * | 2017-08-09 | 2017-09-07 | Sniip (Australia) Limited | Method and System for Facilitating a Payment Transaction |
CN107276754A (zh) * | 2017-07-10 | 2017-10-20 | 北京云知科技有限公司 | 一种基于区块链大量生成私钥的方法及装置 |
CN107566124A (zh) * | 2017-08-24 | 2018-01-09 | 深圳市易成自动驾驶技术有限公司 | 基于抽签机制的共识建立方法、区块链***及存储介质 |
CN107679149A (zh) * | 2017-09-26 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | 一种数据处理方法及服务器 |
CN108769057A (zh) * | 2018-06-15 | 2018-11-06 | 北京奇虎科技有限公司 | 基于区块链的身份识别方法及装置 |
CN110968644A (zh) * | 2019-11-29 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法以及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976248A (zh) * | 2016-04-29 | 2016-09-28 | 邓迪 | 一种众筹抽签方法及*** |
CN107103405B (zh) * | 2017-03-22 | 2021-03-19 | 暨南大学 | 一种基于区块链技术的众包***及其建设方法 |
CN107862782B (zh) * | 2017-10-27 | 2020-11-13 | 贝壳找房(北京)科技有限公司 | 基于以太坊区块链的抽签方法及装置 |
CN109886750A (zh) * | 2019-02-25 | 2019-06-14 | 浪潮软件集团有限公司 | 一种基于区块链的透明的随机抽奖实现方法 |
CN110223069A (zh) * | 2019-06-17 | 2019-09-10 | 北京艾摩瑞策科技有限公司 | 基于区块链节点网络的打包方法及装置 |
-
2020
- 2020-07-08 CN CN202010652705.7A patent/CN111815845B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630609A (zh) * | 2016-02-24 | 2016-06-01 | 杭州复杂美科技有限公司 | 区块链的打包存储方法 |
CN107276754A (zh) * | 2017-07-10 | 2017-10-20 | 北京云知科技有限公司 | 一种基于区块链大量生成私钥的方法及装置 |
AU2017101080A4 (en) * | 2017-08-09 | 2017-09-07 | Sniip (Australia) Limited | Method and System for Facilitating a Payment Transaction |
CN107566124A (zh) * | 2017-08-24 | 2018-01-09 | 深圳市易成自动驾驶技术有限公司 | 基于抽签机制的共识建立方法、区块链***及存储介质 |
CN107679149A (zh) * | 2017-09-26 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | 一种数据处理方法及服务器 |
CN108769057A (zh) * | 2018-06-15 | 2018-11-06 | 北京奇虎科技有限公司 | 基于区块链的身份识别方法及装置 |
CN110968644A (zh) * | 2019-11-29 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法以及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111815845A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107770154B (zh) | 基于云存储的区块链可靠数据存储方法、终端及*** | |
CN104580104B (zh) | 身份验证的方法、装置及*** | |
JP6904644B2 (ja) | ブロックチェーンの監視 | |
EP3891952A2 (en) | A node testing method and apparatus for a blockchain system | |
CN111679968A (zh) | 接口调用异常的检测方法、装置、计算机设备及存储介质 | |
CN113645278B (zh) | 一种区块链的跨链消息传输方法、设备、存储介质 | |
CN113438134B (zh) | 请求报文处理方法、装置、服务器及介质 | |
CN110009347B (zh) | 一种区块链交易信息审计的方法及装置 | |
CN114039733A (zh) | 一种针对联盟链的存证业务转移方法、装置及设备 | |
JP7047764B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム | |
CN110505313B (zh) | 一种超级节点选取方法、装置和设备 | |
CN115239450A (zh) | 财务数据处理方法、装置、计算机设备及存储介质 | |
CN111199480A (zh) | 一种风险用户的确定方法及装置 | |
CN111815845B (zh) | 基于异构区块链的摇号方法、装置、***、设备和介质 | |
CN114416490A (zh) | 基于区块链的监控报警方法、装置、电子设备及存储介质 | |
CN110225103B (zh) | 一种业务推荐方法、装置及设备 | |
CN111831641A (zh) | 基于pbft共识的交通数据存储方法及装置 | |
CN107563751A (zh) | 用户认证方法、装置、计算设备及计算机存储介质 | |
CN113239407B (zh) | 区块链决策点的选择方法、装置、电子设备及存储介质 | |
CN108989298A (zh) | 一种设备安全监控方法和装置 | |
CN112685769A (zh) | 区块链的数据处理方法、装置及电子设备 | |
CN113872978B (zh) | 一种dns劫持的监测方法、装置及电子设备 | |
CN117294673B (zh) | 数据资源的处理方法、数据资源的处理装置及存储介质 | |
CN111242456B (zh) | 一种巡检管理方法和装置 | |
CN113656043B (zh) | 一种代码校验方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |