全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211060665.2 (22)申请日 2022.08.31 (71)申请人 杭州云象网络技 术有限公司 地址 310000 浙江省杭州市余杭区仓前街 道余杭塘路海智中心7号楼 (72)发明人 黄步添 熊伟刚 何峰强 罗春凤  何钦铭  (74)专利代理 机构 杭州五洲普华专利代理事务 所(特殊普通 合伙) 33260 专利代理师 徐晶晶 (51)Int.Cl. H04L 9/40(2022.01) H04L 9/32(2006.01) H04L 67/10(2022.01) (54)发明名称 一种应用于区块链的拜占庭容 错共识方法 (57)摘要 本发明公开了一种应用于区块链的拜占庭 容错共识方法, 包括: 区块生 成于共识流程之前, 交易基于签名分发到对应节点; 根据区块高度和 轮次以及每个节点可以连续出块的个数计算出 当前的轮共识的提名节点, 并由所述节点负责提 出区块加入区块链的提议; 节 点轮流对提议进行 投票, 当一个提议提交失败时, 协议将进入到下 一轮次, 新的提名节点将为该高度提出一个新的 区块; 成功提交一个块需要两个阶段的投票, 分 别是预投票和预提交投票; 通过锁定和解锁机制 来避免写入区块的分叉情况; gossip机制确保共 识节点尽快达到一致的状态。 故本发 明能够实现 交易分发过程随机且均匀, 负载均衡; 节点选举 有利于去中心化, 防止单点故障, 增强鲁棒性; 多 阶投票保证系统安全。 权利要求书2页 说明书6页 附图2页 CN 115473710 A 2022.12.13 CN 115473710 A 1.一种应用于区块链的拜占庭容 错共识方法, 其特 征在于, 包 含以下步骤: 获取交易信息并解析, 根据交易签名计算出共识节点的下标, 分发交易信息到对应下 标的共识节点的交易队列, 所述共识节点根据预设出块策略进 行出块, 其中, 所述交易信息 包括交易签名; 将出块后的每一区块通过共识过程加入区块链, 其中, 共识过程包括新高度阶段、 提议 阶段、 预投票阶段、 预提交阶段及提交阶段, 并在预提交阶段加入锁定 机制和解锁机制; 在提议阶段中, 从共识节点中选举出一个节点作为提名节点, 提名节点发起关于当前 区块加入区块链的提 议, 并向其 他共识节点广播所述 提议; 预投票阶段、 预提交阶段和提交阶段中, 各个共识节点对所述提议分别进行投票, 若在 任意一阶段超过总数2/3的共识节点投票则所述提议被通过, 则进入任意一阶段的下一阶 段; 若提议阶段中接收到共识节点状态改变触发请求时, 则通过gossip机制使全网中各共 识节点达到一致状态, 其中, 所述改变触发请求包括超时请求、 合法提议或在预投票阶段、 预提交阶段和提交阶段收到总数2/ 3以上共识 节点投票的情况。 2.根据权利要求1所述的应用于区块链的拜占庭容错共识方法, 其特征在于, 所述根据 交易签名计算出共识 节点的下 标, 包括以下步骤: 将交易签名的最后一 位数据转 化为整型数字; 将所述整型数字对共识节点的数量进行取模运算, 得到余数, 所述余数即为当前交易 需要分发的共识 节点对象的下 标。 3.根据权利要求1所述的应用于区块链的拜占庭容错共识方法, 其特征在于, 共识节点 投票数据存储于存储结构中, 所述节点投票包括: 节点投票类型、 节点投票的区块高度、 节 点当前的投票轮次、 节点投票的区块哈希、 投票节点的下 标和投票节点的签名, 包括: 节点投票类型包括提议、 预投票、 预提交和提交, 用于标识 投票所属的阶段分别为提议 阶段、 预投票阶段、 预提交阶段和提交阶段; 节点投票的区块高度, 用于标识 节点投票 提议中区块在的高度; 节点当前投票轮次, 用于标识 节点投票 提议中的区块的轮次; 节点投票的区块哈希, 用于确定节点投票 提议中的区块是唯一的; 投票节点下 标, 用于标识投票节点; 投票节点的签名, 用于保证该投票的唯一确定性。 4.根据权利要求1或3所述的应用于区块链的拜占庭容错共识方法, 其特征在于, 所述 从共识节点中选举出一节点作为 提名节点, 包括以下步骤: 当前区块高度加一除以每个节点可提的区块数, 所得结果的整数部分即为高度偏移量 hf; 当前轮次对 共识节点总数 取余, 得到结果即为轮次偏移量rf; 将所述高度偏移量hf和所述轮次偏移量rf进行求和运算得到求和结果, 将所述求和结 果对共识节点总数 取余, 得到结果即为 提名节点下 标pi。 5.根据权利要求1所述的应用于区块链的拜占庭容错共识方法, 其特征在于, 所述预提 交阶段加入锁定 机制和解锁机制, 包括以下步骤: 在任意一轮中, 区块具有 的超过2/3的预投票被称作一个波尔卡, 超过2/3的空预投票权 利 要 求 书 1/2 页 2 CN 115473710 A 2称为空波尔卡; 锁定机制: 各共识节点记录并维护在共识节点自身的共识状态中每个轮次中收到了波 尔卡的区块, 即自己预提交投票签名过的提议, 并锁定在所述提议描述的区块中; 若当前共 识节点锁定在某一区块, 在后续轮次中, 所述共识节点作为非提名节点只能对区块进行预 投票, 作为 提名节点只能对区块发起 提议; 解锁机制: 共识节点收到比自己锁定的区块轮次更高的提议的波卡尔或空波卡尔时进 行解锁, 并为所述后续轮次的提 议进行预提交投票签名。 6.根据权利 要求1所述的应用于区块链的拜占庭容错共识方法, 其特征在于, gossip机 制中节点之间的数据交 互方式, 包括: 发起信息交换的第 一共识节点随机选择联系第 二共识节点, 并向第 一共识节点发送信 息, 第二共识节点收到信息后进 行数据比对和更新, 其中, 将拥有新信息的节 点作为发起节 点的触发条件; 发起信息交换的第一共识节点随机选择联系第 二共识节点, 并从对方获取信息, 其中, 将无新信息的节点作为发起节点的触发条件; 发起信息交换的第一共识节点向选择的第二共识节点发送信息, 同时从对方获取数 据, 用于更新本地数据。 7.根据权利要求1所述的应用于区块链的拜占庭容错共识方法, 其特征在于, 所述预投 票阶段, 包括以下步骤: 共识节点不断监听是否有新的关于区块加入区块链的提 议; 各共识节点收到所述 提议后, 验证所述 提议及提名节点的真实性、 可靠性和合法性; 验证通过后对所述 提议进行预投票签名, 并广播到网络中; 若在规定提议时间内未收到有效提议, 其设置所述提议的预投票为空, 当超过2/3的共 识节点通过所述提议, 则进入预提交阶段。 8.根据权利要求1所述的应用于区块链的拜占庭容错共识方法, 其特征在于, 在预提交 阶段, 包括以下步骤: 每个共识节点不断接收网络中的预投票; 共识节点将对通过预投票提议的区块签名并广播预提交投票, 在预提交阶段后期, 若 共识节点收集到了超过共识节点总数2/3个的预提交投票, 则共识节点进入到提交阶段, 否 则到下一轮的提 议阶段。 9.根据权利要求1所述的应用于区块链的拜占庭容错共识方法, 其特征在于, 在提交阶 段, 包括以下步骤: 每个共识节点不断接收网络中的预提交 投票; 节点若收集到 了共识节点总数2/ 3以上个预提交 投票, 则广播 提交投票; 节点不断收集网络中的提交投票, 若收集共识节点总数2/3以上个提交投票, 则将提交 时间设置 到当前时间上, 并且进入到新高度阶段。 10.根据权利要求8所述的一种应用于区块链的拜占庭容错共识方法, 其特征在于, 在 共识过程中, 若节点收到共识 节点总数2/ 3以上预提交投票, 则所述节点会进入提交阶段。权 利 要 求 书 2/2 页 3 CN 115473710 A 3

PDF文档 专利 一种应用于区块链的拜占庭容错共识方法

文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种应用于区块链的拜占庭容错共识方法 第 1 页 专利 一种应用于区块链的拜占庭容错共识方法 第 2 页 专利 一种应用于区块链的拜占庭容错共识方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-03-03 12:05:29上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。