基于股份授权证明机制的区块链共识方法及相关设备技术

技术编号:21344805 阅读:22 留言:0更新日期:2019-06-13 22:57
本发明专利技术涉及区块链的共识机制技术领域,尤其涉及一种基于股份授权证明机制的区块链共识方法及相关设备。该方法包括:采集节点的节点信息,将节点信息广播给其他节点,节点信息中包含有节点标识;获得多个节点广播的节点信息后,以股份授权证明机制进行投票后,将节点信息继续广播给其他节点;对所有节点的投票从高到低进行排列,获得票数最高的前N个节点,将N个节点定义为代表节点,将代表节点对应的节点标识更新至轮流记账表,将轮流记账表广播至所有节点。本发明专利技术将节点信息和行DPOS共识机制相结合,投票选举出代表节点,保证了投票选举出的代表节点均处于效能最大化状态,保证了各节点的公平性。

Block Chain Consensus Method and Related Equipment Based on Share Authorization Certification Mechanism

The invention relates to the technical field of consensus mechanism of block chain, in particular to a block chain consensus method based on stock authorization certification mechanism and related equipment. The method includes: collecting node information, broadcasting node information to other nodes, including node identification; obtaining node information broadcasted by multiple nodes, voting by share authorization certification mechanism, then broadcasting node information to other nodes; arranging the votes of all nodes from high to low, and obtaining the first N nodes with the highest votes. N nodes are defined as representative nodes, the corresponding node identifiers of representative nodes are updated to the alternate accounting tables, and the alternate accounting tables are broadcast to all nodes. The invention combines node information with row DPOS consensus mechanism, votes to elect representative nodes, ensures that the voted representative nodes are in the state of maximum efficiency, and ensures the fairness of each node.

