基于区块链的数据筛选方法和装置制造方法及图纸

技术编号:18553220 阅读:13 留言:0更新日期:2018-07-28 10:31
本发明专利技术实施例提供一种基于区块链的数据筛选方法和装置,其中,方法包括:接收多个数据提供方提交的数据承诺并按数据承诺中携带的数据编号划分形成承诺组存储至区块链中,接收数据承诺中欲提交的源随机数并存储至区块链中;以承诺组为单位,对源随机数进行承诺验证;如果计算得到的承诺组中所有承诺值均与数据承诺中的承诺值对应相同,则接受该承诺组中的源随机数,以作为计算一个随机数所需的源随机数。本发明专利技术实施例的方案能够防止个别数据提供方所提交的源随机数是监测到其他数据提供方上传的源随机数之后提交的,存在作弊的可能,从而确保基于源随机数生成的随机数的随机性。

【技术实现步骤摘要】
基于区块链的数据筛选方法和装置
本申请涉及计算机
,尤其涉及一种基于区块链的数据筛选方法和装置。
技术介绍
传统的网络环境中,随机数都由各自的硬件环境生成,但是在区块链环境中,各个节点、账户之间缺少信任机制,因此均不可能信任任意一个节点、账户提供的随机数的随机性。随机数本身是一种数据资源,在很多领域都有应用,例如,对于多个主体之间的抽签或者随机分配等机制中的应用。例如,机动车购买的摇号,比赛的分组的抽签、彩票等领域,这些都会使用到随机数。随机数最重要的特性在于要保证其产生的随机性,不能受到任何人的操控。如果某个节点提供的并不是随机数,而是在获得了一定信息的条件下,生成的有目的性的随机数,那么这个随机数就有可能影响到最终所应用事项的结果。比如,节点可以通过有限次的实验来生成对其有利结果的随机数,这样也是不公平的。
技术实现思路
本专利技术提供了一种基于区块链的数据筛选方法和装置,能够防止个别数据提供方所提交的源随机数是监测到其他数据提供方上传的源随机数之后提交的,存在作弊的可能,从而确保基于源随机数生成的随机数的随机性。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,提供了一种基于区块链的数据筛选方法,包括:接收多个数据提供方提交的数据承诺,所述数据承诺中携带所述数据提供方欲提交的源随机数所对应的所述源随机数经不可逆算法计算得到的承诺值以及数据编号,每个所述数据编号用于唯一标识所述数据提供方提交的一个所述数据承诺;将各所述数据承诺按所述数据编号划分形成承诺组存储至区块链中,且每个所述数据提供方提交的同一所述数据编号仅包含在一个所述承诺组中,每个所述承诺组中包括指定数目的所述数据承诺;接收所述多个数据提供方提交的所述数据承诺中欲提交的源随机数,并将所述源随机数存储至区块链中;以所述承诺组为单位,对各承诺组中的所述数据提供方提交的所述源随机数经所述不可逆算法进行承诺验证;如果承诺验证后确定:计算得到的所述承诺组中所有承诺值均与所述数据提供方提交的所述数据承诺中的承诺值对应相同,则接受该承诺组中所述数据提供方提交的源随机数,以作为计算一个所述随机数所需的所述源随机数。第二方面,提供了一种基于区块链的数据筛选装置,包括:承诺接收模块,用于接收多个数据提供方提交的数据承诺,所述数据承诺中携带所述数据提供方欲提交的源随机数所对应的所述源随机数经不可逆算法计算得到的承诺值以及数据编号,每个所述数据编号用于唯一标识所述数据提供方提交的一个所述数据承诺;承诺存储模块,用于将各所述数据承诺按所述数据编号划分形成承诺组存储至区块链中,且每个所述数据提供方提交的同一所述数据编号仅包含在一个所述承诺组中,每个所述承诺组中包括指定数目的所述数据承诺;源随机数存储模块,用于接收所述多个数据提供方提交的所述数据承诺中欲提交的源随机数,并将所述源随机数存储至区块链中;承诺验证模块,用于以所述承诺组为单位,对各承诺组中的所述数据提供方提交的所述源随机数经所述不可逆算法进行承诺验证;如果承诺验证后确定:计算得到的所述承诺组中所有承诺值均与所述数据提供方提交的所述数据承诺中的承诺值对应相同,则接受该承诺组中所述数据提供方提交的源随机数,以作为计算一个所述随机数所需的所述源随机数。本专利技术提供的基于区块链的数据筛选方法和装置,以“数据承诺”的方式对数据提供方提交的源随机数进行承诺验证,以防止个别数据提供方所提交的源随机数是监测到其他数据提供方上传的源随机数之后提交的,存在作弊的可能,从而确保基于源随机数计算生成的随机数的随机性。上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本专利技术实施例的随机数的生成逻辑示意图;图2为本专利技术实施例的筛选用于计算随机数的各源随机数的原理图;图3为本专利技术实施例示出的基于区块链的数据筛选方法流程图一;图4为本专利技术实施例示出的基于区块链的数据筛选方法流程图二;图5为本专利技术实施例示出的基于区块链的数据筛选方法流程图三;图6为本专利技术实施例示出的基于区块链的数据筛选装置的结构示意图一;图7为本专利技术实施例示出的基于区块链的数据筛选装置的结构示意图二;图8为本专利技术实施例示出的基于区块链的数据筛选装置的结构示意图三。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本方案改善了现有技术中,随机数的生成为由数据提供方各自的硬件环境生成,但是在区块链环境中,各个节点、账户之间由于缺少信任机制,因此均不可能信任任意一个节点、账户提供的随机数的随机性的缺陷。其核心思想是基于各个数据提供方提交的源随机数,对这些源随机数经不可逆算法进行计算从而生成最终的随机数。如图1所示,为本专利技术实施例的随机数的生成逻辑示意图。该生成逻辑为从不同的多个数据源获取多个源随机数,每个源随机数本身也可以是随机产生的。然后基于这些随机数经不可逆算法最终得到一个随机数。在上述生成随机数的方案思想中,原则上只要有一个源随机数是随机产生,那么就可以保证最终得到的随机数具有较好的随机性。因此,筛选用于计算随机数的各源随机数的过程就显得格外很重要。如图2所示,本实施例给出了筛选用于计算随机数的各源随机数的具体方案,即采用“数据承诺+提交数据”的方式进行源随机数的筛选,并且将该筛选过程与区块链技术相结合。首先,服务器先接收各数据提供方提交的数据承诺,该数据承诺中携带数据提供方欲提交的源随机数所对应的源随机数经不可逆算法计算得到的承诺值以及用于唯一标识数据提供方提交的一个数据承诺的数据编号;然后,服务器将各数据承诺按数据编号划分形成多个承诺组并存储至区块链中;接着,服务器接收多个数据提供方提交的之前数据承诺中欲提交的源随机数,并将源随机数存储至区块链中,基于接收数据承诺及其相应的提交数据(包含源随机数)的先后顺序,一般处理提交数据的区块编号要大于数据承诺所在的区块编号(本实施例中区块编号均为按区块链的生成过程顺序编号);最后,以承诺组为单位,对各承诺组中的数据提供方提交的源随机数经不可逆算法进行承诺验证,如果计算得到的所有承诺值均与数据提供方提交的数据承诺中的承诺值对应相同,则接受该承诺组中数据提供方提交的源随机数,以作为计算一个随机数所需的源随机数。由于在筛选随机数的过程中,通过区块链对数据承诺以及源随机数进行存储,保证了这些数据的不可篡改性,从而保证了最终筛选出的源随机数的真实性。下面通过多个实施例来进一步说明本申请的技术方案。实施例一基于上述筛选源随机数的方案思想,如图3所示,其为本专利技术实施例示出的基于区块链的数据筛选方法流程图一,该方法的执行主为设置在网络中的服务器。如图本文档来自技高网...

