[发明专利]一种基于X11算法的区块链动态算力共识方法及计算机系统有效
申请号: | 201910258405.8 | 申请日: | 2019-04-01 |
公开(公告)号: | CN110097361B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 魏松杰;刘昊哲;莫冰;刘才 | 申请(专利权)人: | 南京思利华信息科技有限公司 |
主分类号: | G06F17/00 | 分类号: | G06F17/00;G06Q20/38 |
代理公司: | 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 | 代理人: | 李冉 |
地址: | 211100 江苏省南京市江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 x11 算法 区块 动态 共识 方法 计算机系统 | ||
本发明公开了一种基于X11算法的区块链动态算力共识方法及计算机系统,利用区块链前一个区块的数值,通过计算结果得到第一个算法,使用该算法计算哈希值,根据计算结果从区块链中进行查询,根据区块链中获取的数据得到第二个算法,根据第二个算法得到计算结果,以此类推,直到进行了指定次数的哈希计算为止。本发明通过变更哈希算法的种类,频繁的与数据存储器等外部进行通信,减少哈希计算程序执行的时间,增加矿机开发的压力,减小算力中心化的趋势。
技术领域
本发明涉及区块链技术领域,特别涉及一种基于X11算法的区块链动态算力共识方法及计算机系统。
背景技术
基于区块链的交易系统(以下简称交易系统),算力逐渐集中在少数人的手中,越来越中心化,违背了区块链的初衷。
因此,如何提供一种减小算力集中趋势的区块链动态算力共识方法是本领域技术人员亟待解决的技术问题。
发明内容
本发明针对上述研究现状和存在的问题,提供一种基于X11算法的区块链动态算力共识方法。具体方案如下:
本发明一种基于X11算法的区块链动态算力共识方法,包括如下步骤:
S1,在生成第N个区块时,根据第N-1个区块的属性进行一次哈希运算,得到计算结果,并赋值给数组F;
S2,根据数组F选择X11算法中的一种哈希算法,根据所选择的哈希算法对输入HASH+NONCE进行哈希运算,得到计算结果,并赋值给数组X,记录计算次数;
S3,根据数组X,从区块链中查找对应高度的区块的哈希值,将所述哈希值重新赋值给数组F;
S4,根据S3所得数组F选择X11算法中的一种哈希算法,对数组X进行哈希运算,得到计算结果,并更新赋值给数组X和数组F,并记录计算次数,计算次数加1;
S5,判断计算次数是否达到了目标次数M,若是,则S4所得数组X为最终结果并输出;若不是,则返回执行S2。
优选的,所述哈希运算采用的X11算法中的哈希算法包括但不限于:BLAKE,BMW,JH,Keccak,Skein,Luffa,CubeHash,SHAvite-3,SIMD,ECHO。
优选的,所述S2具体包括:根据结果F在区块链中查询区块信息,利用查询到的区块信息选择X11算法中的一种哈希算法,进行X11[x](HASH+NONCE)计算,每个区块信息均对应一个哈希算法,x为11种X11算法中的第x种算法,所述区块信息包括区块哈希值以及区块中包含的交易哈希值。
优选的,所述S3中,
S31,选择数组X的最后一位值记为F[a-1],a为数组X的长度;读取区块链上区块高度为N-F[a-1]区块,若N小于F[a-1],则对F[a-1]使用N取余数得到结果y,重新读取区块链上区块高度为y的区块;
S32,获得区块后,若所述区块含有交易,则利用数组F的倒数第二位值(F[a-2])选择对应顺序的交易并读取交易哈希值,否则读取区块的哈希值;并将区块哈希值或交易哈希值转为数组后重新赋值给数组F。
优选的,所述S4中,根据F[a-1]%11的值,选择X11算法中的一种哈希算法,每个值均对应一个哈希算法。
本发明还公开了一种基于X11算法的区块链动态算力共识方法的计算机系统,包括处理器和数据存储器,其中,所述处理器适于执行以下步骤:
S1,接收区块链软件组件发送的生成第N个区块的任务;
S2,根据第N-1个区块的属性进行一次哈希运算,得到计算结果,并赋值给数组F,发送至数据存储器进行存储;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京思利华信息科技有限公司,未经南京思利华信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910258405.8/2.html,转载请声明来源钻瓜专利网。