CN109615370A - 对象选取方法及装置、电子设备 - Google Patents
对象选取方法及装置、电子设备 Download PDFInfo
- Publication number
- CN109615370A CN109615370A CN201811249392.XA CN201811249392A CN109615370A CN 109615370 A CN109615370 A CN 109615370A CN 201811249392 A CN201811249392 A CN 201811249392A CN 109615370 A CN109615370 A CN 109615370A
- Authority
- CN
- China
- Prior art keywords
- seed
- block chain
- alternative objects
- random
- data
- 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.)
- Pending
Links
Classifications
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Computational Mathematics (AREA)
- Technology Law (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书一个或多个实施例提供一种对象选取方法及装置、电子设备,应用于区块链节点;所述方法包括:调用用于选取对象的智能合约,所述智能合约用于根据备选对象提供的种子数据生成随机种子,并通过伪随机数发生器生成基于所述随机种子的伪随机数,以使得匹配于所述伪随机数的备选对象被选取为目标对象。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种对象选取方法及装置、电子设备。
背景技术
当某一事件被设定为由预设数量的对象实施时,如果备选对象的数量超出该预设数量,则需要从这些备选对象中进行选择。当这些备选对象对于该事件的实施并无明显区别时,可以从这些备选对象中随机选取上述预设数量的对象。例如,当系统内包含10台设备时,如果希望配置为2台主设备、8台从设备的架构,可以从该10台设备中随机选取2台主设备,则剩余的8台设备为从设备。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种对象选取方法及装置、电子设备。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种对象选取方法,应用于区块链节点;所述方法包括:
调用用于选取对象的智能合约,所述智能合约用于根据备选对象提供的种子数据生成随机种子,并通过伪随机数发生器生成基于所述随机种子的伪随机数,以使得匹配于所述伪随机数的备选对象被选取为目标对象。
根据本说明书一个或多个实施例的第二方面,提出了一种对象选取装置,应用于区块链节点;所述装置包括:
调用单元,调用用于选取对象的智能合约,所述智能合约用于根据备选对象提供的种子数据生成随机种子,并通过伪随机数发生器生成基于所述随机种子的伪随机数,以使得匹配于所述伪随机数的备选对象被选取为目标对象。
根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述实施例中任一所述的方法。
附图说明
图1是一示例性实施例提供的一种对象选取方法的流程图。
图2是一示例性实施例提供的一种摇号选购不动产的示意图。
图3是一示例性实施例提供的一种基于智能合约的摇号过程的示意图。
图4是一示例性实施例提供的一种设备的结构示意图。
图5是一示例性实施例提供的一种对象选取装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
图1是一示例性实施例提供的一种对象选取方法的流程图。如图1所示,该方法应用于区块链节点,可以包括以下步骤:
步骤102,调用用于选取对象的智能合约,所述智能合约用于根据备选对象提供的种子数据生成随机种子,并通过伪随机数发生器生成基于所述随机种子的伪随机数,以使得匹配于所述伪随机数的备选对象被选取为目标对象。
在一实施例中,由于随机种子是基于备选对象提供的种子数据而产生,使得该随机种子具备真正的高度随机性,无法被不法分子预测和设定,使得基于该随机种子产生的伪随机数同样具备高度随机性,从而防止不法分子造假作弊。同时,由于随机种子的生成过程、伪随机数的生成过程均有智能合约实现,而智能合约被存证于区块链中,使得该智能合约的内容公开且不可篡改,使得对于目标对象的选择过程公平、公开、可验证,进一步降低了不法分子造假作弊的可能性。
在一实施例中,所述智能合约用于在每次收到备选对象提供的种子数据后,按照预设算法对所述随机种子实施与所述种子数据相关的更新处理。随机种子的初始取值可以为预设初始值;或者,当收到备选对象提供的第一个种子数据后,可以将该第一个种子数据作为随机种子的初始取值。当随机种子为Z1时,若收到备选对象提供的种子数据1,可以基于预设算法对随机种子Z1和该种子数据1进行计算,使得随机种子被更新为Z2;进一步地,若收到备选对象提供的种子数据2,可以基于预设算法对随机种子Z2和该种子数据2进行计算,使得随机种子被更新为Z3,直至备选对象提供的所有种子数据都参与了对随机种子的更新处理。
在一实施例中,所述智能合约用于在收到备选对象提供的所有种子数据后,对所有种子数据进行拼接,并按照预设算法对所述随机种子的初始取值实施与拼接后数据相关的更新处理;其中,所述随机种子的初始取值为预设初始值。例如,智能合约中可以描述用于接收种子数据的时间段,使得备选对象在该时间段内提供的种子数据,可以用于对随机种子进行更新,则智能合约在该时间段的终止时刻之前,不会对备选对象提供的种子数据进行处理,而是在该终止时刻到达之后,将该时间段内收到的所有种子数据进行拼接后,将拼接后种子数据应用于对随机种子进行更新,比如按照预设算法对该拼接后种子数据与随机种子的初始取值进行计算,从而得到更新后的随机种子。
在一实施例中,随机种子的预设初始值可以包括下述任一:实施赋值操作时(即需要向随机种子赋予该预设初始值的时刻)的时间戳、区块链中的历史区块(例如区块链中最近生成的一个区块)的哈希值、区块链中的历史区块中的指定交易(例如按照交易时刻排列的第a笔交易,a为预设数值)的哈希值。
在一实施例中,上述的预设算法可以包括消息摘要算法,可以计算随机种子与种子数据的哈希值,以作为更新后的随机种子。当然,该预设算法还可以包括其他类型的算法,本说明书并不对此进行限制。
在一实施例中,所述随机种子的取值还与所述种子数据的接收时间戳相关,使得随机种子的取值同时受到种子数据和接收时间戳的影响,可以进一步增加随机种子被更新后的随机性,从而提升对目标对象进行选取时的公平性,避免不法分子造假作弊。
在一实施例中,可以向所述备选对象提供所述智能合约支持的多个备选的伪随机数发生器,以由所述备选用户进行选择,可以进一步体现出公平、公开,并且增加了随机性。例如,可以预先在智能合约中定义多种伪随机数发生器,而备选对象在提供种子数据的同时,还可以提交对伪随机数发生器的选择信息,使得智能合约可以通过统计各个备选对象的选择信息,确定各个伪随机数发生器对应的被选择次数,从而将被选择次数排列于预设名次(如被选择次数排列于第一、被选择次数排列于第三或其他任意名次)的伪随机数发生器应用于生成伪随机数。
在一实施例中,所述智能合约还用于:将所述种子数据和/或所述随机种子存证于区块链中,使得备选用户或监管方可以随时从区块链中对种子数据、随机种子等进行查证,以确保随机种子的更新过程不会发生造假作弊,或者及时发现可能的造假作弊情况。
在一实施例中,所述智能合约还用于:将所述伪随机数存证于区块链中,使得备选用户或监管方可以随时从区块链中对伪随机数、伪随机数发生器与随机种子之间的关系进行验证,以确保伪随机数的生成过程不会发生造假作弊,或者及时发现可能的造假作弊情况。
在一实施例中,所述智能合约还用于:对任一对象的资格注册信息进行验证,并在验证通过后将所述任一对象的资格信息存证于区块链中,以使所述任一对象成为所述备选对象;其中,所述资格注册信息包括所述任一对象的公钥,且所述资格注册信息由所述任一对象的私钥进行签名。通过验证资格注册信息,可以确保备选对象都满足预设要求。由于资格注册信息由私钥进行签名,使得每一对象的身份信息都明确、可追溯,避免暗箱操作。
在一实施例中,所述种子数据由所述备选对象通过私钥进行签名;所述智能合约还用于:对收到的种子数据进行签名验证,以确保备选对象提供的种子数据不会被不法分子篡改。
在一实施例中,备选对象的数量为多个,智能合约可以从这些备选对象中选取部分对象,以作为预设数量的目标对象,该预设数量可以为一个或多个。
在一实施例中,备选对象可以包括任意类型的对象,这取决于所应用的场景,本说明书并不对此进行限制。例如,在向出租车派发叫车任务时,备选对象可以为出租车牌照号,用于为每一叫车任务随机指派一辆出租车;再例如,在配置多台电子设备构成的设备系统时,备选对象可以为设备ID,用于选取指定数量的电子设备以作为主设备。
在一实施例中,每一备选对象可以存在对应的唯一编号,比如该唯一编号可以为备选对象的排序号码等,本说明书并不对此进行限制。通过将基于随机种子生成的伪随机数与各个备选对象对应的唯一编号进行比较,可以确定与伪随机数相同的唯一编号,从而将该唯一编号对应的备选对象选取为目标对象。当然,还可以通过其他方式在伪随机数与备选对象之间进行匹配,从而确定出被选取的目标对象。
在一实施例中,所述智能合约还向链外系统发送通知消息,所述通知消息包含所述目标对象的信息,以指示所述链外系统向所述目标对象赋予预设权限,使得该目标对象可以实施相关操作,而其他未被选取为目标对象的备选对象则不具有该预设权限、无法实施相关操作。
例如,对于需要控制车辆数量的地区,所述链外系统可以包括车辆牌照管理系统,而所述预设权限包括对车辆牌照的选取权限,备选对象为希望选取车辆牌照的用户;那么,目标对象可以选取车辆牌照,而未被选取为目标对象的备选对象则无法选取车辆牌照,从而实现对车辆数量的控制。又例如,对于需要摇号买房的地区,所述链外系统包括不动产管理系统,所述预设权限包括对不动产的选购权限,备选对象为希望选购某一楼盘的不动产的用户;那么,当备选对象的数量超出该楼盘的不动产总数时,可以基于该不动产总数选取目标对象,使得该目标对象可以选购该楼盘的不动产,而未被选取为目标对象的备选对象则无法选购该楼盘的不动产。
为了便于理解,下面以选购不动产时的摇号过程为例,对本说明书的对象选取方案进行描述。图2是一示例性实施例提供的一种摇号选购不动产的示意图;如图2所示,假定用户A希望参与针对某一楼盘的摇号,该用户A可以通过安装有客户端的手机21输入注册摇号资格所需的资格注册信息,比如身份证明材料、存款证明材料、对应于数字身份的公钥、个人资料等(这取决于楼盘开发商或相关法律法规的要求)。类似地,如果用户B希望参与摇号,可以通过安装有客户端的手机22输入注册摇号资格所需的资格注册,其他用户的情况此处不再一一赘述。
设备23被配置为摇号系统的服务端,该设备23一方面与用户A-B等使用的手机21-22等进行交互、以协助其注册摇号资格,另一方面与设备24进行交互。设备24被配置为区块链中的一个区块链节点,基于设备23所提供的信息,可以配置、发布智能合约,并通过调用智能合约以实现摇号资格的注册和摇号操作等。楼盘开发商或摇号公证部门可以对智能合约进行配置,以设定对摇号资格的注册条件、摇号过程包含的各个阶段(如基于时间划分各个阶段或者基于区块链上的区块高度划分各个阶段等)、每一阶段所采取的处理逻辑等,使得该智能合约可以用于实现本说明书的对象选取方案,以完成相应的摇号操作。
假定已完成对智能合约的配置过程,并且该智能合约已被发布至区块链中,那么基于该智能合约可以实现如图3所示的摇号过程,该过程可以包括以下步骤:
步骤301,用户注册摇号资格。
在一实施例中,以上述的用户A为例,该用户A可以通过手机21向设备23提交资格注册信息,并经由设备24向区块链中提交包含该资格注册信息的交易,该交易的类型可以被配置或标记为注册摇号资格的类型。类似地,其他用户也可以通过上述方式注册摇号资格。
除了通过设备24向区块链提交包含资格注册信息的交易之外,用户A也可以通过其他区块链节点向区块链提交包含资格注册信息的交易,比如该手机21可以被配置为一区块链节点,那么用户A可以基于该手机21向区块链提交包含资格注册信息的交易。
上述包含资格注册信息的交易可以被记录至区块链账本中,智能合约可以从区块链账本中进行查询和访问,以获取这些交易中包含的资格注册信息,从而验证相应的用户是否可以获得摇号资格。
在一实施例中,以设备24为例,设备24可以获知智能合约的名称或位置等信息,使得设备24可以直接将资格注册信息发送至智能合约,而智能合约可以针对收到的资格注册信息进行验证,以确定相应的用户是否可以获得摇号资格。
步骤302,智能合约验证用户信息。
在一实施例中,智能合约获得某一用户的资格注册信息后,可以按照预先定义的注册条件对该资格注册信息进行验证,以确定其是否满足该注册条件;如果满足,则判定相应的用户具备摇号资格,否则判定为不具备摇号资格。
在一实施例中,资格注册信息中包含对应用户的公钥和其他个人信息,且资格注册信息应当由用户的私钥进行签名,以确保其内容的真实有效、不可篡改。
步骤303,智能合约将验证结果提交至区块链,以存证于区块链账本中。
在一实施例中,通过将验证结果存证于区块链账本中,使得验证结果透明、可追溯,并且无法随意篡改验证结果,确保对于资格注册信息的验证符合要求,避免暗箱操作。
步骤304,智能合约为通过验证的用户生成资格编号,并将资格编号的分配信息提交至区块链,以存证于区块链账本中。
在一实施例中,智能合约可以通过预设方式生成资格编号,比如按照公钥的取值大小、资格注册信息的接收时刻的早晚等进行排序,并将顺序号作为相应的资格编号。当然,还可以通过其他方式生成资格编号,本说明书并不对此进行限制。
在一实施例中,如果按照公钥的取值大小生成资格编号,智能合约需要等待收到所有用户提交的资格注册信息之后,才能够获得各个用户的公钥,从而为所有通过验证的用户生成资格编号。
在一实施例中,如果按照资格注册信息的接收时刻生成资格编号,智能合约可以在每收到一条资格注册信息后,就为相应的用户生成资格编号。
在一实施例中,假定以时间段来划分各个阶段,智能合约可以定义有用户注册阶段的起始时刻、终止时刻,那么智能合约只针对该起始时刻与终止时刻之间收到的资格注册信息进行资格验证、生成资格编号,而在用户注册阶段之外收到的资格注册信息则判定为无效。
在一实施例中,通过将所有参与摇号的用户对应的资格编号存证于区块链账本中,使得各个用户的资格编号公开、透明、可查询且不可篡改,因而在后续的摇号过程中,可以基于该资格编号准确地确定各个用户是否摇中,具有极高的公平性、公开性和可信度。
步骤305,用户提交种子数据。
与步骤301相类似的,用户A可以将种子数据通过手机21发送至设备23,并经由设备24将种子数据发布至区块链,从而由智能合约从区块链账本中获取该种子数据;或者,当手机21被配置为区块链节点时,可由该手机21将用户A设定的种子数据发布至区块链,并由智能合约从区块链账本中获取该种子数据;或者,设备24可以直接将种子数据发送至智能合约。此处不再一一赘述。
在一实施例中,种子数据可以为用户所提供的任意内容。实际上,正是由于种子数据的内容随意、不可控,使得在基于种子数据对随机种子进行更新时,增加了随机种子的内容随机性,使得随机种子的更新结果不易受到操控,避免不法分子借此操纵摇号过程。
步骤306,智能合约获取种子数据后,实施签名验证。
在一实施例中,智能合约可以读取收到的种子数据的签名信息;如果种子数据未签名,则智能合约无法确定该种子数据的来源,可以判定为签名验证未通过;如果种子数据的签名并不属于步骤302中通过验证的用户,则智能合约可以判定为种子数据的来源不合法,可以判定为签名验证未通过;如果种子数据的签名属于步骤302中通过验证的用户,则智能合约可以进一步判定该种子数据是否为本次摇号过程中首次收到,若非首次收到可以判定为未通过验证,若首次收到则可以判定为通过签名验证。
因此,用户通过自身持有的私钥对种子数据进行签名,便于确认该种子数据的来源,还可以避免对种子数据的重复使用;同时,通过对种子数据进行签名,可以避免不法分子对种子数据进行篡改,防止随机种子的更新结果被操控。
步骤307,智能合约基于种子数据更新随机种子,并将种子数据提交至区块链,以存证于区块链账本中。
在一实施例中,可以基于预设的哈希算法对种子数据和随机种子进行计算,并用计算得到的数值对随机种子进行更新,得到更新后的随机种子。比如该哈希算法可以包括SHA256等,本说明书并不对此进行限制。通过将种子数据应用于对随机种子进行更新,并且该种子数据由参与摇号的用户提供、具有极大的随机性,因而可使随机种子产生随机、不可预先猜测出的变化,可以避免不法分子对随机种子的取值进行操控。
在一实施例中,在针对随机种子进行赋值时,可以选取当前时刻的时间戳,并将该时间戳的哈希值设置为随机种子的初始值。当然,还可以通过其他方式设置随机种子的初始值,本说明书并不对此进行限制。
在一实施例中,步骤305~307对应于种子生成阶段,智能合约中可以定义有该种子生成阶段的起始时刻、终止时刻,以用于划分和限定该种子生成阶段。在该起始时刻与终止时刻之间的时间段内,具有摇号资格的每个用户都可以提供种子数据,比如由用户1~用户n分别提供相应的种子数据1~种子数据n,那么智能合约的处理方式可以为:
一种情况下,智能合约每当收到一个种子数据时,就对随机种子进行更新,直至所有种子数据都被应用于对随机种子实施更新。比如,随机种子在初始时为Z1;当收到种子数据1后,可以将Z1与种子数据1进行哈希计算,并将得到的哈希值更新为随机种子Z2;进一步的,当收到种子数据2后,可以将Z2与种子数据2进行哈希计算,并将得到的哈希值更新为随机种子Z3;……当收到种子数据n后,可以将Zn与种子数据n进行哈希计算,并将得到的哈希值更新为随机种子Zn+1,该随机种子Zn+1被作为最终取值。
另一种情况下,智能合约可以获取在种子生成阶段内收到的所有种子数据,比如种子数据1~种子数据n,并对这些种子数据进行拼接后,得到拼接后种子数据;然后,智能合约可以将该拼接后种子数据与随机种子的初始值进行哈希计算,得到更新后的随机种子。
在一实施例中,智能合约可以将收到的种子数据存证于区块链账本中,该种子数据包含对应用户的签名,可以验证该种子数据的来源,并且防止对该种子数据进行篡改。进一步的,智能合约还可以将各个种子数据与对应的更新前随机种子、更新后随机种子相关联地存证于区块链账本中,以便于用户或监管方进行核对查验,防止不法分子进行篡改。
步骤308,智能合约根据随机种子生成中签号码,并将中签号码发布至区块链,以存证于区块链账本中。
在一实施例中,智能合约中定义有伪随机数发生器,通过向该伪随机数发生器输入随机种子和取值范围,即可生成相应的伪随机数。其中,输入的随机种子可以为经由种子数据更新后得到的最终取值,该随机种子的最终取值受到了种子数据的影响,使得不法分子无法预测或操控,使得伪随机数具有真正的随机特性;同时,输入的取值范围可以为上述步骤中生成的资格编号的取值范围,因而生成的伪随机数为中签号码,可以命中某一资格编号,使得该资格编号对应的用户获得不动产的选购权限。
在一实施例中,通过将中签号码存证于区块链账本上,使得用户或监管方可以随时进行查证核验,避免不法分子进行篡改。以用户A为例,用户A可以通过手机21向设备23发起查询请求,设备23可以通过设备24对区块链账本进行查询,并将查询到的摇号结果返回手机21,以由用户A进行查看,确保自己是否具备不动产的选购权限;类似地,当用户A对摇号过程存在异议时,同样可以通过上述过程,对区块链账本中的相关数据进行追溯查询,整个过程及其产生的数据均公开透明。
图4是一示例性实施例提供的一种设备的示意结构图。请参考图4,在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行,在逻辑层面上形成对象选取装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图5,在软件实施方式中,该对象选取装置应用于区块链节点;该装置可以包括:
调用单元51,调用用于选取对象的智能合约,所述智能合约用于根据备选对象提供的种子数据生成随机种子,并通过伪随机数发生器生成基于所述随机种子的伪随机数,以使得匹配于所述伪随机数的备选对象被选取为目标对象。
可选的,所述智能合约用于在每次收到备选对象提供的种子数据后,按照预设算法对所述随机种子实施与所述种子数据相关的更新处理;其中,所述随机种子的初始取值为预设初始值或首个由备选对象提供的种子数据。
可选的,所述智能合约用于在收到备选对象提供的所有种子数据后,对所有种子数据进行拼接,并按照预设算法对所述随机种子的初始取值实施与拼接后数据相关的更新处理;其中,所述随机种子的初始取值为预设初始值。
可选的,所述预设初始值包括下述任一:实施赋值操作时的时间戳、区块链中的历史区块的哈希值、区块链中的历史区块中的指定交易的哈希值。
可选的,所述随机种子的取值还与所述种子数据的接收时间戳相关。
可选的,还包括:
提供单元52,向所述备选对象提供所述智能合约支持的多个备选的伪随机数发生器,以由所述备选用户进行选择。
可选的,所述智能合约还用于:将所述种子数据和/或所述随机种子存证于区块链中。
可选的,所述智能合约还用于:将所述伪随机数存证于区块链中。
可选的,所述智能合约还用于:对任一对象的资格注册信息进行验证,并在验证通过后将所述任一对象的资格信息存证于区块链中,以使所述任一对象成为所述备选对象;其中,所述资格注册信息包括所述任一对象的公钥,且所述资格注册信息由所述任一对象的私钥进行签名。
可选的,所述种子数据由所述备选对象通过私钥进行签名;所述智能合约还用于:对收到的种子数据进行签名验证。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (21)
1.一种对象选取方法,应用于区块链节点;所述方法包括:
调用用于选取对象的智能合约,所述智能合约用于根据备选对象提供的种子数据生成随机种子,并通过伪随机数发生器生成基于所述随机种子的伪随机数,以使得匹配于所述伪随机数的备选对象被选取为目标对象。
2.根据权利要求1所述的方法,所述智能合约用于在每次收到备选对象提供的种子数据后,按照预设算法对所述随机种子实施与所述种子数据相关的更新处理;其中,所述随机种子的初始取值为预设初始值或首个由备选对象提供的种子数据。
3.根据权利要求1所述的方法,所述智能合约用于在收到备选对象提供的所有种子数据后,对所有种子数据进行拼接,并按照预设算法对所述随机种子的初始取值实施与拼接后数据相关的更新处理;其中,所述随机种子的初始取值为预设初始值。
4.根据权利要求2或3所述的方法,所述预设初始值包括下述任一:实施赋值操作时的时间戳、区块链中的历史区块的哈希值、区块链中的历史区块中的指定交易的哈希值。
5.根据权利要求1所述的方法,所述随机种子的取值还与所述种子数据的接收时间戳相关。
6.根据权利要求1所述的方法,还包括:
向所述备选对象提供所述智能合约支持的多个备选的伪随机数发生器,以由所述备选用户进行选择。
7.根据权利要求1所述的方法,所述智能合约还用于:将所述种子数据和/或所述随机种子存证于区块链中。
8.根据权利要求1所述的方法,所述智能合约还用于:将所述伪随机数存证于区块链中。
9.根据权利要求1所述的方法,所述智能合约还用于:对任一对象的资格注册信息进行验证,并在验证通过后将所述任一对象的资格信息存证于区块链中,以使所述任一对象成为所述备选对象;其中,所述资格注册信息包括所述任一对象的公钥,且所述资格注册信息由所述任一对象的私钥进行签名。
10.根据权利要求9所述的方法,所述种子数据由所述备选对象通过私钥进行签名;所述智能合约还用于:对收到的种子数据进行签名验证。
11.一种对象选取装置,应用于区块链节点;所述装置包括:
调用单元,调用用于选取对象的智能合约,所述智能合约用于根据备选对象提供的种子数据生成随机种子,并通过伪随机数发生器生成基于所述随机种子的伪随机数,以使得匹配于所述伪随机数的备选对象被选取为目标对象。
12.根据权利要求11所述的装置,所述智能合约用于在每次收到备选对象提供的种子数据后,按照预设算法对所述随机种子实施与所述种子数据相关的更新处理;其中,所述随机种子的初始取值为预设初始值或首个由备选对象提供的种子数据。
13.根据权利要求11所述的装置,所述智能合约用于在收到备选对象提供的所有种子数据后,对所有种子数据进行拼接,并按照预设算法对所述随机种子的初始取值实施与拼接后数据相关的更新处理;其中,所述随机种子的初始取值为预设初始值。
14.根据权利要求12或13所述的装置,所述预设初始值包括下述任一:实施赋值操作时的时间戳、区块链中的历史区块的哈希值、区块链中的历史区块中的指定交易的哈希值。
15.根据权利要求11所述的装置,所述随机种子的取值还与所述种子数据的接收时间戳相关。
16.根据权利要求11所述的装置,还包括:
提供单元,向所述备选对象提供所述智能合约支持的多个备选的伪随机数发生器,以由所述备选用户进行选择。
17.根据权利要求11所述的装置,所述智能合约还用于:将所述种子数据和/或所述随机种子存证于区块链中。
18.根据权利要求11所述的装置,所述智能合约还用于:将所述伪随机数存证于区块链中。
19.根据权利要求11所述的装置,所述智能合约还用于:对任一对象的资格注册信息进行验证,并在验证通过后将所述任一对象的资格信息存证于区块链中,以使所述任一对象成为所述备选对象;其中,所述资格注册信息包括所述任一对象的公钥,且所述资格注册信息由所述任一对象的私钥进行签名。
20.根据权利要求19所述的装置,所述种子数据由所述备选对象通过私钥进行签名;所述智能合约还用于:对收到的种子数据进行签名验证。
21.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-10中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811249392.XA CN109615370A (zh) | 2018-10-25 | 2018-10-25 | 对象选取方法及装置、电子设备 |
TW108109326A TW202016827A (zh) | 2018-10-25 | 2019-03-19 | 對象選取方法及裝置、電子設備 |
PCT/CN2019/101681 WO2020082873A1 (zh) | 2018-10-25 | 2019-08-21 | 对象选取方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811249392.XA CN109615370A (zh) | 2018-10-25 | 2018-10-25 | 对象选取方法及装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109615370A true CN109615370A (zh) | 2019-04-12 |
Family
ID=66002979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811249392.XA Pending CN109615370A (zh) | 2018-10-25 | 2018-10-25 | 对象选取方法及装置、电子设备 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN109615370A (zh) |
TW (1) | TW202016827A (zh) |
WO (1) | WO2020082873A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110572477A (zh) * | 2019-09-26 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种优先级评判方法及其相关设备 |
CN110910559A (zh) * | 2019-11-25 | 2020-03-24 | 杭州趣链科技有限公司 | 一种基于区块链的抽奖方法 |
WO2020082873A1 (zh) * | 2018-10-25 | 2020-04-30 | 阿里巴巴集团控股有限公司 | 对象选取方法及装置、电子设备 |
WO2020082883A1 (zh) * | 2018-10-26 | 2020-04-30 | 阿里巴巴集团控股有限公司 | 对象选取方法及装置、电子设备 |
US10735189B2 (en) | 2019-07-01 | 2020-08-04 | Alibaba Group Holding Limited | Data exchange for multi-party computation |
CN111708762A (zh) * | 2020-06-18 | 2020-09-25 | 北京金山云网络技术有限公司 | 一种权限认证方法、装置及服务端设备 |
CN112131587A (zh) * | 2020-09-21 | 2020-12-25 | 杭州云象网络技术有限公司 | 一种智能合约伪随机数安全检验方法、系统、介质和装置 |
CN112131307A (zh) * | 2020-07-15 | 2020-12-25 | 北京天德科技有限公司 | 一种新型多区块链与多智能合约交互架构 |
WO2021000574A1 (zh) * | 2019-07-01 | 2021-01-07 | 创新先进技术有限公司 | 数据交互方法、装置、服务器和电子设备 |
CN112653652A (zh) * | 2019-10-11 | 2021-04-13 | 中移物联网有限公司 | 流媒体传输方法、装置、终端及计算机可读存储介质 |
CN112751846A (zh) * | 2020-12-28 | 2021-05-04 | 杭州趣链科技有限公司 | 基于区块链的电子游戏随机奖励控制方法、装置及设备 |
CN115083062A (zh) * | 2022-07-22 | 2022-09-20 | 阿里健康科技(杭州)有限公司 | 信息处理方法、信息发送方法、计算机设备及存储介质 |
WO2022198652A1 (zh) * | 2021-03-26 | 2022-09-29 | 华为技术有限公司 | 随机数生成装置及生成方法、随机数生成系统、芯片 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2597955A (en) * | 2020-08-11 | 2022-02-16 | Nchain Holdings Ltd | Pseudo-ramdom selection on the blockchain |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414918A (zh) * | 2007-10-17 | 2009-04-22 | 北京搜狐新媒体信息技术有限公司 | 一种随机数据在线生成方法、装置和系统 |
CN107742352A (zh) * | 2017-09-20 | 2018-02-27 | 黄玉宇 | 基于区块链及智能合约的去中心化抽签/排队方法及系统 |
CN107820690A (zh) * | 2017-08-21 | 2018-03-20 | 达闼科技成都有限公司 | 信息选取方法、装置、电子设备及计算机可读存储介质 |
CN107862782A (zh) * | 2017-10-27 | 2018-03-30 | 链家网(北京)科技有限公司 | 基于以太坊区块链的抽签方法及装置 |
CN108648323A (zh) * | 2018-05-10 | 2018-10-12 | 广州市申迪计算机系统有限公司 | 目标信息的选取方法、装置、计算机设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10795658B2 (en) * | 2017-03-20 | 2020-10-06 | Fujitsu Limited | Updatable random functions |
CN108170403B (zh) * | 2017-12-29 | 2021-06-25 | 北京欧链科技有限公司 | 数据筛选方法和装置 |
CN109615370A (zh) * | 2018-10-25 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 对象选取方法及装置、电子设备 |
-
2018
- 2018-10-25 CN CN201811249392.XA patent/CN109615370A/zh active Pending
-
2019
- 2019-03-19 TW TW108109326A patent/TW202016827A/zh unknown
- 2019-08-21 WO PCT/CN2019/101681 patent/WO2020082873A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414918A (zh) * | 2007-10-17 | 2009-04-22 | 北京搜狐新媒体信息技术有限公司 | 一种随机数据在线生成方法、装置和系统 |
CN107820690A (zh) * | 2017-08-21 | 2018-03-20 | 达闼科技成都有限公司 | 信息选取方法、装置、电子设备及计算机可读存储介质 |
CN107742352A (zh) * | 2017-09-20 | 2018-02-27 | 黄玉宇 | 基于区块链及智能合约的去中心化抽签/排队方法及系统 |
CN107862782A (zh) * | 2017-10-27 | 2018-03-30 | 链家网(北京)科技有限公司 | 基于以太坊区块链的抽签方法及装置 |
CN108648323A (zh) * | 2018-05-10 | 2018-10-12 | 广州市申迪计算机系统有限公司 | 目标信息的选取方法、装置、计算机设备和存储介质 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020082873A1 (zh) * | 2018-10-25 | 2020-04-30 | 阿里巴巴集团控股有限公司 | 对象选取方法及装置、电子设备 |
WO2020082883A1 (zh) * | 2018-10-26 | 2020-04-30 | 阿里巴巴集团控股有限公司 | 对象选取方法及装置、电子设备 |
WO2021000574A1 (zh) * | 2019-07-01 | 2021-01-07 | 创新先进技术有限公司 | 数据交互方法、装置、服务器和电子设备 |
US10735189B2 (en) | 2019-07-01 | 2020-08-04 | Alibaba Group Holding Limited | Data exchange for multi-party computation |
US10924273B2 (en) | 2019-07-01 | 2021-02-16 | Advanced New Technologies Co., Ltd. | Data exchange for multi-party computation |
CN110572477A (zh) * | 2019-09-26 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种优先级评判方法及其相关设备 |
CN112653652A (zh) * | 2019-10-11 | 2021-04-13 | 中移物联网有限公司 | 流媒体传输方法、装置、终端及计算机可读存储介质 |
CN110910559A (zh) * | 2019-11-25 | 2020-03-24 | 杭州趣链科技有限公司 | 一种基于区块链的抽奖方法 |
CN111708762A (zh) * | 2020-06-18 | 2020-09-25 | 北京金山云网络技术有限公司 | 一种权限认证方法、装置及服务端设备 |
CN111708762B (zh) * | 2020-06-18 | 2023-09-01 | 北京金山云网络技术有限公司 | 一种权限认证方法、装置及服务端设备 |
CN112131307B (zh) * | 2020-07-15 | 2021-05-25 | 北京天德科技有限公司 | 一种新型多区块链与多智能合约交互架构 |
CN112131307A (zh) * | 2020-07-15 | 2020-12-25 | 北京天德科技有限公司 | 一种新型多区块链与多智能合约交互架构 |
CN112131587A (zh) * | 2020-09-21 | 2020-12-25 | 杭州云象网络技术有限公司 | 一种智能合约伪随机数安全检验方法、系统、介质和装置 |
CN112131587B (zh) * | 2020-09-21 | 2024-07-12 | 杭州云象网络技术有限公司 | 一种智能合约伪随机数安全检验方法、系统、介质和装置 |
CN112751846A (zh) * | 2020-12-28 | 2021-05-04 | 杭州趣链科技有限公司 | 基于区块链的电子游戏随机奖励控制方法、装置及设备 |
CN112751846B (zh) * | 2020-12-28 | 2022-09-06 | 杭州趣链科技有限公司 | 基于区块链的电子游戏随机奖励控制方法、装置及设备 |
WO2022198652A1 (zh) * | 2021-03-26 | 2022-09-29 | 华为技术有限公司 | 随机数生成装置及生成方法、随机数生成系统、芯片 |
CN115083062A (zh) * | 2022-07-22 | 2022-09-20 | 阿里健康科技(杭州)有限公司 | 信息处理方法、信息发送方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TW202016827A (zh) | 2020-05-01 |
WO2020082873A1 (zh) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109615370A (zh) | 对象选取方法及装置、电子设备 | |
CN111460511B (zh) | 基于隐私保护的联邦学习、虚拟对象分配方法和装置 | |
CN111882745B (zh) | 对象选取方法及装置、电子设备 | |
TWI695331B (zh) | 基於區塊鏈的隨機物件選取方法和裝置 | |
CN108985644A (zh) | 权益分配方法及装置、电子设备 | |
US20210203481A1 (en) | Systems and methods for storage, generation and verification of tokens used to control access to a resource | |
CN111818185B (zh) | 启动智能合约的方法及装置、电子设备、存储介质 | |
CN109600366A (zh) | 基于区块链的保护用户数据隐私的方法及装置 | |
KR102090025B1 (ko) | 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템 및 이를 이용한 블록체인 생성방법 | |
CN108600163B (zh) | 一种云环境分布式哈希链架构及云数据完整性验证方法 | |
CN110046523B (zh) | 智能合约校验方法及装置和电子设备 | |
CN108831001B (zh) | 基于区块链的节点随机选取方法、系统、节点、电子设备 | |
CN110597916B (zh) | 基于区块链的数据处理方法、装置、存储介质及终端 | |
CN109242677A (zh) | 对象选取方法及装置、电子设备 | |
KR102525157B1 (ko) | 검증가능한 추첨을 위한 장치 및 방법 | |
CN111177797A (zh) | 基于区块链的数据处理方法及装置、电子设备 | |
CN113221191B (zh) | 基于区块链的数据存证方法、装置、设备和存储介质 | |
CN110737723B (zh) | 卡券领取方法、装置、设备及存储介质 | |
CN109146146A (zh) | 事件预测方法及装置、电子设备 | |
CN109102113A (zh) | 事件预测方法及装置、电子设备 | |
CN109327311A (zh) | 一种哈希时间戳创建方法、设备及可读存储介质 | |
CN109598365A (zh) | 事件预测方法及装置、电子设备 | |
CN109146147A (zh) | 事件预测方法及装置、电子设备 | |
US20220060332A1 (en) | Energized identity powered blockchain | |
CN113761496A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190412 |
|
RJ01 | Rejection of invention patent application after publication |