说明:收录各省市地方标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210902646.3 (22)申请日 2022.07.27 (71)申请人 郑州大学 地址 450001 河南省郑州市高新 技术开发 区科学大道100号 (72)发明人 刘炜 佘维 田钊 阮敏捷  师恩洁 宰光军 夏玉洁 张聪  (74)专利代理 机构 郑州裕晟知识产权代理事务 所(特殊普通 合伙) 41142 专利代理师 徐志威 (51)Int.Cl. G06Q 20/38(2012.01) G06Q 20/40(2012.01) H04L 67/1095(2022.01) H04L 9/32(2006.01) (54)发明名称 基于动态信任 模型的分组拜占庭容 错算法 (57)摘要 本发明提供一种基于动态信任模型的分组 拜占庭容错算法, 包括客户端、 交易处理中心、 交 易处理器, 所述交易处理中心包括交易池, 所述 客户端向所述交易池提交交易, 所述交易处理器 提取所述交易池内的交易依次进行节 点选取、 节 点分组、 共识通信、 依据信任度评估进行主节点 重新选取, 在节点选取阶段, 对节点进行初始化, 在初始化阶段, 交易处理器为节点依次分配密 钥、 设置初始信任度、 随机选 择主节点; 节 点分组 中, 用哈希取模的方式对节点先后进行分组, 并 找出每组的lea der节点; 本发明有效降低了通信 开销和共识时延, 提高了吞吐量、 可靠性和稳定 性, 有效降低拜占庭容 错算的通信复杂度。 权利要求书4页 说明书16页 附图3页 CN 115271724 A 2022.11.01 CN 115271724 A 1.一种基于动态信任模型的分组拜占庭容错算法, 其特征在于: 包括客户端、 交易处理 中心、 交易处理器, 所述交易处理中心包括交易池, 所述客户端向所述交易池提交交易, 所 述交易处 理器提取 所述交易池内的交易进行以下处 理步骤: 步骤S1、 节点选取, 对节点进行初始化, 在初始化阶段, 交易处理器为节点依次分配密 钥、 设置初始信任度、 随机 选择主节点; 步骤S2、 节点分组, 完成步骤S1后, 采用哈希取模的方式对经过步骤S1设置初始信 任度 的不同信任等级的节点先后进行分组, 将全网参与共识的节点划分为k组, 并找出每组的 leader节点; 步骤S3、 小组宕机判断, 完成步骤S2后, 判断各小组是否宕机, 如果小 组不宕机, 则执行 步骤S4, 如果小组宕机, 执 行步骤S2以进行重新分组, 之后在新试图下 执行步骤S4; 步骤S4、 共识通信, 完成步骤S3后, 接着将节点提出区块, 然后在内对区块进行PBFT共 识, 组内共识完成后, 由各 组的leader节 点代表本组进 行组间PBFT共识, 组内和组间共识均 完成后, 节点将区块同步到 本地; 步骤S5, 主节点的重新选择, 完成步骤S4后, 根据动态信任模型更新信任度和信 任状态 并重新选择主节点, 进入下一视图。 2.根据权利要求1所述的基于动态信任模型的分组拜占庭容错算法, 其特征在于, 所述 步骤S4‑S5中, 当共识超时, 从节点将触发视图切换协议, 若有达到2f+1个从节点请求视图 切换, 则新的主节点发起新视图, 开始新一轮的共识工作; 所述共识超时为, 完成一轮共识 后, 重新选择出主节点后, 但其节点在一个规定的时间内没有收到该主节点发送的pre ‑ prepare消息 。 3.根据权利要求1所述的基于动态信任模型的分组拜占庭容错算法, 其特征在于, 所述 步骤S2进行节点分组的具体过程如下: 步骤S21、 将可信状态和正常状态节点随机分配到每组, 通过当前区块的哈希值和节点 公钥PK计算出h(key), 即: h(key)=hash(hash(bl ock), PK)  式1; 每次分组时, h(key)均进行更新, 由于hash(block)是随机的, 因此h(key)也是随机的, 而hash(bl ock)的值无法预测且不可控制, 满足分组所要求的随机性; 步骤S22、 获取h(key)后x位十六进制字符, 转换成对应的十进制整数y; 步骤S23、 对y进行 取模操作, 获取节点对应的随机分组索引groupI ndex, groupIndex=y%k     式2; 步骤S24、 若节点分到的组 内节点数已达到 则groupIndex+1, 若groupIndex+1 =k, 则groupI ndex=0; 步骤S25、 重复步骤S24, 直至可信状态和正常状态 节点全部划分到分组内; 步骤S26、 待可信状态与正常状态节点完成分组后, 为异常状态节点分组, 首先对异常 状态节点执行步骤S21 ‑S23; 步骤S27、 完成步骤S26后, 若节点分到 的组内节点数已达到 则groupIndex+1, 若 groupIndex+1= k, 则groupI ndex=0; 步骤S28、 重复步骤S27重复这 一步, 直至异常状态 节点划分到分组内。 4.根据权利要求3所述的基于动态信任模型的分组拜占庭容错算法, 其特征在于: 待将权 利 要 求 书 1/4 页 2 CN 115271724 A 2可信状态、 正常状态节点、 异常状态节点分组完毕后, 找出每组的leader节点, 所述leader 节点查找过程为, 主节点所在分组中主节点作为此分组的leader节点, 其余各小组中信任 度最高的节点作为小组的leader节点, 若leader节点宕机或有拜占庭行为, 根据组内信任 度排序, 依次选取下一节点担任leader节点, k个leader节点构成上层共识集群, 其余节点 构成由上层leader 节点领导的底层共识集群, 形成一个多中心层次化的网络结构。 5.根据权利要求1所述的基于动态信任模型的分组拜占庭容错算法, 其特征在于, 所述 步骤S4的共识通信具体过程如下: 步骤S41、 组内共识流 程: 步骤S411、 leader节点向组内从节点发送预准备消息, 消息格式为<<L ‑PRE‑PREPARE, v, h, t, D(b)>σi, b>。 步骤S412、 组内从节点接收到来自leader节点的预准备消息后, 对消息进行验证, 若验 证通过, 向组内其余节点发送准备消 息, 消息格式为<<L ‑PREPARE, v, h, D(b), i>σi>, 同时 节点接收来自组内其他节点的准备消息, 当收到2fq+1条准备消息且验证通过, 进入commit 阶段。 步骤S413、 组内从节点组织确认消息并向组内其他节点发送, 消息格式为<<L ‑COMMIT, v, h, D(b), i>σi>, 同时节点收到 来自组内其他节点的确认消息, 当收到2fq+1条确认消息且 验证通过时, 则此组 组内共识完成; 步骤S42、 组间共识流 程: 步骤S421、 leader节点向其他组leader节点发送准备消息, 消息格式为<<G ‑PREPARE, v, h, t, D(b)>σi>, 在leader节点发送准备消息的同时, 会接收到来自其他leader节点的准 备消息, 若接收到2fk+1个准备消息且均通过验证, 则进入com mit阶段。 步骤S422、 各le ader节点向其他le ader节点发送确认消息, 消息格式为<<G ‑COMMIT, v, h, D(b), i>σi>。 当各leader 节点收到2fk+1个确认消息且 验证通过时, 组间共识完成; 步骤S43、 区块同步到 本地流程: 完成步骤S41 ‑S42后, 各leader节点向其组内从节点发送执行消息, 各组节点将区块附 加到本地区块链, 实现区块链系统中数据的最终一 致。 6.根据权利要求5所述的基于动态信任模型的分组拜占庭容错算法, 其特征在于, 在进 行步骤S41 ‑S42时, 需要对预准备消息进行以下几点验证: (1)v与当前自身所在视图编号是否一 致; (2)h与当前区块高度是否一 致; (3)D(b)与区块b的摘要是否一 致; (4)消息签名是否合法; (5)区块体中的交易是否合法, 交易脚本是否能正确执 行; (6)区块头中各字段 是否正确有效; 若各项验证均通过, 则承认消息的有效性, 节点执 行区块, 并缓存执 行结果。 7.根据权利要求1所述的基于动态信任模型的分组拜占庭容错算法, 其特征在于, 所述 步骤S5中的动态信任模型包括信任奖惩机制、 信任消耗机制、 信任恢复机制、 信任等级机 制, 所述信任度的计算依据信任 奖惩、 信任消耗和信任恢复机制, 所述信任等级机制通过节 点信任度的大小设置节点信任状态, 管理节点权限。权 利 要 求 书 2/4 页 3 CN 115271724 A 3

PDF文档 专利 基于动态信任模型的分组拜占庭容错算法

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