说明:收录25万 73个行业的国家标准 支持批量下载
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210019139.5 (22)申请日 2022.01.07 (71)申请人 南京市中西医结合医院 地址 210014 江苏省南京市玄武区孝陵卫 街179号 申请人 南京理工大 学 (72)发明人 刘万里 杨晓辉 周昌慧 王逸文  王泽廷 徐雷 李鑫  (51)Int.Cl. H04L 9/32(2006.01) (54)发明名称 基于算力证明的治未病场景下联盟链主节 点选举算法 (57)摘要 本发明公开了一种基于算力证明的治未病 场景下联盟链主节点选举算法。 该算法通过算力 证明机制和投票选举机制筛选出综合能力较强 的节点, 节 点根据场景需求完成相应难度的计算 任务, 确保自身能够满足最低算力需求, 然后通 过请求投票成为主节点, 只有获得超 过半数节点 投票的节 点才能够被承认为主节 点。 该算法通过 非对称加密技术和数字签名技术保证在联盟链 环境下的网络安全, 充分考虑 恶意节点的作恶可 能性, 保障主节点选取的公平有效。 该算法可 以 代替联盟链下实用拜占庭容错算法中原有的基 于视图编号的顺序选取主节点方式, 提高区块链 网络的安全性和稳定性, 更好地满足治未病场景 下的数据保存需求。 权利要求书1页 说明书4页 附图2页 CN 114362963 A 2022.04.15 CN 114362963 A 1.一种基于算力证明的治未病场景下联盟链主节点选举算法, 其特征在于, 包括如下 步骤: 第一步, 读取配置文件, 获得当前网络难度值和所有节点偏差值列表。 第二步, 构造一种特殊的数据结构, 不断改变随机数后使用SHA256算法, 找到这样一个 使得该数据结构的哈希值小于目标值的随机数, 作为 算力证明的结果。 第三步, 若在完成算力证明前收到其他节点的有效投票请求, 则为其投票并停止进行 算力证明, 否则成为 候选人并为自己投票, 凭借算力证明结果向其 他节点发送投票请求。 第四步, 收到超过一半节点投票的节点广播投票凭证宣布自身当选主节点, 如果超时 则重新开始选举。 2.根据权利要求1所述的基于算力证明的治未病场景下联盟链主节点选举算法, 其特 征在于, 第二 步所述的算力证明机制, 方法如下: (1)每个节点构造一个特殊的数据结构, 属性如下: (2)计算算力证明 需要的目标值, 计算公式如下: h=1<<(256‑diff‑offset) 其中diff表示网络难度值, of fset表示偏差值。 (3)随机数从0开始递增, 每次改变随机数之后计算数据结构的哈希值, 直到找到一个 使得哈希值小于目标值的随机数。 3.根据权利要求1所述的基于算力证明的治未病场景下联盟链主节点选举算法, 其特 征在于, 第三 步和第四步所述的投票选举机制, 方法如下: (1)在完成算力证 明之前收到其他节点有效的算力证 明结果, 则将票投给该节点, 并停 止算力证明的计算。 (2)在完成算力证 明时仍没有投出自己的票, 则将票投给自己, 并向其余节点广播算力 证明结果。 (3)已经投票之后收到其 他节点有效的算力证明结果, 不响应其投票请求。 (4)收到超过一半节点的投票的节点广播签名列表, 宣布自身当选主节点, 其余节点验 证通过之后承认其主节点身份, 否则超时触发重新选举。权 利 要 求 书 1/1 页 2 CN 114362963 A 2基于算力证明的 治未病场景下联盟链 主节点选举算法 技术领域 [0001]本发明涉及区块链技 术领域, 特别是 涉及区块链共识算法。 背景技术 [0002]在对此方法的研究和实践过程中, 本发明的发明人发现: 治未病场景下联盟链的 主流共识算法实用拜占庭容错算法在主节点选取方式上存在安全性问题。 主节点作为特殊 的记账节点, 需要承担额外的任务, 包括接受客户端的消息, 打包区块和广播区块等。 一方 面, 主节点比记账节点多了计算和 通信的任务, 如果主节点的硬件性能和网络条件无法实 现快速完成任务的要求, 会 带来不可避免的性能下降。 另一方面, 如果主节点不具备稳定地 提供服务的能力, 或是针对网络攻击的抗性较差, 导致主节点因故障下线或是因网络攻击 而失去服务能力这一现象频繁地 发生。 实用拜占庭容错算法基于视图编号轮流担任主节点 的主节点选取方式的问题在于, 一方面, 随着网络的运行每个节点都会有成为主节点的机 会, 这意味着如果不能够保证网络内所有节点都稳定提供服务(显然这是不现实的), 那么 整个网络都需要承担额外的视图切换 的开销。 另一方面, 这种主节点选取 的方式严格遵循 编号顺序, 这意味着攻击者基于当前主节点的编号可以很容易地推算出后续将成为主节点 的一组节点编号顺序, 这意味着攻击者可以很精准地攻击对应节点使其失去服务能力, 这 样在接下连续的多个视图内区块链网络都失去了服务能力, 形成瘫痪整个网络的效果。 或 是恶意节点在成为主节点之后, 攻击编号在自己之后的多个节点, 影响视图切换过程的执 行, 延长自己担任主节点的时间, 便 于实现自己的意图。 发明内容 [0003]为了克服上述现有技术的不足, 本发明提供了一种基于算力证明的治未病场景下 联盟链主节点选举算法。 [0004]本发明所采用的技 术方案是: [0005]基于算力证明的治未病场景 下联盟链主节点选举算法, 包括如下步骤: [0006]第一步, 读取配置文件, 获得当前网络难度值和所有节点偏差值列表。 [0007]第二步, 构造一种特殊的数据结构, 不断改变随机数后使用SHA256算法, 找到这样 一个使得 该数据结构的哈希值小于目标值的随机数, 作为 算力证明的结果。 [0008]第三步, 若在完成算力证明前收到其他节点的有效投票请求, 则为其投票并停止 进行算力证明, 否则成为候选人并为自己投票, 凭借算力证明结果向其他节点发送投票请 求。 [0009]第四步, 收到超过一半节点投票的节点广播投票凭证宣布 自身当选主节点, 如果 超时则重新 开始选举。 [0010]与现有技术相比, 本 发明的有益效果是能够筛选出计算能力、 网络情况、 稳定性和 抗攻击能力具备优势的主节点。 算力证明机制通过完成计算任务保证了只有 具备一定程度 的计算能力的节点才能够作为主节点选举的候选人请求其余节点投票。 而在网络内存在多说 明 书 1/4 页 3 CN 114362963 A 3

PDF文档 专利 基于算力证明的治未病场景下联盟链主节点选举算法

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于算力证明的治未病场景下联盟链主节点选举算法 第 1 页 专利 基于算力证明的治未病场景下联盟链主节点选举算法 第 2 页 专利 基于算力证明的治未病场景下联盟链主节点选举算法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-07 12:41:21上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。