区块链系统的共识机制实现方法、介质、装置及系统制造方法及图纸

技术编号:20369941 阅读:31 留言:0更新日期:2019-02-16 20:05
本发明专利技术提出了一种区块链系统的共识机制实现方法,该方法包括:在区块链系统初始化时,创建系统节点权重表;当区块链系统中的当前生产节点生产区块时,根据系统节点权重表对每个节点的ip地址进行问询以判断区块链系统中是否存在掉线节点;如果存在掉线节点,则将掉线节点的节点权重值减1,并更新系统节点权重表;当基于dpos共识机制产生生产节点时,根据每个节点的投票数和每个节点的节点权重值选取生产节点。由此,本发明专利技术将节点离线时间与节点投票数统计权重进行挂钩,使得经常掉线的节点即使获得高票数,其投票数统计权重也不会太高,从而大大降低了常常掉线的节点成为区块生产节点的可能性,保证区块链系统高效运转。

The Realization Method, Medium, Device and System of the Consensus Mechanism of Block Chain System

The invention proposes a consensus mechanism implementation method for block chain system, which includes: creating a system node weight table when the block chain system is initialized; inquiring the IP address of each node according to the system node weight table when the current production node in the block chain system produces blocks to determine whether there are dropped nodes in the block chain system; and if there are dropped nodes in the block chain system; Node, the node weight value of dropped node is reduced by 1, and the system node weight table is updated. When the production node is generated based on dpos consensus mechanism, the production node is selected according to the number of votes and the node weight value of each node. Thus, the present invention links the off-line time of nodes with the statistical weight of the voting number of nodes, so that the statistical weight of the voting number of nodes that often drop off will not be too high even if they get a high number of votes, thus greatly reducing the possibility of the nodes that often drop off becoming block production nodes and ensuring the efficient operation of the block chain system.

