一种基于区块链的随机对象选取方法和装置制造方法及图纸

技术编号:20391575 阅读:19 留言:0更新日期:2019-02-20 03:31
本说明书的一个或多个实施例提供了一种基于区块链的随机对象选取方法和装置,应用于包含多个参选对象节点的区块链,所述方法包括:接收多个参选对象节点在第一时段内向所述区块链的分布式数据库发布的参选交易,所述参选交易基于所述参选对象节点确定的对象参考数生成;根据预设的计算规则,基于指定事件的特征值和参选交易对应的对象参考数分别计算多个参选对象节点对应的值,其中,所述指定事件的特征值为根据预设的映射算法,对发生在所述第一时段之后的指定事件计算所得的特征值,所述指定事件的特征值在所述指定事件发生之前不可被预知;根据预设的选取规则,基于所述多个参选对象节点对应的值选取参选对象节点。

【技术实现步骤摘要】
一种基于区块链的随机对象选取方法和装置
本说明书涉及数据处理
,尤其涉及一种基于区块链的随机对象选取方法和装置。
技术介绍
随机对象选取常用在计算机随机分配资源、随机分配任务或其他任意所需的业务场景下,基于一台计算机或服务器的随机对象选取方法难以确保随机选取过程的公平性和可验证性,因为一台计算机或服务器所施行的选取方法极易被人为操控,难以做到真正的“随机”选取,而且外界在事中和事后都难以监测和验证其施行的选取方法是否没有被操控。
技术实现思路
有鉴于此,本说明书一个或多个实施例提供一种基于区块链的随机对象选取方法及装置、电子设备。为实现上述目的,本说明书一个或多个实施例提供技术方案如下:根据本说明书一个或多个实施例的第一方面,提出了一种基于区块链的随机对象选取方法,应用于包含多个参选对象节点的区块链,所述方法包括:接收多个参选对象节点在第一时段内向所述区块链的分布式数据库发布的参选交易,所述参选交易基于所述参选对象节点确定的对象参考数生成;根据预设的计算规则,基于指定事件的特征值和参选交易对应的对象参考数分别计算多个参选对象节点对应的值,其中,所述指定事件的特征值为根据预设的映射算法,对发生在所述第一时段之后的指定事件计算所得的特征值,所述指定事件的特征值在所述指定事件发生之前不可被预知;根据预设的选取规则,基于所述多个参选对象节点对应的值选取参选对象节点。根据本说明书一个或多个实施例的第二方面,提出了一种基于区块链的随机对象选取装置,应用于包含多个参选对象节点的区块链,所述装置包括:接收单元,接收多个参选对象节点在第一时段内向所述区块链的分布式数据库发布的参选交易,所述参选交易基于所述参选对象节点确定的对象参考数生成;计算单元,根据预设的计算规则,基于指定事件的特征值和参选交易对应的对象参考数分别计算多个参选对象节点对应的值,其中,所述指定事件的特征值为根据预设的映射算法,对发生在所述第一时段之后的指定事件计算所得的特征值,所述指定事件的特征值在所述指定事件发生之前不可被预知;选取单元,根据预设的选取规则,基于所述多个参选对象节点对应的值选取参选对象节点。相应的,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述基于区块链的随机对象选取方法所述的步骤。本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述基于区块链的随机对象选取方法所述的步骤。由以上技术方案可见,本说明书提供的基于区块链的随机对象选取方法及装置,依赖于参选对象提供的对象参考数和之后发生的、不可被预测的、指定事件的特征值进行计算,从而保证了选取过程免除了人为操纵、更改结果的可能性:基于区块链技术的分布式数据库存储机制,参选对象所选择发布的对象参考数被去中心化地记录或存证在区块链的所有节点中,且基于区块链的共识机制,每个参选对象所发布的对象参考数不会在提供后被篡改,防止选取过程通过修改参选对象的对象参考数进行操控;进一步地,指定事件只有在对象参考数提供阶段结束后才会发生,且其特征值在指定事件发生前是不可预测的,这样参选对象无法基于预设的规则和该特征值进行预测算以选取合适的对象参考数,从而保证该对象参考数的提供是真正随机的,进而保证了整个随机对象选取过程的随机性和公平性,而且事中和事后外界都可以监测和验证过程中的每一步。附图说明图1为本说明书所提供的一实施例所示的基于区块链的随机对象选取方法的流程图;图2为本说明书一示例性实施例提供的随机对象选取方法的过程示意图;图3为本说明书所提供的一实施例提供的基于区块链的随机对象选取装置的示意图;图4为运行本说明书所提供的基于区块链的随机对象选取装置实施例的一种硬件结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。如图1所示,本说明书一示意性实施例提供了一种基于区块链的随机对象选取方法,应用于包含多个参选对象节点的区块链,所述方法包括:步骤102,接收多个参选对象节点在第一时段内向所述区块链的分布式数据库发布的参选交易,所述参选交易基于所述参选对象节点所选择的对象参考数生成。上述实施例所述的区块链,具体可指一个各节点通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的数据分布在时间上相连的一个个“区块(block)”之内,后一区块包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。本领域的技术人员熟知,由于区块链系统在相应共识机制下运行,已收录至区块链数据库内的数据很难被任意的节点篡改,例如采用Pow共识的区块链,至少需要全网51%算力的攻击才有可能篡改已有数据,因此区块链系统有着其他中心化数据库系统所法比拟的保证数据安全、防攻击篡改的特性。由此可知,在本说明书所提供的实施例中,被收录至区块链的分布式数据库中的数据不会被攻击或篡改,从而保证了所述参选对象节点所选择的对象参考数的真实性。上述实施例所述的参选对象节点可以为参与本说明书所述的随机对象选取过程的区块链节点、区块链轻节点,还可以为与区块链的节点连接的其他设备终端或客户端,在本说明书中不作限定。另外,为方便描述本说明书各实施例提供的随机对象选取方法所基于的区块链技术,本说明书所述的“区块链节点”或“节点”可以包括区块链网络中的节点设备、轻节点设备、其他设备终端或客户端,以下不再赘述。上述实施例所述的参选对象节点确定的对象参考数可以是参选对象确定或选取的任意数值,在本说明书中不作限定。参选交易基于上述对象参考数生成,在本说明书中所描述的交易(transaction),是指用户通过区块链的客户端创建,并需要最终发布至区块链的分布式数据库中的一笔数据。其中,区块链中的交易,存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔具有业务意图的业务数据;例如,本说明书的上述实施例所述的发布至上述区块链中的、基于对象参考数生成的参与本次随机对象选取过程的一笔或多笔数据,上述参选交易还可以有着既定的数据内容格式,在本说明书中不作限定。上述实施例所述的第一时段,可以为有着具体物理起始时刻和物理结束时刻的一段物理时间,也可以为以具有逻辑先后顺序的两个事件所确定的起始时刻和解决时刻的一段逻本文档来自技高网...

