(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
专利 一种基于动态节点的拜占庭容错共识协议的数据共识方法
安全报告 >
其他 >
文档预览
中文文档
16 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思考人生 于 2024-02-07 20:40:18上传分享