[发明专利]区块链中共识区块的生成方法与计算设备在审
申请号: | 201710245865.8 | 申请日: | 2017-04-14 |
公开(公告)号: | CN107124403A | 公开(公告)日: | 2017-09-01 |
发明(设计)人: | 朱清明 | 申请(专利权)人: | 朱清明 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32;H04L9/06;H04L29/08;H04L12/26 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙)11391 | 代理人: | 薛峰,刘长江 |
地址: | 100101 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 共识 生成 方法 计算 设备 | ||
1.一种区块链中共识区块的生成方法,包括:
点对点网络中的节点自愿注册成为候选节点,并在所述点对点网络中广播注册成为候选节点的消息;
从在网的所述候选节点中选出一个子集作为入选节点子集,并将入选节点子集随机分为记账节点子集和审计节点子集,所述记账节点子集中节点作为记账节点,所述审计节点子集中的节点作为审计节点;
每个所述记账节点分别将交易池中的交易记录到新建的区块中,并在满足设定的审计条件后,分别将自身记录的区块打包为候选子块,向所述审计节点子集广播;
每个所述审计节点分别根据预设的审计规则对所有收到的候选子块进行验证,挑选出唯一的候选子块,对挑选出的候选子块添加自身审计戳后在所述审计节点子集内广播;
每个所述审计节点在收到其他审计节点广播的挑选结果后,将自身挑选的候选子块与其他审计节点挑选的候选子块进行比较,在确定其他审计节点挑选的候选子块更优的情况下,重新对更优的候选子块添加自身的审计戳,并抛弃自身挑选的候选子块,并重新在所述审计节点子集内广播;
在任一审计节点确定出某一候选子块的审计戳数量超过设定的审计阈值后,认定该审计戳数量超过设定的审计阈值的候选子块成为被收录的入选区块,从而完成一次共识过程。
2.根据权利要求1所述方法,其中,从在网的所述候选节点中选出一个子集作为入选节点子集的步骤包括:
在网的所述候选节点按性能进行排序,将此前最近一次得到入选区块作为筛选输入参数从性能排序靠前的候选节点中随机投票选出一个子集作为所述入选节点子集,并且所述候选节点成为所述入选节点子集的入选条件包括以下任意一条或多条:节点的账户余额、节点的在网历史记录、网络性能。
3.根据权利要求2所述的方法,其中,
在使用所述网络性能作为入选条件时,从在网的所述候选节点中选出一个子集作为入选节点子集的步骤包括:
对在网的所述候选节点的网络性能进行排序,得到排序靠前的网络性能优秀的候选节点子集,用最新一次达成共识的入选区块的散列值作为命中函数的输入,对排序得到的候选节点子集中的候选节点进行随机投票,得到入选节点子集。
4.根据权利要求2所述的方法,其中,
成为所述入选节点子集的候选节点还要求在最近设定次数的共识过程中没有作为记账节点。
5.根据权利要求1所述的方法,其中,
所述设定的审计条件包括:所述新建的区块的剩余容量不足以填充一条新的交易记录;
所述新建的区块的大小符合区块链系统预定义的大小,并且包括上一次达成共识的入选区块的散列值。
6.根据权利要求1所述的方法,其中,
每个所述审计节点分别根据预设的审计规则对所有收到的候选子块进行验证的步骤包括:每个所述审计节点分别对收到的候选子块分别进行散列运算,得到所述候选子块的散列值;对所有收到的所述候选子块的散列值进行排序,将所述散列值最大的候选子块或者所述散列值最小的候选子块作为挑选出的候选子块,并且
每个所述审计节点将自身挑选的候选子块与其他审计节点挑选的候选子块进行比较的步骤包括:将自身挑选的候选子块的散列值与其他审计节点挑选的候选子块的散列值进行比较,在确定其他审计节点挑选的候选子块的散列值更大或更小的情况下,确定其他审计节点挑选的候选子块更优。
7.根据权利要求1所述的方法,其中在认定出所述入选区块之后还包括:
广播所述入选区块,将此前一次的入选区块作为父块写入区块链。
8.根据权利要求1所述的方法,其中在完成一次共识后还包括:
从所述候选节点中重新随机增加一定数量的入选节点,并从所述入选节点子集中剔除相同个数的入选节点。
9.根据权利要求1所述的方法,其中
审计戳包括所述审计节点的数字签名和记入该审计节点的审计费;
每个所述记账节点构造的候选子块附加有该记账节点的数字签名和记入该记账节点的记账费;
所述交易记录中包括交易内容和交易发起者的数字签名;
所述审计阈值根据所述审计节点总数以及容许的拜占庭节点的数量由系统的发起者进行设定。
10.一种计算设备,包括存储装置,所述存储装置上存储有计算机程序,其中所述计算机程序被执行时使所述计算设备完成权利要求1至9中任一项所述的区块链中共识区块的生成方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于朱清明,未经朱清明许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710245865.8/1.html,转载请声明来源钻瓜专利网。