基于区块链分布式随机过程的双随机生成方法和监管系统技术方案

技术编号:23314739 阅读:61 留言:0更新日期:2020-02-11 17:40
本发明专利技术提供了一种基于区块链分布式随机过程的双随机生成方法和监管系统,包括随机过程参与者在本地生成第一随机私有码,对第一随机私有码进行一次hash处理得到hash值;将生成的hash值提交至区块链;将所有随机过程参与者的第一随机私有码异或,得到联合随机公共码;随机过程参与者在本地生成第二随机私有码,对第二随机私有码以及联合随机公共码进行异或,得到合并值M;将合并值M进行hash处理后提交至区块链;将所有随机过程参与者参与者的第二随机私有码异或,得到联合随机码;将两次随机过程得到的联合随机码根据区块链上预置的智能合约生成最终的随机码。本发明专利技术能得到可信的随机结果,保证全程可证明得以实现。

Double random generation method and supervision system based on block chain distributed random process

【技术实现步骤摘要】
基于区块链分布式随机过程的双随机生成方法和监管系统
本专利技术涉及计算机
,具体地,涉及一种基于区块链分布式随机过程的双随机生成方法和监管系统。
技术介绍
在生活中,经常可以接触到各种由随机产生的决策结果,比如抽检、抽查、抽奖、抽车牌号、抽手机号、抽房号等等。这些结果的产生是否是真正的随机,是否有人为的控制,很难判断。现有的可称为真随机的生成方式大多是以基础物理量如热力学噪声、光电效应和量子现象等,通过将小信号放大再经过随机算法获取真随机。此种方式得到的真随机依赖于此硬件系统的标准可信,但生成的结果也是无法证明的,用户只能相信此系统及其硬件厂家的可信、可靠。近年来,随着国家推行“双随机、一公开”的抽查检测制度,随机的生成将影响到众多相关者的利益得失问题。如何生成随机、证明随机的公平公正,变成了所有人所关注的技术焦点。目前传统检测系统的双随机生成方式主要是使用系统的随机函数进行生成,此种方式受制于单机和独立系统的可信性。以往通过中间机构进行担保,但并没有公开的证明方式,不能保证系统是否受到人为的干扰。计算机系统中的随机函数,线性同余发生器Thedesiredsequenceofrandomnumbers<Xn>isthenobtainedbysettingXn+1=(aXn+c)modm,n≥0.(2)其中m、a、c为算法的初始固定值,通过系统函数初始化一个X0,可以得到一个随机序列,如果一开始的随机种子X0已知,那么后续所有的随机数都可以被推测。使用系统随机时,无法保证随机种子的安全性和保密性,则生成的随机数无法保证其可信性。所以,现有的系统生成方式,有赖于设备的安全可靠性,有赖于操作人员的规范性。并且,生成的随机数据无法得到有效的证明。为了提高检测系统的可信度,一种公开、可证明的随机过程变得极为重要。一些专利文献如CN104699451A公开了一种真随机数生成方法,将采用并行执行机制的干扰程序插入软件程序,干扰程序被激活后与伪随机数生成程序重叠运行生成真随机数,干扰程序退出运行。通过灵活选取插入点和插入时机,利用纯软件机制生成真随机数,生成的真随机数具有随机性、不可预测性、良好的正态分布性,但仍未能完全解决上述的缺陷。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于区块链分布式随机过程的双随机生成方法和监管系统。根据本专利技术提供的一种基于区块链分布式随机过程的双随机生成方法,包括:第一随机私有码生成步骤:随机过程参与者在本地生成第一随机私有码,对第一随机私有码进行一次hash处理得到hash值;第一提交步骤:将生成的hash值提交至区块链;联合随机公共码生成步骤:将所有随机过程参与者的第一随机私有码异或,得到联合随机公共码;第二随机私有码生成步骤:随机过程参与者在本地生成第二随机私有码,对第二随机私有码以及联合随机公共码进行异或,得到合并值M;第二提交步骤:将合并值M进行hash处理后提交至区块链;联合随机码生成步骤:将所有随机过程参与者参与者的第二随机私有码异或,得到联合随机码;双随机生成步骤:将两次随机过程得到的联合随机码根据区块链上预置的智能合约生成最终的随机码。优选地,所述区块链包括:出块节点:进行区块数据的打包生成;同步节点:同步检验已经打包生成的区块数据;智能合约:固化在区块链上的、可被运行并验证的程序代码;出块委员会:实际控制所述出块节点的用户群。优选地,出块节点根据权限指数进行轮询出块,每个出块节点的权限指数根据当前块号的变化而变化;权限指数为Q,出块委员会人数为n,块号为m,出块节点在委员会中的序号为x,则:q=(mmodn)-x如果q<0,则q=n+q;Q=n-q。优选地,同步节点根据Q值大小对出块时间域进行排序,在同一区块下,时间段的排序根据Q值大小进行排序;每个出块节点在出块后的(n/3)个区块之内失去出块权利,(n/3)个区块之后恢复出块权利。优选地,两次随机过程的发起者、参与者均不同。根据本专利技术提供的一种基于区块链分布式随机过程的双随机生成监管系统,包括:第一随机私有码生成模块:随机过程参与者在本地生成第一随机私有码,对第一随机私有码进行一次hash处理得到hash值;第一提交模块:将生成的hash值提交至区块链;联合随机公共码生成模块:将所有随机过程参与者的第一随机私有码异或,得到联合随机公共码;第二随机私有码生成模块:随机过程参与者在本地生成第二随机私有码,对第二随机私有码以及联合随机公共码进行异或,得到合并值M;第二提交模块:将合并值M进行hash处理后提交至区块链;联合随机码生成模块:将所有随机过程参与者的第二随机私有码异或,得到联合随机码;双随机生成模块:将两次随机过程得到的联合随机码根据区块链上预置的智能合约生成最终的随机码。优选地,所述区块链包括:出块节点:进行区块数据的打包生成;同步节点:同步检验已经打包生成的区块数据;智能合约:固化在区块链上的、可被运行并验证的程序代码;出块委员会:实际控制所述出块节点的用户群。优选地,出块节点根据权限指数进行轮询出块,每个出块节点的权限指数根据当前块号的变化而变化;权限指数为Q,出块委员会人数为n,块号为m,出块节点在委员会中的序号为x,则:q=(mmodn)-x如果q<0,则q=n+q;Q=n-q。优选地,同步节点根据Q值大小对出块时间域进行排序,在同一区块下,时间段的排序根据Q值大小进行排序;每个出块节点在出块后的(n/3)个区块之内失去出块权利,(n/3)个区块之后恢复出块权利。优选地,两次随机过程的发起者、参与者均不同。与现有技术相比,本专利技术具有如下的有益效果:本专利技术包含随机生成过程的原理、算法和可证明性,以及基于本方法的双随机检测系统的原理和可证明性。本方法在底层通讯、随机数计算和生成的过程中使用区块链技术来保证安全、公平,从而得到可信的随机结果。采用本方法的双随机检测系统进一步基于分布式验证技术,保证每个生成过程采用的随机因素的客观证明性。通过对所有随机因素的组合保证了生成方法、生成结果的随机性,以及过程和结果的区块链记录和公开,从而保证全程可证明得以实现。本专利技术中区块链的特性保证了计算过程、计算因子和计算结果的可回溯证明并且不可更改,这样生成的结果唯一、可信,也同时保证了本专利技术实现的双随机检验系统的执行、决策和结果具有高度的随机安全性。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显。图1为本专利技术的整体流程图。图2为双随机生成流程图。图3为区块与数据状态的更迭原理图。图4为链的本文档来自技高网
...

