公共安全标准网
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210215898.9 (22)申请日 2022.03.07 (71)申请人 中国科学院软件研究所 地址 100190 北京市海淀区中关村南四街 4 号 (72)发明人 徐静 窦涵月  (74)专利代理 机构 北京君尚知识产权代理有限 公司 11200 专利代理师 余长江 (51)Int.Cl. H04L 67/1061(2022.01) H04L 9/08(2006.01) H04L 9/14(2006.01) H04L 9/32(2006.01) H04L 9/40(2022.01) (54)发明名称 基于小规模委员会的区块链出块方法及PoS 协议确认方法 (57)摘要 本发明公开了一种基于小规模委员会的区 块链出块方法及PoS协议确认方法, 所述区块链 出块方法包括: 参与者节点生成公私钥对, 并广 播公钥; 进入第i轮时, 各委员会节点基于私钥生 成主链中特定区块的投票, 并广播, 以使参与者 节点基于委员会节点公钥, 获取 投票中的合法投 票, 并将合法投票存储于本地的投票列表; 领导 者节点检查本地的投票列表, 基于未与主链冲突 的投票生成区块B, 并广播; 各参与者节点通过检 查所述区块B是否为有效区块, 得到更新后的当 前视图, 以获取参与者节点的第i轮出块结果。 除 每轮结束后的确认外, 本协议采用辅助确认的方 法, 定期对长期未确认的区块链进行确认。 本发 明避免了平衡攻击, 加速了PoS区块链协议确认 速度。 权利要求书2页 说明书8页 附图1页 CN 114615281 A 2022.06.10 CN 114615281 A 1.一种基于小规模 委员会的区块链出块方法, 其 步骤包括: 参与者节点 生成公私钥对, 并广播公钥; 进入第i轮时, 各委员会节点基于私钥生成主链中特定区块的投票, 并广播, 以使各参 与者节点基于相 应的委员会节点公钥, 获取所述投票中的合法投票, 并将所述合法投票存 储于本地的投票列表, 其中委员会节点基于所述 参与者节点选举产生; 领导者节点检查本地的投票列表, 基于未与主链冲突的投票生成区块B, 并广播, 其中 领导者节点通过所述委员会节点选举产生; 各参与者节点通过检查所述区块B是否为有效区块, 得到更新后的当前视图, 以获取各 参与者节点的第i轮出块结果。 2.如权利要求1所述的方法, 其特征在于, 所述各委员会节点基于私钥生成主链中特定 区块的投票, 包括: 委员会节点获取当前视图并进行选链; 基于所述选链结果, 得到特定区块; 使用所述私钥对所述特定区块的相关信息m进行签名, 生成签名 σvote; 根据特定区块、 投票人股权份额、 相关信息m与签名 σvote, 生成投票。 3.如权利要求2所述的方法, 其特征在于, 所述各参与者节点基于相应的委员会节点公 钥, 获取所述投票中的合法投票, 包括: 基于所述签名 σvote与所述签名 σvote的相应公钥, 计算相关消息m ′; 若所述相关信息m与相关消息m ′一致, 则该投票是合法投票。 4.如权利要求1所述的方法, 其特征在于, 所述领导者节点检查本地的投票列表, 基于 未与主链冲突的投票 生成区块B, 包括: 领导者节点获取当前视 图并进行选链, 选链后得到主链, 并输出该当前主链上尾部的 最后一个区块B‑1; 对于投票列表, 将不包 含在该当前视图下的其 他区块中的所述投票v, 作为投票v ′; 将与所述当前主链兼容的投票v ′, 作为投票v ″; 若所述投票v ″与所述更新后投票列表中的任一投票v不存在签名者冲突, 则将该投票 v″加入集合V; 生成一区块随机数randi; 基于轮数i、 区块随机数randi、 区块B‑1、 投票集合V和交易信息集 合Txs, 生成签名 σblock; 基于签名σblock、 轮数i、 区块随机数randi、 区块B‑1、 集合V、 交易信息集合Txs和领导者节 点的公钥pkleader, 生成区块B。 5.如权利要求4所述的方法, 其特征在于, 广播所述区块B之后, 领导者节点在本地投票 列表中删除所述 集合V中包含的投票。 6.如权利要求1所述的方法, 其特征在于, 所述各参与者节点通过检查所述区块B是否 为有效区块, 得到更新后的当前视图, 包括: 分别对所述区块B进行签名检查、 区块重复检查及区块投票重用检查; 对检查通过的所述区块B, 添加在所述当前视图下, 并拒绝检查未 过的所述区块B。 7.一种基于小规模 委员会的PoS协议确认方法, 其 步骤包括: 第i轮结束后, 各参与者节点确认第i轮之前未确认的区块和通过权利要求1 ‑6中任一权 利 要 求 书 1/2 页 2 CN 114615281 A 2方法得到的第i轮出块结果; 若i=es*c, 则对所述区块链出块结果进行辅助确认, 得到相应参与者节点的第i轮最 终证书Cer tfinal, 其中c为任意整数, es为两次辅助确认之间时间段的尺寸; 若i≠es*c, 则重新选举委员会节点, 并对得到的第i轮出块结果及第i轮之前未确认的 出块结果进行PoS协议确认。 8.如权利要求7 所述的方法, 其特 征在于, 所述确认第i轮之前 未确认的区块, 包括: 获取轮数i ′, 并计算参数k=i‑i′, 其中i′<i, 轮数i ′为得到最 新确认区块B的轮数; 以区块B为 根迭代计算子树的权 重, 得到一整数ω; 若ω≥2k n/3, 则计算当前目标区块被更改的概 率p, 其中n 为委员会节点的数量; 当所述概率p小于参与者节点定义的安全系数p*时, 则确认第i ′轮出块结果。 9.如权利要求7中所述的方法, 其特 征在于, 所述辅助确认, 包括: 获取当前视图, 根据当前视图广播关于主链选择的区块 提案; 收集其他参与者节点的区块提案, 聚合区块提案集合中所包含的签名, 形成临时证书 后广播, 其中j为 参与者节点的编号; 验证参与者节点j ′广播的临时证书 并对临时证书 进行临时证书投票; 收集临时证书投票于投票集合V ′中, 聚合投票集合V ′中所包含的签名, 形成最终证书 后广播; 其他参与者节点收到最终证书, 并对最终证书中包含的第 i轮出块结果及第 i轮之前未 确认的出块结果进行确认。 10.一种存储介质, 所述存储介质中存储有计算机程序, 其中, 所述计算机程序被设置 为运行时执 行权利要求1 ‑9中任一所述方法。权 利 要 求 书 2/2 页 3 CN 114615281 A 3

PDF文档 专利 基于小规模委员会的区块链出块方法及PoS协议确认方法

文档预览
中文文档 12 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于小规模委员会的区块链出块方法及PoS协议确认方法 第 1 页 专利 基于小规模委员会的区块链出块方法及PoS协议确认方法 第 2 页 专利 基于小规模委员会的区块链出块方法及PoS协议确认方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-07 12:40:48上传分享
友情链接
交流群
  • //public.wenku.github5.com/wodemyapi/22.png
-->
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。