【技术实现步骤摘要】
基于股份授权证明机制的区块链共识方法及相关设备
本专利技术涉及区块链
,尤其涉及一种基于股份授权证明机制的区块链共识方法及相关设备。
技术介绍
区块链网络是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,而共识算法是区块链的核心机制之一。随着区块链技术的发展和演变包含了:POW(工作量证明)、POS(权益证明)、DPOS(股份授权证明机制)等算法。其中,DPOS机制是每个股东按其持股比例拥有影响力,51%股东投票的结果将是不可逆且有约束力的。这种共识机制是通过及时而高效的方法达到51%批准。为达到这个目标,每个股东可以将其投票权授予一名代表。获票数最多的前101位代表按既定时间表轮流产生区块。每名代表分配到一个时间段来产生区块。所有的代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。但是由于DPOS机制没有考虑到共识节点实际在用效率及贡献,造成极大不公平和资源浪费。
技术实现思路
有鉴于此,有必要针对DPOS共识机制中,未考虑共识节点实际效率及贡献,造成不公平和资源浪费的问题,提供一种基于股份授权证明机制的区块链共识方法及相关设备。一种基于股份授权证明机制的区块链共识方法,包括:采集节点的节点信息,将所述节点信息广播给所述区块链网络中与自身节点联通的其他节点,所述节点信息中包含有节点标识;获得所述区块链网络中多个节点广播的所述节点信息后,以股份授权证明机制进行投票后,将所述节点信息继续广播给所述区块链网络中与自身节点联通的其他节点;对所有节点的投票从高到低进行排列,获得票数最高的前N个节点,将所述N个节点定义为代表节点,将所述代表节点对应的节点标识更新至轮流记账表,将所述轮流记账表广播至所述区块链网络中的所有节点。一种可能的设计中,所述采集节点的节点信息,包括:采集节点资源信息,所述节点资源信息包括网络连接速度、CPU空闲率和内存空闲率,将所述网络连接速度、所述CPU空闲率和所述内存空闲率相加,得到节点资源值;采集节点的历史出块数量和所述区块链网络的出块总数,将所述历史出块数量除以所述出块总数,得到节点贡献度;采集节点的历史出块速度,计算历史出块平均速度,所述历史出块平均速度为历史服务指标;所述节点信息包括预设的节点标识、所述节点资源值、所述节点贡献度和所述历史服务指标。一种可能的设计中,所述将所述节点信息广播给所述区块链网络中与自身节点联通的其他节点,包括:通过传输控制协议TCP协议与所述区块链网络中的其他节点建立连接;将所述节点信息以超文本传输协议HTTP请求报文的格式广播给其他节点。一种可能的设计中,所述获得所述区块链网络中多个节点广播的所述节点信息后,以股份授权证明机制进行投票后,将所述节点信息继续广播给所述区块链网络中与自身节点联通的其他节点,包括:获得所述区块链网络中多个节点广播的所述节点信息后,对每个所述节点信息进行加权计算,得到加权系数值,对多个所述节点的所述加权系数值从高到低排序,筛选出所述加权系数值最高的M个节点;所述加权系数值Zi的加权计算公式如下:Zi=Ai*a+Bi*b+Ci*c其中,Ai为第i个节点的节点资源值,Bi为第i个节点的节点贡献度,Ci为第i个节点的历史服务指标,a、b和c为系数;通过所述股份授权证明机制,自动投票给所述M个节点,投票完成后,将多个节点的节点信息继续广播给所述区块链网络中与自身节点联通的其他节点。一种可能的设计中,获得所述区块链网络中多个节点广播的所述节点信息后,对每个所述节点信息进行加权计算,得到加权系数值,包括:获得所述区块链网络中多个节点广播的所述节点信息后,在预设的出块记录表中查找多个所述节点是否存在历史出块失败记录,若任一所述节点存在历史出块失败记录,则将所述节点剔除;将剔除历史出块失败记录后的多个节点的节点信息进行加权计算,得到加权系数值。一种可能的设计中,所述对所有节点的投票从高到低进行排列,获得票数最高的前N个节点,将所述N个节点定义为代表节点,将所述代表节点对应的节点标识更新至轮流记账表,将所述轮流记账表广播至所述区块链网络中的所有节点后,还包括:获取交易信息,对所述交易信息生成交易区块,将所述交易区块广播至所述区块链网络中的其他节点;接收其他节点广播的交易区块,对所述交易区块进行一致性验证,当验证通过时,将所述交易区块签名后广播给所述区块链网络中的其他节点,将所述交易区块进行存储,并将所述交易区块对应的节点标识、出块速度和出块通过标识记录在所述出块记录表中,否则将所述交易区块对应的节点标识和出块失败标识记录在所述出块记录表中。一种可能的设计中,所述接收其他节点广播的交易区块,对所述交易区块进行一致性验证,包括:当接收到的所述交易区块已被N个节点签名,则自动定义为验证通过;否则,获取所述交易区块中的区块头信息,所述区块头信息中包含有节点标识,将所述节点标识与轮流记账表的代表节点排列顺序进行比较,判断是否轮到当前节点标识对应的代表节点出块,如果是,则判断为验证通过,否则,判断为验证失败。一种基于股份授权证明机制的区块链共识装置,包括:采集节点信息模块,用于采集节点的节点信息,将所述节点信息广播给所述区块链网络中与自身节点联通的其他节点,所述节点信息中包含有节点标识;投票模块,用于获得所述区块链网络中多个节点广播的所述节点信息后,以股份授权证明机制进行投票后,将所述节点信息继续广播给所述区块链网络中与自身节点联通的其他节点;产生代表节点模块,用于对所有节点的投票从高到低进行排列,获得票数最高的前N个节点,将所述N个节点定义为代表节点,将所述代表节点对应的节点标识更新至轮流记账表,将所述轮流记账表广播至所述区块链网络中的所有节点。一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述基于股份授权证明机制的区块链共识方法的步骤。一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述基于股份授权证明机制的区块链共识方法的步骤。上述基于股份授权证明机制的区块链共识方法、装置、计算机设备和存储介质,包括采集节点的节点信息,将所述节点信息广播给所述区块链网络中与自身节点联通的其他节点,所述节点信息中包含有节点标识;获得所述区块链网络中多个节点广播的所述节点信息后,以股份授权证明机制进行投票后,将所述节点信息继续广播给所述区块链网络中与自身节点联通的其他节点;对所有节点的投票从高到低进行排列,获得票数最高的前N个节点,将所述N个节点定义为代表节点,将所述代表节点对应的节点标识更新至轮流记账表,将所述轮流记账表广播至所述区块链网络中的所有节点。本专利技术在对节点进行DPOS共识机制选举时,采集节点实际的节点信息,实时同步至区块链网络中,作为投票数据,供其他节点参考后,进行投票,保证了投票出的代表节点均处于效能最大化状态,保证了公平性。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。图1为本专利技术一个实施例中的基于股份授权证明机制的区块链共识方法的流程图;图2为一个实本文档来自技高网...

