(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210338172.4 (22)申请日 2022.04.01 (71)申请人 重庆邮电大 学 地址 400065 重庆市南岸区南 山街道崇文 路2号 (72)发明人 唐飞 彭金兰 徐婷鲜 黄永洪  黄东  (74)专利代理 机构 重庆辉腾律师事务所 5 0215 专利代理师 卢胜斌 (51)Int.Cl. H04L 67/10(2022.01) H04L 9/32(2006.01) H04L 9/40(2022.01) H04L 12/18(2006.01) (54)发明名称 一种基于动态节点的拜占庭容错共识协议 的数据共识方法 (57)摘要 本发明属于区块链 技术领域, 具体涉及一种 基于动态节点的拜占庭容错共识协议的数据共 识方法, 该方法包括: 初始化系统, 随机选 取节点 作为共识组; 更新共识组中的各个节点; 在新的 共识组节 点中随机选取主节点、 提交收集器节点 以及执行收集器节点; 主节点接收来自客户端的 请求信息, 并将请求信息打包成区块后广播到共 识组的所有节 点; 每个节点采用私钥对区块信息 进行签名, 并将签名发送给提交收集器节点; 提 交收集器节点执行快速数据共识过程或者执行 线性数据共识过程; 本发明设计了一种新的基于 动态节点的拜占庭容错共识协议, 该协议可以在 无需停机进行节点信息重配置的条件 下, 实现节 点的分布式加入、 退出, 同时也能够抵御对主节 点的自适应攻击 。 权利要求书3页 说明书9页 附图3页 CN 115051985 A 2022.09.13 CN 115051985 A 1.一种基于动态节点的拜占庭容错共识协议的数据共识方法, 其特征在于, 包括: 构建 区块链系统, 该系统包括副本节点、 主节点、 C ‑collector节点以及E ‑collector节点, 其中, C‑collector为提交收集器, E ‑collector为执行收集器; 采用基于动态节点的拜占庭容错 共识协议对数据进行共识的过程包括: S1: 初始化系统的共识参数和各个节点的密钥; S2: 根据初始化的共识参数随机 选取节点作为共识组; S3: 更新共识 组中的各个节点, 得到新的共识组; 更新共识组包括新的节点加入共识组 或者共识组中的节 点被撤销; 其中, 共识组中的节点被撤销包括: 节点分布式主动退出共识 组、 节点分布式被动撤销共识组以及退 出节点密钥管理; S4: 在新的共识组节点中选取主节点, 并随机选取C ‑collector节点和E ‑collector节 点; S5: 主节点接收来自客户端的请求信息, 并将请求信息打包成区块后广播到共识组的 所有节点; S6: 每个节点采用自己的私钥ski对区块信息进行签名, 并将签名发送给C ‑collector节 点; S7: C‑collector节点确定接收的数据, 根据接收的数据判断执行fast ‑path数据共识 过程或者执 行linear‑PBFT数据共识过程。 2.根据权利要求1所述的一种基于动态节点的拜占庭容错共识协议的数据共识方法, 其特征在于, 初始化系统的共识参数和各个节点的密钥包括: S11: 确定共识组的初始 节点数n; S12: 确定签名初始阈值 参数t1、 t2以及t3; S13: 每个节点运行分布式密钥生成算法生成各自的私钥ski, 并根据私钥计算公钥pki, 并将公钥广播给 给个节点; S14: 每个节点运行共识算法, 对初始化过程中生成的公共参数params达成分布式一 致, 所述公共参数包括共识小组初始 节点数、 签名阈值 参数以及公私钥集。 3.根据权利要求1所述的一种基于动态节点的拜占庭容错共识协议的数据共识方法, 其特征在于, 新的节点加入 共识组的过程包括: 步骤1: 新加入节点向共识组节点发送加入申请; 步骤2: 共识组节点验证新加入节点身份, 对其包含身份信息的数据进行签名, 并将签 名后的数据发送给C ‑collector; 步骤3: C‑collector若收到所有节点的签名消息, 则将其聚合并广播给共识组的所有 节点; 步骤4: 共识组节点 根据新加入节点的身份, 生成对应的私钥份额发送给新加入节点; 步骤5: 新加入节点将签名份额进行累加, 得到自己的私钥, 根据私钥计算自己的公钥, 并将公钥广播给共识组的所有节点; 步骤6: 共识 组节点将新加入节点的公钥添加至公共参数中, 并进行一 次公共参数的共 识。 4.根据权利要求1所述的一种基于动态节点的拜占庭容错共识协议的数据共识方法, 其特征在于, 节点分布式主动退 出共识组的过程包括:权 利 要 求 书 1/3 页 2 CN 115051985 A 2步骤1: 主动退 出节点向共识组节点发送退 出申请; 步骤2: 共识组节点验证退 出消息的有效性, 并发送签名给E ‑collector; 步骤3: E‑collector若收到超过(2n)/3的节点发来的签名消息, 则将其聚合并广播给 共识组的所有节点; 步骤4: 共识组节点验证聚合签名的有效性, 然后向主动退 出节点发送退 出成功消息; 步骤5: 共识组节点将其退出消息记录在撤销列表CRL中, 删除公共参数中退出节点的 公钥, 并发送退 出成功消息给主动退 出节点; 步骤6: 共识组节点广播撤销列表, 对撤销列表以及公共参数达成分布式一 致。 5.根据权利要求1所述的一种基于动态节点的拜占庭容错共识协议的数据共识方法, 其特征在于, 节点分布式被动撤销共识组的过程包括: 步骤1: 共识组节点广播投诉消息给共识组的所有节点; 步骤2: 共识组中的节点若收到超过(2n)/3的节点发来的投诉消息, 则发送签名给E ‑ collector; 步骤3: E‑collector若收到(2n)/3的签名消息, 则将签名进行聚合并广播退出成功消 息给共识组的所有节点; 步骤4: 共识组节点将其退出消息记录在撤销列表CRL中, 删除公共参数中退出节点的 公钥; 步骤5: 共识组节点广播撤销列表, 对撤销列表以及公共参数达成分布式一 致。 6.根据权利要求1所述的一种基于动态节点的拜占庭容错共识协议的数据共识方法, 其特征在于, 退 出节点密钥管理的过程包括: 步骤1: 若退出节点为初始共识 组节点, 则退出节点在 分布式密钥生成中所使用多项式 将由其余节点赋予新加入的某个节点, 此时这个节点拥有与初始签名组同等的权利; 步骤2: 若退出节点不为初始共识组节点, 则无需进行多项式的权利变更操作, 直接退 出共识组。 7.根据权利要求1所述的一种基于动态节点的拜占庭容错共识协议的数据共识方法, 其特征在于, 在新的共识组节点选取主节点的过程包括: S41: 获取全网公知的数seed, 根据数seed和该节点的私钥ski采用确定性算法F生成随 机数value; 设置阈值条件, 该阈值条件为分布在1~n之内的随机数; 将生成的随机数与设 置的阈值条件进行对比, 若该随机数满足设置的阈值条件, 则生成该随机数 的节点为当前 主节点, 否则, 该节点 不为主节点; S42: 将全网公知的数se ed和私钥输入到确定性 算法F中, 生成随机数的证明pro of; S43: 验证proof是否可以正确计算出value, 且value是否由ski的拥有者所生成; 其中验 证过程在主节点发布打包区块之后, 由共识组其余节点进行验证, 判断其是否为当前主节 点。 8.根据权利要求1所述的一种基于动态节点的拜占庭容错共识协议的数据共识方法, 其特征在于, 根据接收的数据判断执行fast ‑path数据共识过程 或者执行linear ‑PBFT数据 共识过程: 设置数据接收时间阈值, 在设置的数据接收时间阈值范围内确定C ‑collector节 点接收的数据量, 若在接收的数据量未超过3 f+c+1, 则执行fast ‑path数据共识过程; 若在 数据接收时间阈值内超 过3f+c+1, 则执行执行linear ‑PBFT数据共识过程; 其中, f表示可容权 利 要 求 书 2/3 页 3 CN 115051985 A 3

.PDF文档 专利 一种基于动态节点的拜占庭容错共识协议的数据共识方法

安全报告 > 其他 > 文档预览
中文文档 16 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于动态节点的拜占庭容错共识协议的数据共识方法 第 1 页 专利 一种基于动态节点的拜占庭容错共识协议的数据共识方法 第 2 页 专利 一种基于动态节点的拜占庭容错共识协议的数据共识方法 第 3 页
下载文档到电脑,方便使用
本文档由 思考人生2024-02-07 20:40:18上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。