【技术保护点】
1.一种基于区块链分布式随机过程的双随机生成方法,其特征在于,包括:/n第一随机私有码生成步骤:随机过程参与者在本地生成第一随机私有码,对第一随机私有码进行一次hash处理得到hash值;/n第一提交步骤:将生成的hash值提交至区块链;/n联合随机公共码生成步骤:将所有随机过程参与者的第一随机私有码异或,得到联合随机公共码;/n第二随机私有码生成步骤:随机过程参与者在本地生成第二随机私有码,对第二随机私有码以及联合随机公共码进行异或,得到合并值M;/n第二提交步骤:将合并值M进行hash处理后提交至区块链;/n联合随机码生成步骤:将所有随机过程参与者参与者的第二随机私有码异或,得到联合随机码;/n双随机生成步骤:将两次随机过程得到的联合随机码根据区块链上预置的智能合约生成最终的随机码。/n

【技术特征摘要】
1.一种基于区块链分布式随机过程的双随机生成方法,其特征在于,包括:
第一随机私有码生成步骤:随机过程参与者在本地生成第一随机私有码,对第一随机私有码进行一次hash处理得到hash值;
第一提交步骤:将生成的hash值提交至区块链;
联合随机公共码生成步骤:将所有随机过程参与者的第一随机私有码异或,得到联合随机公共码;
第二随机私有码生成步骤:随机过程参与者在本地生成第二随机私有码,对第二随机私有码以及联合随机公共码进行异或,得到合并值M;
第二提交步骤:将合并值M进行hash处理后提交至区块链;
联合随机码生成步骤:将所有随机过程参与者参与者的第二随机私有码异或,得到联合随机码;
双随机生成步骤:将两次随机过程得到的联合随机码根据区块链上预置的智能合约生成最终的随机码。


2.根据权利要求1所述的基于区块链分布式随机过程的双随机生成方法,其特征在于,所述区块链包括:
出块节点:进行区块数据的打包生成;
同步节点:同步检验已经打包生成的区块数据;
智能合约:固化在区块链上的、可被运行并验证的程序代码;
出块委员会:实际控制所述出块节点的用户群。


3.根据权利要求2所述的基于区块链分布式随机过程的双随机生成方法,其特征在于,出块节点根据权限指数进行轮询出块,每个出块节点的权限指数根据当前块号的变化而变化;
权限指数为Q,出块委员会人数为n,块号为m,出块节点在委员会中的序号为x,则:
q=(mmodn)-x
如果q<0,则q=n+q;
Q=n-q。


4.根据权利要求3所述的基于区块链分布式随机过程的双随机生成方法,其特征在于,同步节点根据Q值大小对出块时间域进行排序,在同一区块下,时间段的排序根据Q值大小进行排序;
每个出块节点在出块后的(n/3)个区块之内失去出块权利,(n/3)个区块之后恢复出块权利。


5.根据权利要求1所述的基于区块链分布式随机过程的双随机生成方法,其特征在于,两次随机过程的发起者、参与者均不同。

【专利技术属性】
技术研发人员:肖江张灏
申请(专利权)人:上海链度科技有限公司
类型:发明
国别省市:上海;31

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

1