[发明专利]一种四次通信的拜占庭容错算法的区块链建块方法有效
申请号: | 201610851973.5 | 申请日: | 2016-09-26 |
公开(公告)号: | CN106447311B | 公开(公告)日: | 2019-11-08 |
发明(设计)人: | 邓恩艳 | 申请(专利权)人: | 北京天德科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100089 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种四次通信的拜占庭容错算法的私有区块链建块方法,包含(1)所有节点对收到的交易进行hash映射,得到一发出给其余所有节点的bitarray,每个节点对收到的bitarray进行2/3与运算,求得2/3以上节点的交易交集对应的bitarray;(2)建块节点根据这个bitarray得到交易集合进行建块,将块提交给其余节点;(3)收到块的节点通过自身的bitarray和块中的交易集合对比完成验证,验证结束后将验证结果的数字签名发给其余所有节点;(4)第二轮投票将所有节点收到的所有对该块的投票签名后转发,从而使得每个节点收到所有节点的投票,对投票进行统计得到最终的结果,从而决定是否接纳该块。 | ||
搜索关键词: | 一种 四次 通信 拜占庭 容错 算法 区块 链建块 方法 | ||
【主权项】:
1.一种四次通信的拜占庭容错算法的区块链建块方法,其特征在于包含以下步骤:步骤(1)交易级别的确认和投票:所有节点对收到的所有交易进行hash映射,hash映射后得到一个0~16^64的整数m,假设bitarray的长度为n,每一位的初值为0,通过m%n运算,得到一个0~n‑1之间的整数num,对bitarray的第num位赋值为1;最后得到一个bitarray,然后将这个bitarray发送给其余的所有节点;每个节点对收到的所有bitarray进行2/3与运算,求得2/3以上节点的交易交集对应的bitarray;所述2/3与运算是指在第一次的通信之后,所有节点根据收到的bitarray求2/3交集运算,也就是说每一位如果有2/3以上的bitarray都是1,则运算结果的bitarray在该位为1,否则为0;步骤(2)建块:建块节点根据运算结果的bitarray得到交易集合进行建块,将块提交给其余节点;步骤(3)对块进行验证:收到块的节点通过自身的bitarray和块中的交易集合对比完成验证,验证结束后将验证结果及其数字签名发给其余所有节点;所述步骤(3)对块进行验证是通过第一轮投票完成的,包括:(a)所有节点在收到块之后进行验证,利用自身运算的得到的bitarray交集,和收到的块中的交易集合进行对照,若交易集合一致,且建块者是选出的建块节点,则认为块合法;(b)对块的投票结果用0和1表示,0表示不通过,1表示通过,将投票结果和块的hash签名用自己的私钥加密得到数字签名;(c)将投票结果、块的hash签名和数字签名发给其余节点;步骤(4)每个节点第二轮投票将收到的所有对该块的投票签名后转发,从而使得每个节点收到所有节点的投票,对投票进行统计得到最终的结果,从而决定是否接纳该块;该步骤(4)包括(a)每个节点在收到其余节点第一轮的投票之后,得到一个投票的集合,对这个集合用自己的私钥签名后发出;(b)每个节点在收到第二轮的投票之后对投票结果进行统计,得到最终的结果,从而决定是否要将区块存入链中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天德科技有限公司,未经北京天德科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610851973.5/,转载请声明来源钻瓜专利网。