【技术实现步骤摘要】
区块链系统的共识机制实现方法、介质、装置及系统
本专利技术涉及信息处理
,特别涉及一种区块链系统的共识机制实现方法、介质、装置及系统。
技术介绍
区块链本质上是一种由交易驱动的确定性状态机,共识是商定确定性交易顺序和过滤无效交易的过程,DPOS(DelegatedProofofStake,委任权益证明)引人注目的安全性来自于其选择区块生产者和验证节点质量的算法。现有DPOS共识机制下的区块链系统对于区块生产节点的选取是通过投票实现的,然而由于投票者无法时刻关注各节点的生产区块情况,从而导致没有及时投票,而默认按照前一次投票结果进行投票,或者出现给常常掉线的节点进行投票的情况。
技术实现思路
本专利技术旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种区块链系统的共识机制实现方法,能够将节点离线时间与节点投票数统计权重进行挂钩,使得经常掉线的节点即使获得高票数,其投票数统计权重也不会太高,从而大大降低了常掉线的节点成为区块生产节点的可能性,保证区块链系统高效运转。本专利技术的第二个目的在于提出一种计算机可读存储介质。本专利技术的第三个目的在于提出一种区块链系统的共识机制实现装置。本专利技术的第四个目的在于提出一种区块链系统。为达到上述目的,本专利技术第一方面实施例提出了一种区块链系统的共识机制实现方法,包括以下步骤:在区块链系统初始化时,创建系统节点权重表,其中,所述系统节点权重表包括节点ip地址项和对应的节点权重值;当所述区块链系统中的当前生产节点生产区块时,根据所述系统节点权重表对每个节点的ip地址进行问询以判断所述区块链系统中是否存在掉线节点;如果存在掉线节点,则将所述掉线节点的节点权重值减1,并更新所述系统节点权重表;当基于dpos共识机制产生生产节点时,获取每个节点的投票数,并通过调用所述系统节点权重表以获取每个节点的节点权重值,以及根据每个节点的投票数和每个节点的节点权重值选取生产节点。根据本专利技术实施例的区块链系统的共识机制实现方法,首先在区块链系统初始化时,创建系统节点权重表,其中,系统节点权重表包括节点ip地址项和对应的节点权重值;接着当区块链系统中的当前生产节点生产区块时,根据系统节点权重表对每个节点的ip地址进行问询以判断区块链系统中是否存在掉线节点,如果存在掉线节点,则将掉线节点的节点权重值减1,并更新系统节点权重表;然后当基于dpos共识机制产生生产节点时,获取每个节点的投票数,并通过调用系统节点权重表以获取每个节点的节点权重值,以及根据每个节点的投票数和每个节点的节点权重值选取生产节点,从而在确定生产节点时将节点离线时间与节点投票数统计权重进行挂钩,使得经常掉线的节点即使获得高票数,其投票数统计权重也不会太高,大大降低了常常掉线的节点成为区块生产节点的可能性,保证区块链系统的高效运转。另外,根据本专利技术上述实施例提出的区块链系统的共识机制实现方法还可以具有如下附加的技术特征:可选地,当所述区块链系统中任意一个节点接收到新节点的连入请求时,该节点对所述新节点的ip地址进行广播,以便所述区块链系统中的生产节点接收到广播后将所述新节点的ip地址在所述系统节点权重表内检索以判断所述系统节点权重表中是否存在所述新节点的ip地址项,其中,如果存在,则保持所述新节点的ip地址项对应的节点权重值不变;如果未存在,则在所述系统节点权重表中创建所述新节点的ip地址项,并对所述新节点的ip地址项对应的节点权重值进行初始赋值。可选地,对每个节点的ip地址进行问询时,向每个节点发送问询信息,并在预设时间后判断是否接收到应答信息,其中,如果接收到当前节点的应答信息,则判断当前节点在线;如果未接收到当前节点的应答信息,则判断当前节点掉线。可选地,根据每个节点的投票数和每个节点的节点权重值选取生产节点,包括:将每个节点的投票数乘以对应的节点权重值以获得每个节点的加权得票数;根据每个节点的加权得票数进行从大到小排序,以选取加权得票数最高的前预设个节点为生产节点。为达到上述目的,本专利技术第二方面实施例提出了一种计算机可读存储介质,其上存储有区块链系统的共识机制实现程序,该区块链系统的共识机制实现程序被处理器执行时实现如上述的区块链系统的共识机制实现方法。根据本专利技术实施例的计算机可读存储介质,通过存储区块链系统的共识机制实现程序,这样区块链系统的共识机制实现程序被处理器执行时实现如上述的区块链系统的共识机制实现方法,从而在确定生产节点时将节点离线时间与节点投票数统计权重进行挂钩,使得经常掉线的节点即使获得高票数,其投票数统计权重也不会太高,大大降低了常常掉线的节点成为区块生产节点的可能性,保证区块链系统的高效运转。为达到上述目的,本专利技术第三方面实施例提出了一种区块链系统的共识机制实现装置,包括创建模块,用于在区块链系统初始化时创建系统节点权重表,其中,所述系统节点权重表包括节点ip地址项和对应的节点权重值;问询模块,用于在所述区块链系统中的当前生产节点生产区块时根据所述系统节点权重表对每个节点的ip地址进行问询以判断所述区块链系统中是否存在掉线节点;赋值模块,用于在所述区块链系统中存在掉线节点时将所述掉线节点的节点权重值减1,并更新所述系统节点权重表;共识模块,用于在基于dpos共识机制产生生产节点时,获取每个节点的投票数,并通过调用所述系统节点权重表以获取每个节点的节点权重值,以及根据每个节点的投票数和每个节点的节点权重值选取生产节点。根据本专利技术实施例的区块链系统的共识机制实现装置,在区块链系统初始化时,通过创建模块创建系统节点权重表,其中,系统节点权重表包括节点ip地址项和对应的节点权重值,并且在区块链系统中的当前生产节点生产区块时,问询模块根据系统节点权重表对每个节点的ip地址进行问询以判断区块链系统中是否存在掉线节点,如果存在掉线节点,则通过赋值模块将掉线节点的节点权重值减1,并更新系统节点权重表,这样共识模块在基于dpos共识机制产生生产节点时获取每个节点的投票数,并调用系统节点权重表以获取每个节点的节点权重值,以及根据每个节点的投票数和每个节点的节点权重值选取生产节点,从而在确定生产节点时将节点离线时间与节点投票数统计权重进行挂钩,使得经常掉线的节点即使获得高票数,其投票数统计权重也不会太高,大大降低了常常掉线的节点成为区块生产节点的可能性,保证区块链系统的高效运转。另外,根据本专利技术上述实施例提出的区块链系统的共识机制实现装置还可以具有如下附加的技术特征:可选地,所述赋值模块还用于,当所述区块链系统中任意一个节点接收到新节点的连入请求时,该节点对所述新节点的ip地址进行广播,以便所述区块链系统中的生产节点接收到广播后将所述新节点的ip地址在所述系统节点权重表内检索以判断所述系统节点权重表中是否存在所述新节点的ip地址项,其中,如果存在,则保持所述新节点的ip地址项对应的节点权重值不变;如果未存在,则在所述系统节点权重表中创建所述新节点的ip地址项,并对所述新节点的ip地址项对应的节点权重值进行初始赋值。可选地,所述问询模块进一步用于,对每个节点的ip地址进行问询时,向每个节点发送问询信息,并在预设时间后判断是否接收到应答信息,其中,如果接收到当前节点的应答信息,则判断当前节点在线;本文档来自技高网...