【技术保护点】
1.一种基于区块链的数据筛选方法,其特征在于,包括:接收多个数据提供方提交的数据承诺,所述数据承诺中携带所述数据提供方欲提交的源随机数所对应的所述源随机数经不可逆算法计算得到的承诺值以及数据编号,每个所述数据编号用于唯一标识所述数据提供方提交的一个所述数据承诺;将各所述数据承诺按所述数据编号划分形成承诺组存储至区块链中,且每个所述数据提供方提交的同一所述数据编号仅包含在一个所述承诺组中,每个所述承诺组中包括指定数目的所述数据承诺;接收所述多个数据提供方提交的所述数据承诺中欲提交的源随机数,并将所述源随机数存储至区块链中;以所述承诺组为单位,对各承诺组中的所述数据提供方提交的所述源随机数经所述不可逆算法进行承诺验证;如果承诺验证后确定:计算得到的所述承诺组中所有承诺值均与所述数据提供方提交的所述数据承诺中的承诺值对应相同,则接受该承诺组中所述数据提供方提交的源随机数,以作为计算一个所述随机数所需的所述源随机数。

【技术特征摘要】
1.一种基于区块链的数据筛选方法,其特征在于,包括:接收多个数据提供方提交的数据承诺,所述数据承诺中携带所述数据提供方欲提交的源随机数所对应的所述源随机数经不可逆算法计算得到的承诺值以及数据编号,每个所述数据编号用于唯一标识所述数据提供方提交的一个所述数据承诺;将各所述数据承诺按所述数据编号划分形成承诺组存储至区块链中,且每个所述数据提供方提交的同一所述数据编号仅包含在一个所述承诺组中,每个所述承诺组中包括指定数目的所述数据承诺;接收所述多个数据提供方提交的所述数据承诺中欲提交的源随机数,并将所述源随机数存储至区块链中;以所述承诺组为单位,对各承诺组中的所述数据提供方提交的所述源随机数经所述不可逆算法进行承诺验证;如果承诺验证后确定:计算得到的所述承诺组中所有承诺值均与所述数据提供方提交的所述数据承诺中的承诺值对应相同,则接受该承诺组中所述数据提供方提交的源随机数,以作为计算一个所述随机数所需的所述源随机数。2.根据权利要求1所述的方法,其特征在于,所述将各所述数据承诺按所述数据编号划分形成承诺组存储至区块链中之前还包括:判断接收的所述数据承诺中携带的所述数据编号是否包含在已存储至区块链中任一所述承诺组中,且对应的所述数据提供方是否相同;如果已存储至区块链中,且对应的所述数据提供方相同,则放弃所述数据承诺。3.根据权利要求1所述的方法,其特征在于,所述将各所述数据承诺按所述数据编号划分形成承诺组存储至区块链中之后还包括:向所述数据提供方反馈其提交的所述数据承诺所在承诺组的承诺组索引号;所述在接收所述多个数据提供方提交的所述数据承诺中欲提交的源随机数的过程中,同步接收所述数据提供方提交的所述源随机数所在承诺组的承诺组索引号,并将所述源随机数与相应的承诺组索引号一并关联存储至区块链中。4.根据权利要求3所述的方法,其特征在于,所述以所述承诺组为单位,对各承诺组中的所述数据提供方提交的源随机数经所述不可逆算法进行承诺验证包括:根据所述承诺组索引号,从所述区块链中查找各所述承诺组对应的所述源随机数,并经所述不可逆算法进行承诺验证。5.根据权利要求4所述的方法,其特征在于,所述根据所述承诺组索引号,从所述区块链中查找到各承诺组对应的所述源随机数之后还包括:如果所述承诺组对应包含的至少一个所述源随机数所在的区块编号大于且超出所述承诺组所在区块编号预定值,则放弃对该承...

【专利技术属性】
技术研发人员:宋承根谭智勇赵微
申请(专利权)人:北京欧链科技有限公司
类型:发明
国别省市:北京,11

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

1