[发明专利]一种实现区块链共识机制的方法有效
申请号: | 201711395845.5 | 申请日: | 2017-12-21 |
公开(公告)号: | CN108320155B | 公开(公告)日: | 2020-09-11 |
发明(设计)人: | 张锐;肖禹亭 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 吴欢燕;李相雨 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 区块 共识 机制 方法 | ||
本发明提供一种实现区块链共识机制的方法,包括:S1、根据上一区块对应的Hash值,利用预设的第一选取方法确定当前区块的第一提交节点,由第一提交节点生成第一待验证区块,并将第一待验证区块广播至各非提交节点;每一非提交节点对第一待验证区块的有效性进行验证,并生成接受或拒绝的表决结果;当表决结果为接受的非提交节点的数量占节点总数的比例大于预设阈值时,将第一待验证区块作为当前区块,并添加到区块链中;将当前区块作为新的上一区块,返回执行步骤S1。本发明提供的一种实现区块链共识机制的方法,通过预设的选取方法确定提交节点,并对提交节点生成的区块的有效性进行验证,实现了区块链共识,确定提交节点的效率高,因而区块链生成的效率高。
技术领域
本发明涉及计算机应用技术领域,更具体地,涉及一种实现区块链共识机制的方法。
背景技术
区块链技术是一种利用密码学方法保护数据安全的分布式存储技术,具有不可篡改、不可伪造等显著特性,被广泛应用于数字经济、互联网治理和大数据发展等多个领域。共识机制是区块链技术的核心,其使得即使在无中心信任机构存在的场景下,互不信任的实体仍然可以建立信任联系。
根据数据读写权限的开放程度,区块链被分为公有链、联盟链及私有链三种类型。公有链不对读写权限做任何限制;联盟链涉及到多个机构,其共识过程受到预选节点控制,而读取权限对外开放或被任意程度地限制;私有链仅涉及某个特定机构,其写入权限仅由该机构内部节点掌控,同样地其读取权限对外开放或被任意程度地限制。当前主流的共识机制主要适用于公有链或联盟链,如POW、POS、DPOS、dBFT、pool验证池等,效率不高。当这些共识机制被使用到私有链时,存在极大的计算资源浪费与不适应性。
发明内容
为克服现有实现区块链共识机制的方法存在效率不高的不足,本发明提供一种实现区块链共识机制的方法。
本发明提供一种实现区块链共识机制的方法,包括:
S1、根据上一区块对应的Hash值,利用预设的第一选取方法确定当前区块的第一提交节点,由所述第一提交节点生成第一待验证区块,并将所述第一待验证区块广播至各非提交节点;
S2、每一所述非提交节点对所述第一待验证区块的有效性进行验证,并生成接受或拒绝的表决结果;
S3、当表决结果为接受的非提交节点的数量占节点总数的比例大于预设阈值时,将所述第一待验证区块作为当前区块,并添加到区块链中;
S4,将所述当前区块作为新的上一区块,返回执行步骤S1;
其中,所述提交节点为用于生成区块的节点;所述非提交节点为所述提交节点以外的节点。
优选地,所述步骤S3还包括:
当表决结果为接受的节点的数量占节点总数的比例小于预设阈值时,根据预设的第二选取方法确定第二提交节点,由所述第二提交节点生成第二待验证区块,并将所述第二待验证区块广播至所述非提交节点,返回执行步骤S2。
优选地,所述预设的第一选取方法包括:
将上一状态向量、上一区块的Hash值和上一次执行Hash算法输出的Hash值,作为当前次执行所述Hash算法的输入,获取当前次执行所述Hash算法的输出的Hash值;
将当前次执行所述Hash算法的输出的Hash值,根据预设规则映射到一个仅有一个分量为1其余全为0的第一向量,将编号与所述第一向量中为1的分量的编号相同的节点作为所述第一提交节点;
其中,所述上一状态向量用于确定当前区块的第一提交节点。
优选地,所述预设的第一选取方法还包括:
将所述上一状态向量与所述第一向量的进行求和,生成当前状态向量;所述当前状态向量用于确定下一区块的第一提交节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711395845.5/2.html,转载请声明来源钻瓜专利网。