【技术保护点】
1.一种区块链系统的共识机制实现方法,其特征在于,包括以下步骤:在区块链系统初始化时,创建系统节点权重表,其中,所述系统节点权重表包括节点ip地址项和对应的节点权重值;当所述区块链系统中的当前生产节点生产区块时,根据所述系统节点权重表对每个节点的ip地址进行问询以判断所述区块链系统中是否存在掉线节点;如果存在掉线节点,则将所述掉线节点的节点权重值减1,并更新所述系统节点权重表;当基于dpos共识机制产生生产节点时,获取每个节点的投票数,并通过调用所述系统节点权重表以获取每个节点的节点权重值,以及根据每个节点的投票数和每个节点的节点权重值选取生产节点。

【技术特征摘要】
1.一种区块链系统的共识机制实现方法,其特征在于,包括以下步骤:在区块链系统初始化时,创建系统节点权重表,其中,所述系统节点权重表包括节点ip地址项和对应的节点权重值;当所述区块链系统中的当前生产节点生产区块时,根据所述系统节点权重表对每个节点的ip地址进行问询以判断所述区块链系统中是否存在掉线节点;如果存在掉线节点,则将所述掉线节点的节点权重值减1,并更新所述系统节点权重表;当基于dpos共识机制产生生产节点时,获取每个节点的投票数,并通过调用所述系统节点权重表以获取每个节点的节点权重值,以及根据每个节点的投票数和每个节点的节点权重值选取生产节点。2.如权利要求1所述的区块链系统的共识机制实现方法,其特征在于,当所述区块链系统中任意一个节点接收到新节点的连入请求时,该节点对所述新节点的ip地址进行广播,以便所述区块链系统中的生产节点接收到广播后将所述新节点的ip地址在所述系统节点权重表内检索以判断所述系统节点权重表中是否存在所述新节点的ip地址项,其中,如果存在,则保持所述新节点的ip地址项对应的节点权重值不变;如果未存在,则在所述系统节点权重表中创建所述新节点的ip地址项,并对所述新节点的ip地址项对应的节点权重值进行初始赋值。3.如权利要求1或2所述的区块链系统的共识机制实现方法,其特征在于,对每个节点的ip地址进行问询时,向每个节点发送问询信息,并在预设时间后判断是否接收到应答信息,其中,如果接收到当前节点的应答信息,则判断当前节点在线;如果未接收到当前节点的应答信息,则判断当前节点掉线。4.如权利要求1或2所述的区块链系统的共识机制实现方法,其特征在于,根据每个节点的投票数和每个节点的节点权重值选取生产节点,包括:将每个节点的投票数乘以对应的节点权重值以获得每个节点的加权得票数;根据每个节点的加权得票数进行从大到小排序,以选取加权得票数最高的前预设个节点为生产节点。5.一种计算机可读存储介质,其特征在于,其上存储有区块链系统的共识机制实现程序,该区块链系统的共识机制实现程序被处理器执行时实现如权利要求1-4中任一项所述的区块链系统的共识机制实现方法。6.一种区块链...

【专利技术属性】
技术研发人员:吴胜文
申请(专利权)人:泰链厦门科技有限公司
类型:发明
国别省市:福建,35

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

1