【技术保护点】
1.一种基于股份授权证明机制的区块链共识方法,其特征在于,包括:采集节点的节点信息,将所述节点信息广播给所述区块链网络中与自身节点联通的其他节点,所述节点信息中包含有节点标识;获得所述区块链网络中多个节点广播的所述节点信息后,以股份授权证明机制进行投票后,将所述节点信息继续广播给所述区块链网络中与自身节点联通的其他节点;对所有节点的投票从高到低进行排列,获得票数最高的前N个节点,将所述N个节点定义为代表节点,将所述代表节点对应的节点标识更新至轮流记账表,将所述轮流记账表广播至所述区块链网络中的所有节点。

【技术特征摘要】
1.一种基于股份授权证明机制的区块链共识方法,其特征在于,包括:采集节点的节点信息,将所述节点信息广播给所述区块链网络中与自身节点联通的其他节点,所述节点信息中包含有节点标识;获得所述区块链网络中多个节点广播的所述节点信息后,以股份授权证明机制进行投票后,将所述节点信息继续广播给所述区块链网络中与自身节点联通的其他节点;对所有节点的投票从高到低进行排列,获得票数最高的前N个节点,将所述N个节点定义为代表节点,将所述代表节点对应的节点标识更新至轮流记账表,将所述轮流记账表广播至所述区块链网络中的所有节点。2.根据权利要求1所述的基于股份授权证明机制的区块链共识方法,其特征在于,所述采集节点的节点信息,包括:采集节点资源信息,所述节点资源信息包括网络连接速度、CPU空闲率和内存空闲率,将所述网络连接速度、所述CPU空闲率和所述内存空闲率相加,得到节点资源值;采集节点的历史出块数量和所述区块链网络的出块总数,将所述历史出块数量除以所述出块总数,得到节点贡献度;采集节点的历史出块速度,计算历史出块平均速度,所述历史出块平均速度为历史服务指标;所述节点信息包括预设的节点标识、所述节点资源值、所述节点贡献度和所述历史服务指标。3.根据权利要求1所述的基于股份授权证明机制的区块链共识方法,其特征在于,所述将所述节点信息广播给所述区块链网络中与自身节点联通的其他节点,包括:通过传输控制协议TCP协议与所述区块链网络中的其他节点建立连接;将所述节点信息以超文本传输协议HTTP请求报文的格式广播给其他节点。4.根据权利要求2所述的基于股份授权证明机制的区块链共识方法,其特征在于,所述获得所述区块链网络中多个节点广播的所述节点信息后,以股份授权证明机制进行投票后,将所述节点信息继续广播给所述区块链网络中与自身节点联通的其他节点,包括:获得所述区块链网络中多个节点广播的所述节点信息后,对每个所述节点信息进行加权计算,得到加权系数值,对多个所述节点的所述加权系数值从高到低排序,筛选出所述加权系数值最高的M个节点;所述加权系数值Zi的加权计算公式如下:Zi=Ai*a+Bi*b+Ci*c其中,Ai为第i个节点的节点资源值,Bi为第i个节点的节点贡献度,Ci为第i个节点的历史服务指标,a、b和c为系数;通过所述股份授权证明机制,自动投票给所述M个节点,投票完成后,将多个节点的节点信息继续广播给所述区块链网络中与自身节点联通的其他节点。5.根据权利要求4所述的基于股份授权证明机制的区块链共识方法,其特征在于,获得所述区块链网络中多个节点广播的所述节点信息后,对每个所述节点信息进行加权计算,得到加权系数值,包括:获得所述区块链网络中多个节点广播的所...

【专利技术属性】
技术研发人员:金龙汤琦
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1