[发明专利]一种应用于区块链的拜占庭容错共识方法在审
申请号: | 202211060665.2 | 申请日: | 2022-08-31 |
公开(公告)号: | CN115473710A | 公开(公告)日: | 2022-12-13 |
发明(设计)人: | 黄步添;熊伟刚;何峰强;罗春凤;何钦铭 | 申请(专利权)人: | 杭州云象网络技术有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L9/32;H04L67/10 |
代理公司: | 杭州五洲普华专利代理事务所(特殊普通合伙) 33260 | 代理人: | 徐晶晶 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 区块 拜占庭 容错 共识 方法 | ||
1.一种应用于区块链的拜占庭容错共识方法,其特征在于,包含以下步骤:
获取交易信息并解析,根据交易签名计算出共识节点的下标,分发交易信息到对应下标的共识节点的交易队列,所述共识节点根据预设出块策略进行出块,其中,所述交易信息包括交易签名;
将出块后的每一区块通过共识过程加入区块链,其中,共识过程包括新高度阶段、提议阶段、预投票阶段、预提交阶段及提交阶段,并在预提交阶段加入锁定机制和解锁机制;
在提议阶段中,从共识节点中选举出一个节点作为提名节点,提名节点发起关于当前区块加入区块链的提议,并向其他共识节点广播所述提议;
预投票阶段、预提交阶段和提交阶段中,各个共识节点对所述提议分别进行投票,若在任意一阶段超过总数2/3的共识节点投票则所述提议被通过,则进入任意一阶段的下一阶段;
若提议阶段中接收到共识节点状态改变触发请求时,则通过gossip机制使全网中各共识节点达到一致状态,其中,所述改变触发请求包括超时请求、合法提议或在预投票阶段、预提交阶段和提交阶段收到总数2/3以上共识节点投票的情况。
2.根据权利要求1所述的应用于区块链的拜占庭容错共识方法,其特征在于,所述根据交易签名计算出共识节点的下标,包括以下步骤:
将交易签名的最后一位数据转化为整型数字;
将所述整型数字对共识节点的数量进行取模运算,得到余数,所述余数即为当前交易需要分发的共识节点对象的下标。
3.根据权利要求1所述的应用于区块链的拜占庭容错共识方法,其特征在于,共识节点投票数据存储于存储结构中,所述节点投票包括:节点投票类型、节点投票的区块高度、节点当前的投票轮次、节点投票的区块哈希、投票节点的下标和投票节点的签名,包括:
节点投票类型包括提议、预投票、预提交和提交,用于标识投票所属的阶段分别为提议阶段、预投票阶段、预提交阶段和提交阶段;
节点投票的区块高度,用于标识节点投票提议中区块在的高度;
节点当前投票轮次,用于标识节点投票提议中的区块的轮次;
节点投票的区块哈希,用于确定节点投票提议中的区块是唯一的;
投票节点下标,用于标识投票节点;
投票节点的签名,用于保证该投票的唯一确定性。
4.根据权利要求1或3所述的应用于区块链的拜占庭容错共识方法,其特征在于,所述从共识节点中选举出一节点作为提名节点,包括以下步骤:
当前区块高度加一除以每个节点可提的区块数,所得结果的整数部分即为高度偏移量hf;
当前轮次对共识节点总数取余,得到结果即为轮次偏移量rf;
将所述高度偏移量hf和所述轮次偏移量rf进行求和运算得到求和结果,将所述求和结果对共识节点总数取余,得到结果即为提名节点下标pi。
5.根据权利要求1所述的应用于区块链的拜占庭容错共识方法,其特征在于,所述预提交阶段加入锁定机制和解锁机制,包括以下步骤:
在任意一轮中,区块具有的超过2/3的预投票被称作一个波尔卡,超过2/3的空预投票称为空波尔卡;
锁定机制:各共识节点记录并维护在共识节点自身的共识状态中每个轮次中收到了波尔卡的区块,即自己预提交投票签名过的提议,并锁定在所述提议描述的区块中;若当前共识节点锁定在某一区块,在后续轮次中,所述共识节点作为非提名节点只能对区块进行预投票,作为提名节点只能对区块发起提议;
解锁机制:共识节点收到比自己锁定的区块轮次更高的提议的波卡尔或空波卡尔时进行解锁,并为所述后续轮次的提议进行预提交投票签名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州云象网络技术有限公司,未经杭州云象网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211060665.2/1.html,转载请声明来源钻瓜专利网。