一种基于区块链的确定的非确定性选择方法、系统及存储介质与流程

文档序号:22553657发布日期:2020-10-17 02:33阅读:来源:国知局

技术特征:

1.一种基于区块链的确定的非确定性选择方法,其特征在于,包括如下步骤:

步骤1,参选步骤:任何在线时间,参选节点手动选择参选状态;

步骤2,选举步骤:矿工节点获取上n个区块的确定参数,作为此轮选举的随机种子r;

步骤3,随机函数计算步骤:计算随机函数值r(id,r),通过将随机种子r作用到每个参选者的id上得到一个哈希散列,r为随机函数,id为参选者识别参数;

步骤4,状态函数计算步骤:计算状态函数值s(id,r,p1,p2,…,pn),得到每个参选者的状态值,s为状态函数,id为参选者识别参数,r为随机函数值,p1,p2,…,pn为其他参量;

步骤5,排序步骤:对计算状态函数值s进行排序,选出前m个作为下一轮代表;

步骤6,记录上链步骤:矿工节点打包一个选举交易上链,将计算状态函数值s的前m个候选人记入交易,交易被打包到此时记账的区块中,然后被写入区块链。

2.根据权利要求1所述的非确定性选择方法,其特征在于,在所述步骤1,参选步骤中,参选节点通过命令行远程过程调用rpc接口配置自己的参选状态信息,该参选状态信息会被p2p网络读取。

3.根据权利要求1所述的非确定性选择方法,其特征在于,在所述步骤2,选举步骤中,每个参选节点都会有一个当前状态值,当前状态值由状态函数对参选节点当前的状态参量计算得出,状态参量的配置及状态函数的表达式由区块链工作目的决定,状态参量包含随机参量,随机参量使用一个确定性的随机种子r。

4.根据权利要求3所述的非确定性选择方法,其特征在于,在所述步骤2,选举步骤中,配置的状态参量有:节点加入社区的时间、节点本初地址所拥有的押金数量、节点本初地址已经完成的交易数量、节点当选的代表次数、节点在当选代表时正常发挥的比例、节点在最近某个规定时间段内的以上状态;

状态函数包括常函数、幂函数、指数函数、对数函数、三角函数和反三角函数及其有限次有理运算或复合。

5.根据权利要求3所述的非确定性选择方法,其特征在于,在所述步骤2,选举步骤中,使用以下几种参数之一或者组合作为随机种子r:

上第n个区块的区块哈希值,n>=1,n是个确定值;

上第n个区块的区块时间戳,n>=1,n是个确定值;

上第n个区块的区块nonce,n>=1,n是个确定值;

上第n个区块的区块体默克尔根哈希,n>=1,n是个确定值;

上第n个区块内的其他确定性数值,n>=1,n是个确定值。

6.一种基于区块链的确定的非确定性选择系统,其特征在于,包括:

参选模块:用于任何在线时间,参选节点手动选择参选状态;

选举模块:用于矿工节点获取上n个区块的确定参数,作为此轮选举的随机种子r;

随机函数计算模块:用于计算随机函数值r(id,r),通过将随机种子r作用到每个参选者的id上得到一个哈希散列,r为随机函数,id为参选者识别参数;

状态函数计算模块:用于计算状态函数值s(id,r,p1,p2,…,pn),得到每个参选者的状态值,s为状态函数,id为参选者识别参数,r为随机函数值,p1,p2,…,pn为其他参量;

排序模块:用于对计算状态函数值s进行排序,选出前m个作为下一轮代表;

记录上链模块:用于矿工节点打包一个选举交易上链,将计算状态函数值s的前m个候选人记入交易,交易被打包到此时记账的区块中,然后被写入区块链。

7.根据权利要求6所述的非确定性选择系统,其特征在于,在所述参选模块中,参选节点通过命令行远程过程调用rpc接口配置自己的参选状态信息,该参选状态信息会被p2p网络读取。

8.根据权利要求6所述的非确定性选择系统,其特征在于,在所述选举模块中,每个参选节点都会有一个当前状态值,当前状态值由状态函数对参选节点当前的状态参量计算得出,状态参量的配置及状态函数的表达式由区块链工作目的决定,状态参量包含随机参量,随机参量使用一个确定性的随机种子r。

9.根据权利要求8所述的非确定性选择系统,其特征在于,在所述选举模块中,配置的状态参量有:节点加入社区的时间、节点本初地址所拥有的押金数量、节点本初地址已经完成的交易数量、节点当选的代表次数、节点在当选代表时正常发挥的比例、节点在最近某个规定时间段内的以上状态;

状态函数包括常函数、幂函数、指数函数、对数函数、三角函数和反三角函数及其有限次有理运算或复合;

使用以下几种参数之一或者组合作为随机种子r:

上第n个区块的区块哈希值,n>=1,n是个确定值;

上第n个区块的区块时间戳,n>=1,n是个确定值;

上第n个区块的区块nonce,n>=1,n是个确定值;

上第n个区块的区块体默克尔根哈希,n>=1,n是个确定值;

上第n个区块内的其他确定性数值,n>=1,n是个确定值。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-5中任一项所述的方法的步骤。


技术总结
本发明提供了一种基于区块链的确定的非确定性选择方法、系统及存储介质,该非确定性选择方法包括:步骤1:任何在线时间,参选节点手动选择参选状态;步骤2:矿工节点获取上n个区块的确定参数,作为此轮选举的随机种子r;步骤3:计算随机函数值R(ID,r),通过将随机种子r作用到每个参选者的ID上得到一个哈希散列;步骤4:计算状态函数值S(ID,R,p1,p2,…,pn),得到每个参选者的状态值;步骤5:对计算状态函数值S进行排序,选出前m个作为下一轮代表;步骤6:矿工节点打包一个选举交易上链。本发明的有益效果是:本发明建立不可预测性,并在异步环境下保持这种不可预测内容的一致性,防止具备状态优势的代表利用优势资源实现专政。

技术研发人员:吴刚;赵亮;赖宇鹏
受保护的技术使用者:深圳启元信息服务有限公司
技术研发日:2019.12.10
技术公布日:2020.10.16
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1