买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于DPoS高容错分层共识方法_江苏大学_201911112959.3 

申请/专利权人:江苏大学

申请日:2019-11-14

公开(公告)日:2023-04-07

公开(公告)号:CN111010278B

主分类号:H04L9/32

分类号:H04L9/32;H04L67/104;H04L67/1042;H04L67/1095;G06Q40/04

优先权:

专利状态码:有效-授权

法律状态:2023.04.07#授权;2020.05.08#实质审查的生效;2020.04.14#公开

摘要:本发明属于区块链技术领域,具体涉及一种基于DPoS高容错分层共识方法。通过分层逐层对故障节点进行筛选,第一层通过对网络所有节点进行分组,选出提名节点,对筛选出的恶意节点进行处罚,第二层是对选出所有组内决议节点进一步分组而构成议长组,选出提名节点,对筛选出的恶意节点进行处罚,完成共识,奖励除出块节点各个参与共识的节点。提高了当前共识的容错率,采用动态积分权重提名方法,按积分权重提名保证了节点按参与共识付出算力当选超级节点的可能性,在新一轮共识中,通过对上一轮出块节点积分重置使整个网络不会因积分出现两级分化而破坏系统的公平性。

主权项:1.一种基于DPoS高容错分层共识方法,其特征在于,包括以下步骤:1构建区块链网络,所述区块链网络包含N个节点;2初始化节点参数,所述节点参数包括节点状态位STATE、共识积分CNS_SCORE、错误计数位ERROR_COUNT;3对区块链网络中的节点进行分组,其中,组数为G,每组K个节点,不足K个与前一组合并;4利用FINDLEADER选举方法计算每一组的提名节点,提名节点编号记为i;所述FINDLEADER选举方法包括如下步骤:4.1构建每一组的共识积分集合,记为表示编号为i、序号为m的节点共识积分,R表示当前组中节点数上限,N为区块链网络的节点总数,G为第一次分组数,R=NG;4.2计算各个节点共识权重,构建节点权重集合,其中节点共识权重计算公式如下: 各个节点权重集合记为: 表示编号为i、序号为m的节点积分权重;4.3对当前节点权重集合中的权重通过ascarrlist升序排序函数对集合进行升序排序得到最终权重集合worder: 4.4计算选举节点编号i,计算公式如下: 其中,getPeerIndexv是随机功能函数;5核实提名节点,确定决议节点;所述核实提名节点的方法包括如下步骤:5.1组内其他节点对已选出的提名节点进行投票,并将结果发给提名节点和全局缓存栈;5.2判断投票结果,如果提名节点收到该组半数以上的赞成票时,该节点通过核实,当选为决议节点,转步骤6;否则,判断选举次数,如果选举次数小于选举失败次数f转步骤5.1,重新投票,否则,转步骤5.3;5.3全局缓存栈执行组解散协议解散该组,该组下所有节点不能继续进行此轮共识;6利用组内决议节点收集并校验交易列表;所述利用组内决议节点收集并校验交易列表的方法包括如下步骤:6.1组内决议节点收集组内其他节点交易列表m和交易列表摘要S1;6.2利用摘要函数digestm计算交易列表摘要S2;6.3比较交易列表摘要S1和交易列表摘要S2,如果S1=S2则校验通过,将该交易列表暂时存储到全局缓存栈中;否则校验不通过,驳回交易信息,按积分规则扣除共识积分CNS_SCORE,同时ERROR_COUNT加e,并将该交易列表暂时存储到全局缓存栈中;7构建议长组,节点服务管理集群根据缓存栈中的信息,按照时间顺序对决议节点进行分组,所述分组方法是:每三个组内决议节点构成一议长组,议长组的总数M=Gh,不足h个与前面的议长组合并,h为议长组内节点个数;8议长组内轮番校验,验证被校验节点的全局缓存中的交易签名与进行校验节点重新计算出的节点交易签名的一致性;所述校验过程如下:判断决议节点收到的两个来自其他决议节点的验证结果是否都是否决,如是则该决议节点所在组存在恶意节点,对该组节点进行排查,发现恶意节点并按照节点积分规则扣除积分,并将ERROR_COUNT加e,e为错误步长,转步骤9;否则校验通过,转步骤9;9选出组间议长节点,对已通过轮番校验的决议节点,利用FINDLEADER选举方法计算议长节点编号j,议长节点是由该议长组内多数验证结果相同的节点选出,该议长节点收集其他决议节点的交易信息并存入当前议长组的全局缓存栈;10议长节点收集交易列表,议长节点收集其他通过校验的决议节点的交易列表,然后对交易打包签名后上传到全局缓存栈;11选出最后出块节点,由各个议长节点组成最终决议组,然后在最终决议组中根据积分权重计算出块节点,利用FINDLEADER选举方法计算出块节点编号l;12利用出块节点将数据写入到区块链上,由出块该节点收集其他议长节点的交易列表,通过获取前一个区块的哈希对当前所有的交易进行打包出块,并发送确认消息给各个议长节点;13判断各个议长节点是否在规定的时间收到确认消息,如在规定的时间收到确认消息则该共识完成,转步骤14;否则各个议长节点向节点服务管理集群发送超时消息,并根据规则处罚出块节点,转步骤11;14对节点进行积分奖励,将CNS_SCORE置为cs,然后对完成共识的节点按照奖励规则进行奖励,cs为积分初始值。

全文数据:

权利要求:

百度查询: 江苏大学 一种基于DPoS高容错分层共识方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。