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