【技术保护点】
1.一种基于区块链的随机对象选取方法,应用于包含多个参选对象节点的区块链,所述方法包括:接收多个参选对象节点在第一时段内向所述区块链的分布式数据库发布的参选交易,所述参选交易基于所述参选对象节点确定的对象参考数生成;根据预设的计算规则,基于指定事件的特征值和参选交易对应的对象参考数分别计算多个参选对象节点对应的值,其中,所述指定事件的特征值为根据预设的映射算法,对发生在所述第一时段之后的指定事件计算所得的特征值,所述指定事件的特征值在所述指定事件发生之前不可被预知;根据预设的选取规则,基于所述多个参选对象节点对应的值选取参选对象节点。

【技术特征摘要】
1.一种基于区块链的随机对象选取方法,应用于包含多个参选对象节点的区块链,所述方法包括:接收多个参选对象节点在第一时段内向所述区块链的分布式数据库发布的参选交易,所述参选交易基于所述参选对象节点确定的对象参考数生成;根据预设的计算规则,基于指定事件的特征值和参选交易对应的对象参考数分别计算多个参选对象节点对应的值,其中,所述指定事件的特征值为根据预设的映射算法,对发生在所述第一时段之后的指定事件计算所得的特征值,所述指定事件的特征值在所述指定事件发生之前不可被预知;根据预设的选取规则,基于所述多个参选对象节点对应的值选取参选对象节点。2.根据权利要求1所述的方法,所述根据预设的计算规则,基于指定事件的特征值和参选交易对应的对象参考数分别计算多个参选对象节点对应的值,根据预设的选取规则,基于所述多个参选对象节点对应的值选取参选对象节点,包括:调用发布在所述区块链上的智能合约,执行所述智能合约中声明的与所述计算规则和所述选取规则对应的执行程序,基于指定事件的特征值和参选交易对应的对象参考数分别计算多个参选对象节点对应的值,并基于所述多个参选对象节点对应的值选取参选对象节点。3.根据权利要求1所述的方法,所述接收多个参选对象节点在第一时段内向所述区块链的分布式数据库发布的参选交易,包括:接收多个参选对象节点在所述第一时段的第一分时段内向所述区块链的分布式数据库发布的第一参选交易,所述第一参选交易包含加密后的对象参考数;接收多个参选对象节点在所述第一时段的第二分时段内向所述区块链的分布式数据库内发布的第二参选交易,所述第二参选交易包含解密后的对象参考数;其中,所述第二分时段为所述第一分时段结束后的时段,所述加密后的对象参考数可被所述解密后的对象参考数证明。4.根据权利要求3所述的方法,所述根据预设的计算规则,基于指定事件的特征值和参选交易对应的对象参考数分别计算多个参选对象节点对应的值,根据预设的选取规则,基于所述多个参选对象节点对应的值选取参选对象节点,包括:调用发布在所述区块链上的智能合约,执行所述智能合约中声明的与所述计算规则和所述选取规则对应的执行程序,基于指定事件的特征值和所述第二参选交易对应的对象参考数,分别计算多个参选对象节点对应的值,并基于所述多个参选对象节点对应的值选取参选对象节点。5.根据权利要求4所述的方法,所述智能合约设置有白名单;所述基于指定事件的特征值和所述第二参选交易对应的对象参考数,分别计算多个参选对象节点对应的值,包括:基于指定事件的特征值和所述白名单所包括的参选对象节点发布的第二参选交易所对应的对象参考数,分别计算所述白名单内包含的参选对象节点对应的值。6.根据权利要求5所述的方法,在接收多个参选对象节点在所述第一时段的第一分时段内向所述区块链的分布式数据库发布的第一参选交易之后,还包括:调用所述智能合约,执行所述智能合约中声明的交易验证程序,验证所述第一参选交易是否合法,并将合法的第一参选交易对应的参选对象加入到所述智能合约的白名单。7.根据权利要求5或6所述的方法,在接收多个参选对象节点在所述第一时段的第二分时段内向所述区块链的分布式数据库内发布的第二参选交易之后,还包括:调用所述智能合约,执行所述智能合约中声明的对象参考数验证程序,验证所述白名单内的参选对象所发布的第二参选交易所包含的对象参考数是否可验证所述第一参选交易所包含的对象参考数密文,并将不可验证的第二参选交易对应的参选对象从所述智能合约的白名单中去除。8.根据权利要求1至6中任一权利要求所述的方法,所述指定事件的特征值为所述区块链在所述第一时段之后产生的指定区块的哈希值。9.根据权利要求1至6中任一权利要求所述的方法,所述第一时段为与所述区块链的区块高度相关的逻辑时段。10.根据权利要求3至6中任一权利要求所述的方法,所述对象参考数为随机数,所述加密后...

【专利技术属性】
技术研发人员:张文彬
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1