[发明专利]一种区块链拜占庭容错共识方法及系统有效
申请号: | 202010181812.6 | 申请日: | 2020-03-16 |
公开(公告)号: | CN111416708B | 公开(公告)日: | 2023-01-31 |
发明(设计)人: | 赵峰;朱敏;钟林;何畅彬 | 申请(专利权)人: | 麦希科技(北京)有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/32;G07C13/00;G06Q40/02 |
代理公司: | 北京高沃律师事务所 11569 | 代理人: | 刘凤玲 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 拜占庭 容错 共识 方法 系统 | ||
1.一种区块链拜占庭容错共识方法,其特征在于,所述方法包括:
步骤S1:节点进行密码抽签,被抽中的节点提议区块并广播;
步骤S2:对最高优先级的区块进行第一轮投票,所述步骤S2包括:
步骤S21:根据各节点的公钥、各节点的抵押、第r个区块种子和第一验证值确定第一有效属性;
步骤S22:如果第一有效属性输出为有效,则接收被抽中节点广播的区块;如果第一有效属性输出为无效,则拒绝接收被抽中节点广播的区块;
步骤S23:根据各节点的私钥、各节点的抵押和第r个区块种子确定第二随机值和第二验证值;
步骤S24:判断第二随机值是否在第一轮投票阈值范围内;如果第二随机值在第一轮投票阈值范围内,则选取最高优先级的区块;
步骤S25:对最高优先级的区块进行第一轮投票,获得各节点的第一签名;
步骤S3:判断各区块的第一轮票数是否大于或等于设定条件;如果存在第一轮投票大于或等于设定条件的区块,则对该区块进行第二轮投票;所述设定条件为2/3总票数;
步骤S4:判断第一轮票数和第二轮票数是否均大于或等于设定条件;如果第一轮票数和第二轮票数均大于或等于设定条件,则对该区块达成共识并返回步骤S1,否则执行步骤S5;
步骤S5:如果不存在第一轮票数大于或等于设定条件的区块,则对空块进行第三轮投票;如果存在第一轮票数大于或等于设定条件且第二轮票数小于设定条件的区块,则对该区块进行第三轮投票;如果第三轮票数大于或等于设定条件,则返回步骤S2,对该区块开始新一轮的投票;否则进入步骤S1。
2.根据权利要求1所述的区块链拜占庭容错共识方法,其特征在于,所述步骤S1包括:
步骤S11:根据各节点的私钥、各节点的抵押和第r个区块种子确定第一随机值和第一验证值;
步骤S12:判断第一随机值是否在区块提议阈值范围内;如果所述第一随机值在区块提议阈值范围内,则节点被抽中,被抽中的节点提议区块并广播;否则节点没被抽中,拒绝提议区块并广播。
3.根据权利要求1所述的区块链拜占庭容错共识方法,其特征在于,所述步骤S3包括:
步骤S31:根据各节点的公钥、各节点的抵押、第r个区块种子和第二验证值确定第二有效属性;
步骤S32:根据各节点的第一签名、各节点的公钥、第二随机值、第二验证值、各节点的抵押、第r个区块种子和最高优先级的区块确定第三有效属性;
步骤S33:当第二有效属性和第三有效属性均为有效值时,则统计各区块的第一轮票数;
步骤S34:根据各节点的私钥、各节点的抵押和第r个区块种子确定第三随机值和第三验证值;
步骤S35:判断第三随机值是否在第二轮投票阈值范围内;如果第三随机值在第二轮投票阈值范围内,则执行步骤S36;
步骤S36:对第一轮投票满足设定条件的区块进行第二轮投票,获得各节点的第二签名。
4.根据权利要求1所述的区块链拜占庭容错共识方法,其特征在于,所述步骤S4包括:
步骤S41:根据各节点的公钥、各节点的抵押、第r个区块种子和第三验证值确定第四有效属性;
步骤S42:根据各节点的第二签名、各节点的公钥、第三随机值、第三验证值、各节点的抵押、第r个区块种子和最高优先级的区块确定第五有效属性;
步骤S43:当第四有效属性和第五有效属性均为有效值时,则统计各区块内第二轮票数;
步骤S44:当第一轮票数大于或等于设定条件且第二轮票数大于或等于设定条件时,则对该区块达成共识并返回步骤S1;否则,执行步骤S5。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于麦希科技(北京)有限公司,未经麦希科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010181812.6/1.html,转载请声明来源钻瓜专利网。