[发明专利]一种具有抗量子特性的区块链工作量证明方法和系统在审
申请号: | 202110360170.0 | 申请日: | 2021-04-02 |
公开(公告)号: | CN113139016A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 周赛星;陈家辉 | 申请(专利权)人: | 广东工业大学 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F17/12 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510090 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 具有 量子 特性 区块 工作量 证明 方法 系统 | ||
1.一种具有抗量子特性的区块链工作量证明方法,其特征在于,所述方法包括以下步骤:
S1:收集区块链内历史区块的数据,确定当前区块的上一区块的哈希值,利用当前区块的初始Nonce值和上一区块的哈希值生成种子数;
S2:利用种子数生成随机数序列,根据随机数序列确定方程组参数;基于所述方程组参数,生成多元二次方程组;
S3:对多元二次方程组求解,获得解输出;
S4:基于多元二次方程组的解输出,获得该多元二次方程组的哈希函数;
S5:利用难度调整算法,根据区块链历史区块的难度值,确定当前区块需要满足的最小难度值;
S6:利用最小难度值计算多元二次方程组的哈希函数的解;
S7:验证哈希函数的解是否满足工作量证明条件;若不满足,令初始Nonce值加1作为新的初始Nonce值代入步骤S1,重复步骤S1-S6,直到计算出的多元二次方程组的哈希函数的解满足工作量证明条件;若满足,将当前Nonce值和解输出打包到当前区块,将当前区块向区块链中其他节点广播;
S8:区块链中其他节点收到广播后,验证当前区块包含的当前Nonce值和解输出是否满足工作量证明,同时验证交易的合法性;若均满足,则将当前区块作为最新区块链接到区块链,否则拒绝当前区块上链。
2.根据权利要求1所述的具有抗量子特性的区块链工作量证明方法,其特征在于,所述S1中,历史区块的数据包括每个区块的时间戳、Nonce值、工作量证明方程组解、版本、Merkele树根、难度值、哈希值、交易脚本和交易签名;所述时间戳、Nonce值、工作量证明方程组解、版本、Merkele树根、难度值和哈希值被记录于区块的区块头,所述交易脚本和交易签名被记录于区块的区块体。
3.根据权利要求2所述的具有抗量子特性的区块链工作量证明方法,其特征在于,所述S2中,生成多元二次方程组的具体方法为:
设定变量数为n,方程数为m,生成的随机数序列包含的随机数个数为n2/2×m+n×m+m+m,为使方程组有唯一解,令m=n,则随机数个数为n3/2+(n+2)×n,生成的方程组为:
其中,xi表示第i个需要求解的变量向量,i=1,…,n;xj表示第j个需要求解的变量向量,j=1,…,n;ck、dk为对应的多元二次方程组参数,i=1,…,n,j=1,…,n,k=1,…,m。
4.根据权利要求3所述的具有抗量子特性的区块链工作量证明方法,其特征在于,所述S3中,利用基于Grobner基的F4、F5求解算法对多元二次方程组求解。
5.根据权利要求4所述的具有抗量子特性的区块链工作量证明方法,其特征在于,所述S7中,验证哈希函数的解是否满足工作量证明条件具体方法为:设定当前区块需要满足的最小工作量对应的哈希值PowLimit,比较哈希函数的解Sha256(x1,x2,…,xn)与PowLimit/D的大小,若Sha256(x1,x2,…,xn)≤PowLimit/D,则Sha256(x1,x2,…,xn)满足工作量证明条件;若Sha256(x1,x2,…,xn)>PowLimit/D,则Sha256(x1,x2,…,xn)不满足工作量证明条件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110360170.0/1.html,转载请声明来源钻瓜专利网。