CN112887391B - 一种基于贡献值的高可靠性区块链共识方法及系统 - Google Patents
一种基于贡献值的高可靠性区块链共识方法及系统 Download PDFInfo
- Publication number
- CN112887391B CN112887391B CN202110081985.5A CN202110081985A CN112887391B CN 112887391 B CN112887391 B CN 112887391B CN 202110081985 A CN202110081985 A CN 202110081985A CN 112887391 B CN112887391 B CN 112887391B
- Authority
- CN
- China
- Prior art keywords
- node
- group
- difficulty
- block
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004364 calculation method Methods 0.000 claims abstract description 33
- 230000000694 effects Effects 0.000 claims abstract description 9
- 238000012795 verification Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 13
- 238000011084 recovery Methods 0.000 abstract description 5
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 230000006872 improvement Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于贡献值的高可靠性区块链共识方法及系统,包括:收集区块链系统中节点的信息,为各节点分配贡献值并进行降序排序;采用“均值迁移”的动态分组方法对降序列表进行动态分组;计算分组后各组的组间难度和每组内节点的组内难度,确定各节点的PoW计算难度值;各节点根据各自的难度值开始PoW计算,将率先完成计算的节点作为本轮生成新区块的出块节点;基于出块节点外的其他节点,验证区块链系统选取的出块节点是否符合创建新区块的要求。本发明可解决现有共识机制中节点贡献值相差不大但节点获得出块权利的概率相差很大的问题,加强节点出块概率与节点贡献值的拟合程度,以及提高系统的出块效率和备灾效果。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种基于贡献值的高可靠性区块链共识方法及系统。
背景技术
在基于贡献值的共识机制(PoC)中,系统将贡献值大小作为选取出块节点的唯一依据,这使系统存在强确定性问题。当受到网络环境的影响,贡献值最大的节点可能出现非正常下线等突发情况,系统无法正常完成出块,其它节点只能处于一种等待的状态,导致系统长时间挂起。因此,需要一种全新的方案,在确保贡献值最大的节点出块可能性最大的前提下,保障系统在遇到任何突发情况时,节点都可以出块,不会让系统长时间挂起。
基于贡献值和难度值的共识机制(PoCW)的提出可有效的解决了基于贡献值的共识机制(PoC)中存在的上述问题。引入工作量证明(PoW),区块链系统根据节点的贡献值大小为节点分配用于PoW计算的难度值,率先完成PoW计算的节点获得出块的权利,这使得排名靠后的节点存在了出块的可能性。当贡献值最大的节点率先完成了PoW计算,在该节点出块的过程中出现了非正常下线的情况,此时将由下一个优先结束PoW计算的节点获得出块权利,保证了系统不会出现出块节点不在线的情况。
但是上述共识机制(PoCW)在很大程度上还是尊重着“贡献值大小等同于记账出块权”的强关联关系,系统在为各节点分配PoW计算难度值时,需要先将排序后的节点进行“斐波那契”分组;按照其分组原理,当两个相邻节点的贡献值相差的很小,但是根据“斐波那契”分组导致两节点分在不同组,这就使得两个节点被分配的难度值差别较大,造成节点贡献值相差不大但节点获得出块权利的概率相差很大的结果。
因此,需要一种上述共识机制(PoCW)的改进方案,在确保贡献值最大的节点出块可能性最大的前提下,使得排名靠后节点的出块可能性增加,增强系统的公平性,有利于用户积极的参与进来。
发明内容
针对现有技术中存在的上述问题,本发明提供一种基于贡献值的高可靠性区块链共识方法及系统,即提供一种新型区块链共识机制(PoCWU);该方法引入动态分组和难度值分配概念,以解决现有共识机制(PoCW)中节点贡献值相差不大但节点获得出块权利的概率相差很大的问题,加强节点出块概率与节点贡献值的拟合程度,以及提高系统的出块效率和备灾效果。
本发明公开了一种基于贡献值的高可靠性区块链共识方法,包括:
步骤1、收集区块链系统中节点的信息,为各节点分配贡献值并进行降序排序,得到一个降序列表CList;
步骤2、采用“均值迁移”的动态分组方法对所述降序列表CList进行动态分组;
步骤3、计算分组后各组的组间难度和每组内节点的组内难度,确定各节点的PoW计算难度值H;
步骤4、各节点根据各自的难度值H开始PoW计算,将率先完成计算的节点作为本轮生成新区块的出块节点;
步骤5、基于所述出块节点外的其他节点,验证区块链系统选取的所述出块节点是否符合创建新区块的要求。
作为本发明的进一步改进,在所述步骤1中,
所述贡献值是节点加入区块链网络系统后,节点进行符合系统规范的活动后被系统赋予的一种参数,对于每一个初次加入到区块链网络中的节点,贡献值将被初始化为0。
作为本发明的进一步改进,在所述步骤1中,所述降序排序包括:
在一个既定的出块周期T后,统计系统内所有节点的贡献值大小,并进行降序排序得到一个降序列表CList。
作为本发明的进一步改进,在所述步骤2中,所述“均值迁移”的动态分组方法,包括:
步骤21、计算贡献值列表CList中相邻节点贡献值之差的平均值Cd;其中,贡献值列表CList={C1,C2,…,Cn},n为区块链系统内节点的个数;
步骤22、初始化节点所在集合Gj=Φ(j=1,2,..,n),并且初始化节点序号i=1,节点组号j=1及G1={C1},CList列表中节点C1的组号j=1;
步骤23、确定各节点所在组Gj:判断Ci-Ci+1之差是否大于若大于,则节点Ci和节点Ci+1属于不同组,j=j+1,记为Gj=Gj∪{Ci+1},此时的Gj为一个新的组;若不大于,则节点Ci和节点Ci+1属于同一组,j=j,记为Gj=Gj∪{Ci+1},此时的Gj是为节点Ci所在的组;
步骤24、判断当前节点Ci是否是CList中的最后一个值,若是,则结束步骤2;若不是,则i的值加一位,继续执行步骤23;最终将分组集合记为G={G1,G2,…,Gm-1}(0<m≤n),m为系统经过动态分组后的组数。
作为本发明的进一步改进,所述步骤3,包括:
步骤31、为每一个组确定组间难度:
步骤32、确定每一组内各个节点的组内难度:
步骤33、确定节点的PoW难度哈希值Hj,i:
Hj,i表示排序为第j组中的第i个的节点在进行哈希碰撞时,需要计算出一个小于Hj,i的哈希值,按照下述公式计算节点的难度哈希值;
Hj,i=2Dap-param1j-param2j,i
式中,param1j表示第j组的组间难度,param2j,i表示在第j组中,排序为i的节点的组内难度;Dap是一个可变的难度调节参数。
作为本发明的进一步改进,在所述步骤4中,所述出块节点用于进行新区块的创建工作,并将所述新区块向全网广播。
作为本发明的进一步改进,所述步骤5,包括:
将除所述出块节点外的其他节点作为验证节点,所述出块节点向全网发出广播创建出新区块的同时,各验证节点接收新区块,验证该出块的节点是否为最快运算出符合要求的哈希值的节点;
验证通过后,验证节点还要验证新区块头中的merkle-Tree的根是否与本地的merkle-Tree的根一致;
若二者的值一致,则将新区块添加到到区块链的尾部成功,并将节点的信息进行更新;若二者的值不一致,则新区块添加到到区块链的尾部失败。
本发明还公开了一种基于贡献值的高可靠性区块链共识系统,包括:
收集排序模块,用于收集区块链系统中节点的信息,为各节点分配贡献值并进行降序排序,得到一个降序列表CList;
分组模块,用于采用“均值迁移”的动态分组方法对所述降序列表CList进行动态分组;
难度值计算模块,用于计算分组后各组的组间难度和每组内节点的组内难度,确定各节点的PoW计算难度值H;
出块节点确定模块,用于各节点根据各自的难度值H开始PoW计算,将率先完成计算的节点作为本轮生成新区块的出块节点;
验证模块,用于基于所述出块节点外的其他节点,验证区块链系统选取的所述出块节点是否符合创建新区块的要求。
与现有技术相比,本发明的有益效果为:
1、本发明以贡献值作为节点权利评价的指标,不需要额外的代币分发,可以避免个别节点控制系统的情况;
2、本发明使用“均值迁移”的动态分组方法代替“斐波那契”静态分组方法,使得贡献值相差不大的节点分在同一组内,可以避免出现节点贡献值相差不大但节点获得出块权利概率相差较大的情况。
3、本发明设计出全新的难度值分配算法,使排名靠后节点的出块概率得到提升,加强了节点出块概率与节点贡献值的拟合程度,提高了区块链系统的出块效率和备灾效果。
附图说明
图1为本发明一种实施例公开的基于贡献值的高可靠性区块链共识方法的流程图;
图2为本发明一种实施例公开的动态分组的流程图;
图3为本发明一种实施例公开的计算PoW难度值的流程图;
图4为本发明一种实施例公开的基于贡献值的高可靠性区块链共识系统的框架图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
本发明提供一种基于贡献值的高可靠性区块链共识方法及系统,即提供一种以基于贡献值计算的区块链系统为基础的区块链共识机制的改进方案(PoCWU);该方法引入动态分组和难度值分配概念,以解决现有共识机制(PoCW)中节点贡献值相差不大但节点获得出块权利的概率相差很大的问题,加强节点出块概率与节点贡献值的拟合程度,以及提高系统的出块效率和备灾效果;并且该改进方案适用于其他任何以非“币”形式为基础的区块链系统共识方案。
本发明区块链共识机制(PoCWU)的原理为:在PoC共识机制的基础上,引入工作量证明的共识机制(PoW算法),采用“均值迁移”的动态分组方法代替“斐波那契”的静态分组方法,该分组方法可将贡献值相差不大的节点分在同一组中,使得同一组中的节点具有相同的组间难度;对于分组后的组内各节点来说,通过设计的全新的难度值分配公式,使得组内各节点间的哈希碰撞难度值差距较小;通过将组间和组内的节点难度值分配方案进行结合,实现了基于贡献值的高可靠性区块链共识方法。
具体的:
如图1所示,本发明提供一种基于贡献值的高可靠性区块链共识方法,包括:
步骤1、收集区块链系统中节点的信息,为各节点分配贡献值并进行降序排序,得到一个降序列表CList;
其中,
贡献值C代表区块链系统中节点的贡献的大小,贡献值是节点加入区块链网络系统后,节点进行符合系统规范的活动后被系统赋予的一种参数;系统中所有节点集合记为N={n1,n2,…,nn},n为系统节点个数,所有新加入系统的节点贡献值的初始值Cinit,Cinit=0;
在一个既定的出块周期T后,统计系统内所有节点的贡献值大小,并进行降序排序得到一个降序列表CList={C1,C2,…,Cn},n为区块链系统内节点的个数。
步骤2、采用“均值迁移”的动态分组方法对降序列表CList进行动态分组;
其中,
“均值迁移”的动态分组方法是把节点贡献值差的平均值、相邻节点贡献值差作为依据,将相差不大的节点分在同一组中。
如图2所示,“均值迁移”的动态分组方法具体包括:
步骤22、初始化节点所在集合Gj=Φ(j=1,2,..,n),并且初始化节点序号i=1,节点组号j=1及G1={C1},CList列表中节点C1的组号j=1;
步骤23、确定各节点所在组Gj:判断Ci-Ci+1(相邻节点贡献值)之差是否大于若大于,则节点Ci和节点Ci+1属于不同组,j=j+1,记为Gj=Gj∪{Ci+1},此时的Gj为一个新的组;若不大于,则节点Ci和节点Ci+1属于同一组,j=j,记为Gj=Gj∪{Ci+1},此时的Gj是为节点Ci所在的组;
步骤24、判断当前节点Ci是否是CList中的最后一个值,若是,则结束步骤2;若不是,则i的值加一位,继续执行步骤23;最终将分组集合记为G={G1,G2,…,Gm-1}(0<m≤n),m为系统经过动态分组后的组数。
步骤3、计算分组后各组的组间难度和每组内节点的组内难度,确定各节点的PoW计算难度值H;
其中,
PoW难度哈希值指的是节点为了竞争获得出块权而进行的哈希计算的难度值。经过分组后,利用本发明中的难度分配算法,为系统中的每一个节点分配不同难度的哈希计算的难度值。
如图3所示,确定各节点的PoW计算难度值具体包括:
步骤31、为每一个组确定组间难度:
计算每一组Gj内全部节点贡献值的平均值(第j组的平均贡献值),计算所有组的平均贡献值之差的平均值计算每一组的组间难度param1j;若节点处于分组后的第一组G1,那么该节点的组间难度为param1j为0;
步骤32、确定每一组内各个节点的组内难度:
步骤33、确定节点的PoW难度哈希值Hj,i:
Hj,i表示排序为第j组中的第i个的节点在进行哈希碰撞时,需要计算出一个小于Hj,i的哈希值,按照下述公式计算节点的难度哈希值;
Hj,i=2Dap-param1j-param2j,i
式中,param1j表示第j组的组间难度,param2j,i表示在第j组中,排序为i的节点的组内难度;Dap是一个可变的难度调节参数。
步骤4、各节点根据各自的难度值H开始PoW计算,将率先完成计算的节点作为本轮生成新区块的出块节点;
其中,
完成步骤3后,各节点拥有了自己的哈希碰撞难度值,各节点同时开始对于各自所分配到的不同难度的哈希值进行运算,直到有一个节点率先计算出了符合自己难题所要求的哈希值,该节点则将作为本轮生成新区块的节点。出块节点进行新区块的创建工作,并将新区块向全网广播。
步骤5、基于出块节点外的其他节点,验证区块链系统选取的出块节点是否符合创建新区块的要求;
其中,
验证方法具体包括:
步骤51、将除出块节点外的其他节点作为验证节点,出块节点向全网发出广播创建出新区块的同时,各验证节点接收新区块,验证该出块的节点是否为最快运算出符合要求的哈希值的节点;
步骤52、验证通过后,验证节点还要验证新区块头中的merkle-Tree的根是否与本地的merkle-Tree的根一致;
步骤53、若二者的值一致,则将新区块添加到到区块链的尾部成功,并将节点的信息进行更新;若二者的值不一致,则新区块添加到到区块链的尾部失败。
如图4所示,本发明提供一种基于贡献值的高可靠性区块链共识系统,包括:
收集排序模块,用于收集区块链系统中节点的信息,为各节点分配贡献值并进行降序排序,得到一个降序列表CList;
分组模块,用于采用“均值迁移”的动态分组方法对降序列表CList进行动态分组;
难度值计算模块,用于计算分组后各组的组间难度和每组内节点的组内难度,确定各节点的PoW计算难度值H;
出块节点确定模块,用于各节点根据各自的难度值H开始PoW计算,将率先完成计算的节点作为本轮生成新区块的出块节点;
验证模块,用于基于出块节点外的其他节点,验证区块链系统选取的出块节点是否符合创建新区块的要求。
本发明的优点为:
1、本发明以贡献值作为节点权利评价的指标,不需要额外的代币分发,可以避免个别节点控制系统的情况;
2、本发明使用“均值迁移”的动态分组方法代替“斐波那契”静态分组方法,使得贡献值相差不大的节点分在同一组内,可以避免出现节点贡献值相差不大但节点获得出块权利概率相差较大的情况。
3、本发明设计出全新的难度值分配算法,使排名靠后节点的出块概率得到提升,加强了节点出块概率与节点贡献值的拟合程度,提高了区块链系统的出块效率和备灾效果。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种基于贡献值的高可靠性区块链共识方法,其特征在于,包括:
步骤1、收集区块链系统中节点的信息,为各节点分配贡献值并进行降序排序,得到一个降序列表CList;
步骤2、采用“均值迁移”的动态分组方法对所述降序列表CList进行动态分组;
步骤3、计算分组后各组的组间难度和每组内节点的组内难度,确定各节点进行工作量证明PoW计算所对应的难度值H;具体包括:
步骤31、为每一个组确定组间难度:
步骤32、确定每一组内各个节点的组内难度:
步骤33、确定节点的PoW难度哈希值Hj,i:
Hj,i表示排序为第j组中的第i个的节点在进行哈希碰撞时,需要计算出一个小于Hj,i的哈希值,按照下述公式计算节点的难度哈希值;
式中,param1j表示第j组的组间难度,param2j,i表示在第j组中,排序为i的节点的组内难度;Dap是一个可变的难度调节参数;
步骤4、各节点根据各自的难度值H开始PoW计算,将率先计算出了符合自己难度值所要求的哈希值的节点作为本轮生成新区块的出块节点;
步骤5、基于所述出块节点外的其他节点,验证区块链系统选取的所述出块节点是否符合创建新区块的要求。
2.如权利要求1所述的共识方法,其特征在于,在所述步骤1中,
所述贡献值是节点加入区块链网络系统后,节点进行符合系统规范的活动后被系统赋予的一种参数,对于每一个初次加入到区块链网络中的节点,贡献值将被初始化为0。
3.如权利要求1所述的共识方法,其特征在于,在所述步骤1中,所述降序排序包括:
在一个既定的出块周期T后,统计系统内所有节点的贡献值大小,并进行降序排序得到一个降序列表CList。
4.如权利要求1所述的共识方法,其特征在于,在所述步骤2中,所述“均值迁移”的动态分组方法,包括:
步骤22、初始化节点所在集合Gj=Φ(j=1,2,..,n),并且初始化节点Ci的序号i=1,节点组号j=1及G1={C1},CList列表中节点C1的组号j=1;
步骤23、确定各节点所在组Gj:判断Ci-Ci+1之差是否大于若大于,则节点Ci和节点Ci+1属于不同组,j=j+1,记为Gj=Gj∪{Ci+1},此时的Gj为一个新的组;若不大于,则节点Ci和节点Ci+1属于同一组,j=j,记为Gj=Gj∪{Ci+1},此时的Gj是为节点Ci所在的组;
步骤24、判断当前节点Ci是否是CList中的最后一个值,若是,则结束步骤2;若不是,则i的值加一位,继续执行步骤23;最终将分组集合记为G={G1,G2,…,Gm-1}(0<m≤n),m为系统经过动态分组后的组数。
5.如权利要求1所述的共识方法,其特征在于,在所述步骤4中,所述出块节点用于进行新区块的创建工作,并将所述新区块向全网广播。
6.如权利要求1所述的共识方法,其特征在于,所述步骤5,包括:
将除所述出块节点外的其他节点作为验证节点,所述出块节点向全网发出广播创建出新区块的同时,各验证节点接收新区块,验证该出块的节点是否为最快运算出符合要求的哈希值的节点;
验证通过后,验证节点还要验证新区块头中的merkle-Tree的根是否与本地的merkle-Tree的根一致;
若二者的值一致,则将新区块添加到到区块链的尾部成功,并将节点的信息进行更新;若二者的值不一致,则新区块添加到到区块链的尾部失败。
7.一种基于贡献值的高可靠性区块链共识系统,其特征在于,包括:
收集排序模块,用于收集区块链系统中节点的信息,为各节点分配贡献值并进行降序排序,得到一个降序列表CList;
分组模块,用于采用“均值迁移”的动态分组方法对所述降序列表CList进行动态分组;
难度值计算模块,用于计算分组后各组的组间难度和每组内节点的组内难度,确定各节点进行工作量证明PoW计算所对应的难度值H;具体包括:
为每一个组确定组间难度:
确定每一组内各个节点的组内难度:
确定节点的PoW难度哈希值Hj,i:
Hj,i表示排序为第j组中的第i个的节点在进行哈希碰撞时,需要计算出一个小于Hj,i的哈希值,按照下述公式计算节点的难度哈希值;
式中,param1j表示第j组的组间难度,param2j,i表示在第j组中,排序为i的节点的组内难度;Dap是一个可变的难度调节参数;
出块节点确定模块,用于各节点根据各自的难度值H开始PoW计算,将率先计算出了符合自己难度值所要求的哈希值的节点作为本轮生成新区块的出块节点;
验证模块,用于基于所述出块节点外的其他节点,验证区块链系统选取的所述出块节点是否符合创建新区块的要求。
8.如权利要求7所述的共识系统,其特征在于,在所述收集排序模块中,
所述贡献值是节点加入区块链网络系统后,节点进行符合系统规范的活动后被系统赋予的一种参数,对于每一个初次加入到区块链网络中的节点,贡献值将被初始化为0。
9.如权利要求7所述的共识系统,其特征在于,在所述收集排序模块中,所述降序排序包括:
在一个既定的出块周期T后,统计系统内所有节点的贡献值大小,并进行降序排序得到一个降序列表CList。
10.如权利要求7所述的共识系统,其特征在于,在所述分组模块中,所述“均值迁移”的动态分组方法,包括:
步骤22、初始化节点所在集合Gj=Φ(j=1,2,..,n),并且初始化节点Ci的序号i=1,节点组号j=1及G1={C1},CList列表中节点C1的组号j=1;
步骤23、确定各节点所在组Gj:判断Ci-Ci+1之差是否大于若大于,则节点Ci和节点Ci+1属于不同组,j=j+1,记为Gj=Gj∪{Ci+1},此时的Gj为一个新的组;若不大于,则节点Ci和节点Ci+1属于同一组,j=j,记为Gj=Gj∪{Ci+1},此时的Gj是为节点Ci所在的组;
步骤24、判断当前节点Ci是否是CList中的最后一个值,若是,则结束分组;若不是,则i的值加一位,继续执行步骤23;最终将分组集合记为G={G1,G2,…,Gm-1}(0<m≤n),m为系统经过动态分组后的组数。
11.如权利要求7所述的共识系统,其特征在于,在所述出块节点确定模块中,所述出块节点用于进行新区块的创建工作,并将所述新区块向全网广播。
12.如权利要求7所述的共识系统,其特征在于,所述验证模块,具体包括:
将除所述出块节点外的其他节点作为验证节点,所述出块节点向全网发出广播创建出新区块的同时,各验证节点接收新区块,验证该出块的节点是否为最快运算出符合要求的哈希值的节点;
验证通过后,验证节点还要验证新区块头中的merkle-Tree的根是否与本地的merkle-Tree的根一致;
若二者的值一致,则将新区块添加到到区块链的尾部成功,并将节点的信息进行更新;若二者的值不一致,则新区块添加到到区块链的尾部失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081985.5A CN112887391B (zh) | 2021-01-21 | 2021-01-21 | 一种基于贡献值的高可靠性区块链共识方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081985.5A CN112887391B (zh) | 2021-01-21 | 2021-01-21 | 一种基于贡献值的高可靠性区块链共识方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887391A CN112887391A (zh) | 2021-06-01 |
CN112887391B true CN112887391B (zh) | 2022-10-25 |
Family
ID=76051748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110081985.5A Active CN112887391B (zh) | 2021-01-21 | 2021-01-21 | 一种基于贡献值的高可靠性区块链共识方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887391B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185995B (zh) * | 2021-06-23 | 2024-07-30 | 湖北大学 | 一种基于贡献值和信誉度的区块链共识机制 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182636A (zh) * | 2018-01-30 | 2018-06-19 | 杨显波 | 基于贡献的区块链共识机制 |
CN109409887A (zh) * | 2018-10-23 | 2019-03-01 | 深圳区块大陆科技有限公司 | 实现区块链共识机制的方法 |
CN109410054A (zh) * | 2018-09-30 | 2019-03-01 | 深圳市有情矿技术有限公司 | 自治域模式下基于信息共享贡献值的区块链共识方法 |
CN109921909A (zh) * | 2019-02-15 | 2019-06-21 | 北京工业大学 | 基于贡献证明的区块链共识方法及装置 |
WO2020182134A1 (zh) * | 2019-03-11 | 2020-09-17 | 京东方科技集团股份有限公司 | 区块链共识任务协调方法、区块链共识任务协调装置、区块链共识任务处理方法、区块链节点装置、区块链系统和存储介质 |
-
2021
- 2021-01-21 CN CN202110081985.5A patent/CN112887391B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182636A (zh) * | 2018-01-30 | 2018-06-19 | 杨显波 | 基于贡献的区块链共识机制 |
CN109410054A (zh) * | 2018-09-30 | 2019-03-01 | 深圳市有情矿技术有限公司 | 自治域模式下基于信息共享贡献值的区块链共识方法 |
CN109409887A (zh) * | 2018-10-23 | 2019-03-01 | 深圳区块大陆科技有限公司 | 实现区块链共识机制的方法 |
CN109921909A (zh) * | 2019-02-15 | 2019-06-21 | 北京工业大学 | 基于贡献证明的区块链共识方法及装置 |
WO2020182134A1 (zh) * | 2019-03-11 | 2020-09-17 | 京东方科技集团股份有限公司 | 区块链共识任务协调方法、区块链共识任务协调装置、区块链共识任务处理方法、区块链节点装置、区块链系统和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于贡献值证明共识机制的区块链系统设计与实现;张玮炜;《中国优秀硕士学位论文全文数据库(电子期刊)》;20200315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112887391A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108900380B (zh) | 一种节点管理方法及其实现系统 | |
CN110602117B (zh) | 基于区块链的车联网节点一致性共识方法 | |
CN112887391B (zh) | 一种基于贡献值的高可靠性区块链共识方法及系统 | |
CN116015672B (zh) | 一种基于信誉模型的pbft共识机制 | |
CN105094970B (zh) | 一种求解分布式系统下可分任务多趟调度模型的方法 | |
CN111583039A (zh) | 无管理者区块链交易的安全交互方法、激励方法及交易系统 | |
Thiranjaya et al. | Towards a smart city: application of optimization for a smart transportation management system | |
WO2020032824A1 (ru) | Способ принятия единого согласованного решения в распределенной системе эвм | |
CN113660125B (zh) | 一种基于随机可信委员会的共识方法及装置 | |
CN111130790A (zh) | 基于区块链节点网络的共识出块方法 | |
Xing et al. | Uavs-aided delay-tolerant blockchain secure offline transactions in post-disaster vehicular networks | |
CN115759289A (zh) | 基于用户分组协同的联邦学习方法、系统及装置 | |
CN113014635A (zh) | 区块链系统的节点类型划分方法、装置及区块链系统 | |
CN114826699B (zh) | 基于区块链的去中心化联邦学习中拜占庭攻击抵御方法 | |
CN115907038A (zh) | 一种基于联邦拆分学习框架的多元控制决策方法 | |
CN116669111A (zh) | 一种基于区块链的移动边缘计算任务卸载方法 | |
CN116614516A (zh) | 基于声誉改进的pbft共识方法 | |
CN108819774A (zh) | 电动汽车以及其电池管理系统 | |
CN113472671A (zh) | 组播路由的确定方法、装置和计算机可读存储介质 | |
CN113222601B (zh) | 一种许可区块链匿名交易背书系统及方法 | |
CN117745433A (zh) | 基于改进pbft共识机制的能源区块链节点共识方法 | |
CN105956490B (zh) | 一种在网络环境中生成、维护可信数据的方法 | |
CN109041065B (zh) | 一种面向两跳多副本自组网的节点信任管理方法 | |
Han et al. | Opportunistic coded distributed computing: An evolutionary game approach | |
CN117687578B (zh) | 区块链中基于动态分簇的区块协同存储方法、介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |