(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210463254.1
(22)申请日 2022.04.28
(71)申请人 中国科学院软件研究所
地址 100190 北京市海淀区中关村南四街 4
号
(72)发明人 倪佩芳 徐静 冯登国
(74)专利代理 机构 北京君尚知识产权代理有限
公司 11200
专利代理师 邱晓锋
(51)Int.Cl.
H04L 9/08(2006.01)
H04L 9/32(2006.01)
(54)发明名称
一种轮依赖的分级共识方法及区块链共识
协议构造方法
(57)摘要
本发明提供一种轮依赖的分级共识方法及
区块链共识协议构造方法。 轮依赖的分级共识协
议的执行中, 当前轮的输出不仅保证了诚实节点
不提交两个不同的区块, 并指导诚实节点在下一
轮执行中如何提出新区块 以及选取领导节点并
对其提出值进行投票。 将轮依赖的分级共识协议
应用在区块链共识协议中, 使区块链共识协议避
免调用耗时的BBA协议, 并实现: (1)固定常数的
轮大小; (2)若分级共识 的输出为2, 则诚实节点
在当前轮执行结束最终确认相应区块及其父区
块, 降低了区块确认延迟; (3)若领导节点恶意,
则当前轮未被诚实节点最终确认的区块, 在将来
时间有机会被诚实节点最终确认, 从而提高了吞
吐量。 该方案适用于同步网络, 所有操作均可在
实际中部署, 实用性较强。
权利要求书3页 说明书13页 附图1页
CN 114826581 A
2022.07.29
CN 114826581 A
1.一种轮依赖的分级共识方法, 其特 征在于, 包括以下步骤:
若当前轮为r=0, 则所有节点 i更新本地链为创世区块B0, 分级状态为
所有节点i验证是否为当前轮r≥1的领导节点, 若是则根据上一轮的分级状态
签
发并广播 新区块; 其中,
表示在第r ‑1轮节点i的本地链的位置k的分级状态;
所有节点验证是否为投票阶段的委员会节点, 若是, 则选取本地领导节点并为其签发
的区块投票;
所有节点接收投票信息, 若收到对某一区块的≥2f+1的有效投票, 则预提交该 区块, 委
员会节点广播 其预提交消息; 其中f表示各阶段委员会中被腐化节点的上界;
所有节点接收预提交消息集合, 若收到对某一区块的≥2f+1的有效预提交消息, 则提
交该区块, 委员会节点广播 其提交消息以及接收到的预提交消息集 合;
所有节点接收提交和预提交消息集合, 并根据本地提交消息以及接收的消息集合确定
本地分级状态。
2.如果权利要求1所述的轮依赖的分级共识方法, 其特征在于, 采用的分级共识协议由
算法BLOCKPROPOSAL、 VOTE、 PRE ‑COMMIT、 COMMIT和GRADEDSTATE组成, BL OCKPROPOSAL表示区
块提出、 VOTE表示投票、 PRE ‑COMMIT表示预提交、 COMMIT表示提交和GRADEDSTATE表示分级
状态, 其中:
1)
输入当前轮数
r、 节点i的临时密钥对
本地链
前一轮协议的输 出
和预添加至
区块中的交易集合Tx; 若节点i为第r轮的委员会成员, 则输出签发的区块消息
其中, propose表示该消息为签发区块消息,
表示节点i计算VRF即可验证的伪随函数的输出,
表示节点i的签发的区块
消息,
表示节点 i用临时密钥
对消息的签名;
2)
输入节点i的临时密钥对
若节点i为
步骤VOTE的委员会成员, 则输出签发的投票消息
其
中, vote表示该消息为投票消息,
表示节点i计算VRF(可验证的伪随函数)的输出,
表示节点i的投票区
块,
表示节点 i用临时密钥
对消息的签名;
3)
输入节点i的临时密钥对
若节点
i 为 步 骤 P E R ‑C O M M I T 的 委 员 会 成 员 ,则 输 出 签 发 的 预 提 交 消 息
其中, pre ‑commit表示该消息预提交消息,权 利 要 求 书 1/3 页
2
CN 114826581 A
2表示节点i计算VRF(可验证的伪随函数)的输出,
表示节点i的预提交消
息,
表示节点 i用临时密钥
对消息的签名;
4)
输入节点i的临时密钥对
若节点
i为步骤COMMIT的委员会成员, 则输出签发的提交消息以及接收的预提交消息集合
其中
其中, commit
表示该消息为提交消息,
表示节点i计算VRF(可验证的伪 随机函数)的输出,
表示节点 i表示节点的提交消息,
表示节点 i用临时密钥
对消息的签名;
5)
输入当前轮数r, 输出节点 i的本地分级状态
3.如权利要求2所述的轮依赖的分级共识方法, 其特征在于, 在步骤BLOCK PROPOSAL确
定签发区块 位置的方法为:
若前一轮的本地分级状态或步骤GRADED STATE的输出为(Bk,r‑1,2), 则签发并广播新
区快Bk+1扩展区块Bk; 其中, k表示区块在链中的位置;
若前一轮的本地分级状态或步骤GRADED STATE的输出为(Bk,r‑1,1), 则签发新区块Bk+1
扩展区块Bk, 并广播区块Bk和Bk+1;
若前一轮的本地分级状态或步骤GRADED STATE的输出为(Bk,r‑1,0), 则签发并广播新
区快B′k替代区块Bk。
4.如权利要求2所述的轮依赖的分级共识方法, 其特征在于, 委员会节点选取本地领导
节点并为其签发的区块投票, 并保证诚实的领导节点被所有诚实的委员会节点选中, 所述
选取本地领导节点, 是由前一轮的分级状态或步骤GRADED STATE的输出确定本地领导节
点:
若前一轮的分级状态为(Bk,r‑1,2)或(Bk,r‑1,1)且已收到了Bk的有效的提交消息, 则
从接收的propose集合
中选取签发区块为Bk+1的子集合中最小VRF值的持有者作为本
地领导节点;
否则, 从接收的propose集合
中选取签发区块B ′k或签发区块Bk+1并广播(Bk,Bk+1)
的子集合中最小VRF值的持有者作为本地领导节点。
5.如权利要求2所述的轮依赖的分级共识方法, 其特征在于, 委员会节点为本地领导节
点新签发的区块投票。
6.如权利要求2所述的轮依赖的分级共识方法, 其特征在于, 在步骤PRE ‑COMMIT和
COMMIT要求所有节点签发本地预提交和提交消息, 仅相应的委员会成员广播消息, 且在步
骤COMMIT要求委员会节点同时广播本地 提交消息和已收到的预提交消息集 合。
7.如权利 要求2所述的轮依赖的分级共识方法, 其特征在于, 在步骤GRADED STATE根据
本地提交消息以及接收到的步骤COM MIT的委员会广播的消息确定 本地分级状态的方法为:
若本地提交区块Bk且其有效性证据仍有效, 则令 本地分级状态为(Bk,r,2);
若本地提交区块Bk无效或提交空值ε, 但收到关于区块Bk的一个一致预提交消息集合,权 利 要 求 书 2/3 页
3
CN 114826581 A
3
专利 一种轮依赖的分级共识方法及区块链共识协议构造方法
文档预览
中文文档
18 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:17:38上传分享