[发明专利]区块链中出块节点确定方法、区块验证方法及区块链系统有效
申请号: | 201811562473.5 | 申请日: | 2018-12-20 |
公开(公告)号: | CN109743173B | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 尚书丞 | 申请(专利权)人: | 弗洛格(武汉)信息科技有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08;H04L9/06;H04L29/08 |
代理公司: | 武汉泰山北斗专利代理事务所(特殊普通合伙) 42250 | 代理人: | 程千慧 |
地址: | 430223 湖北省武汉市东湖高新技术*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 链中出块 节点 确定 方法 验证 系统 | ||
本发明提供一种区块链中出块节点确定方法、区块验证方法及区块链系统,所述出块节点确定方法包括:确定区块链中投票票数排名靠前的多个节点作为候选出块节点,并记录每一个候选出块节点的排名序号;每一个候选出块节点根据上链信息,按照第一预设规则计算出一个排名序号,该排名序号的候选出块节点为当前出块节点,并由所述当前出块节点根据所述上链信息产生区块。本发明通过投票从区块链中选择出可信度高的节点组,再采用一定的规则随机从节点组中选择出当前出块节点进行出块,当前出块节点的顺序不固定,不易被攻击,安全性高。
技术领域
本发明涉及区块链技术领域,更具体地,涉及一种区块链中出块节点确定方法、区块验证方法及区块链系统。
背景技术
在区块链中,传统比如EOS使用的DPOS算法是通过持币者投票从区块链的所有节点中选出一组候选出块节点,之后在一定时间内,当需要上链时,这组候选出块节点按照规定顺序轮流进行出块,即按照一定的顺序轮流产生区块,出块顺序确定后容易被恶意定位攻击,会给整个区块链带来安全性问题。
另外,当对产生的区块进行验证时,为了公平及安全,通常被选出的候选出块节点数量比较大。为了区块验证的准确性,传统DPOS算法要求所有候选出块节点均参与对产生的区块的验证,这样由于候选出块节点数量众多,导致区块验证效率降低。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的区块链中出块节点确定方法、区块验证方法及区块链系统。
根据本发明的第一个方面,提供一种区块链中出块节点确定方法,包括:
S1,确定区块链中投票票数排名靠前的多个节点作为候选出块节点,并记录每一个候选出块节点的排名序号;
S2,每一个候选出块节点根据上链信息,按照第一预设规则计算出一个排名序号,该排名序号的候选出块节点为当前出块节点,并由所述当前出块节点根据所述上链信息产生区块。
本发明的有益效果为:通过投票从区块链中选择出可信度高的节点组,再采用一定的规则随机从节点组中选择出当前出块节点进行出块,当前出块节点的顺序不固定,不易被攻击,安全性高。
在上述技术方案的基础上,本发明还可以作如下改进。
进一步的,所述步骤S2具体包括:
每间隔预设时间t,每一个候选出块节点根据t时间内待打包的上链信息计算出该上链信息对应的哈希值H,并计算N=(H二进制的后16位)mod n+1,其中,N小于等于n,n为候选出块节点的数量;
排名序号为N的候选出块节点为当前出块节点;
由所述当前出块节点根据待打包的上链信息产生区块。
根据本发明的第二个方面,提供了一种区块链中区块验证方法,包括:
S1’,根据随机因子,当前出块节点计算出一组不重复的随机数,排名序号为所述随机数的候选出块节点为验证区块的节点,所述验证区块的节点形成区块验证节点组;
S2’,通过所述区块验证节点组对当前出块节点产生的区块进行验证,验证通过后,由当前出块节点将产生的区块广播至区块链的全网。
进一步的,所述步骤S1还包括:
将n个候选出块节点组成候选出块节点白名单,所述候选出块节点白名单中包括每一个候选出块节点的排名序号、节点公钥以及节点IP;
设置一随机区块验证节点数量x,所述x为区块验证的候选出块节点数量,其中,x≤n,且x为正整数。进一步的,所述步骤S1’具体包括:
将哈希值H的二进制的后16位作为随机因子,当前出块节点计算出x个小于n的不重复随机数,排名序号为随机数的候选出块节点为验证区块的节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于弗洛格(武汉)信息科技有限公司,未经弗洛格(武汉)信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811562473.5/2.html,转载请声明来源钻瓜专利网。