CN112887391A - 一种基于贡献值的高可靠性区块链共识方法及*** - Google Patents

一种基于贡献值的高可靠性区块链共识方法及*** Download PDF

Info

Publication number
CN112887391A
CN112887391A CN202110081985.5A CN202110081985A CN112887391A CN 112887391 A CN112887391 A CN 112887391A CN 202110081985 A CN202110081985 A CN 202110081985A CN 112887391 A CN112887391 A CN 112887391A
Authority
CN
China
Prior art keywords
node
group
block
nodes
difficulty
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.)
Granted
Application number
CN202110081985.5A
Other languages
English (en)
Other versions
CN112887391B (zh
Inventor
何泾沙
杜伟东
朱娜斐
甘宇
宋洪宇
薛瑞昕
叶子昂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN202110081985.5A priority Critical patent/CN112887391B/zh
Publication of CN112887391A publication Critical patent/CN112887391A/zh
Application granted granted Critical
Publication of CN112887391B publication Critical patent/CN112887391B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic 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之差是否大于
Figure BDA0002909698110000031
若大于,则节点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、为每一个组确定组间难度:
计算每一组Gj内全部节点贡献值的平均值
Figure BDA0002909698110000032
计算所有组的平均贡献值之差的平均值
Figure BDA0002909698110000033
计算每一组的组间难度param1j;若节点处于分组后的第一组G1,那么该节点的组间难度为param1j为0;
步骤32、确定每一组内各个节点的组内难度:
计算组Gi内全部节点贡献值之差的平均值
Figure BDA0002909698110000034
确定第j组内第i个节点的组内难度param2j,i;若节点处于分组后每一组的第一位,则该节点的组内难度param2j,i为0;
步骤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所示,“均值迁移”的动态分组方法具体包括:
步骤21、计算贡献值列表CList中相邻节点贡献值之差的平均值
Figure BDA0002909698110000061
其中,贡献值列表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(相邻节点贡献值)之差是否大于
Figure BDA0002909698110000062
若大于,则节点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内全部节点贡献值的平均值
Figure BDA0002909698110000071
(第j组的平均贡献值),计算所有组的平均贡献值之差的平均值
Figure BDA0002909698110000072
计算每一组的组间难度param1j;若节点处于分组后的第一组G1,那么该节点的组间难度为param1j为0;
步骤32、确定每一组内各个节点的组内难度:
计算组Gi内全部节点贡献值之差的平均值
Figure BDA0002909698110000073
确定第j组内第i个节点的组内难度param2j,i;若节点处于分组后每一组的第一位,则该节点的组内难度param2j,i为0;
步骤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 (8)

1.一种基于贡献值的高可靠性区块链共识方法,其特征在于,包括:
步骤1、收集区块链***中节点的信息,为各节点分配贡献值并进行降序排序,得到一个降序列表CList
步骤2、采用“均值迁移”的动态分组方法对所述降序列表CList进行动态分组;
步骤3、计算分组后各组的组间难度和每组内节点的组内难度,确定各节点的PoW计算难度值H;
步骤4、各节点根据各自的难度值H开始PoW计算,将率先完成计算的节点作为本轮生成新区块的出块节点;
步骤5、基于所述出块节点外的其他节点,验证区块链***选取的所述出块节点是否符合创建新区块的要求。
2.如权利要求1所述的共识方法,其特征在于,在所述步骤1中,
所述贡献值是节点加入区块链网络***后,节点进行符合***规范的活动后被***赋予的一种参数,对于每一个初次加入到区块链网络中的节点,贡献值将被初始化为0。
3.如权利要求1所述的共识方法,其特征在于,在所述步骤1中,所述降序排序包括:
在一个既定的出块周期T后,统计***内所有节点的贡献值大小,并进行降序排序得到一个降序列表CList
4.如权利要求1所述的共识方法,其特征在于,在所述步骤2中,所述“均值迁移”的动态分组方法,包括:
步骤21、计算贡献值列表CList中相邻节点贡献值之差的平均值
Figure FDA0002909698100000011
其中,贡献值列表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之差是否大于
Figure FDA0002909698100000012
若大于,则节点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.如权利要求4所述的共识方法,其特征在于,所述步骤3,包括:
步骤31、为每一个组确定组间难度:
计算每一组Gj内全部节点贡献值的平均值
Figure FDA0002909698100000021
计算所有组的平均贡献值之差的平均值
Figure FDA0002909698100000022
计算每一组的组间难度param1j;若节点处于分组后的第一组G1,那么该节点的组间难度为param1j为0;
步骤32、确定每一组内各个节点的组内难度:
计算组Gi内全部节点贡献值之差的平均值
Figure FDA0002909698100000023
确定第j组内第i个节点的组内难度param2j,i;若节点处于分组后每一组的第一位,则该节点的组内难度param2j,i为0;
步骤33、确定节点的PoW难度哈希值Hj,i
Hj,i表示排序为第j组中的第i个的节点在进行哈希碰撞时,需要计算出一个小于Hj,i的哈希值,按照下述公式计算节点的难度哈希值;
Figure FDA0002909698100000024
式中,param1j表示第j组的组间难度,param2j,i表示在第j组中,排序为i的节点的组内难度;Dap是一个可变的难度调节参数。
6.如权利要求1所述的共识方法,其特征在于,在所述步骤4中,所述出块节点用于进行新区块的创建工作,并将所述新区块向全网广播。
7.如权利要求1所述的共识方法,其特征在于,所述步骤5,包括:
将除所述出块节点外的其他节点作为验证节点,所述出块节点向全网发出广播创建出新区块的同时,各验证节点接收新区块,验证该出块的节点是否为最快运算出符合要求的哈希值的节点;
验证通过后,验证节点还要验证新区块头中的merkle-Tree的根是否与本地的merkle-Tree的根一致;
若二者的值一致,则将新区块添加到到区块链的尾部成功,并将节点的信息进行更新;若二者的值不一致,则新区块添加到到区块链的尾部失败。
8.一种用于实现如权利要求1~7中任一项所述的共识方法的***,其特征在于,包括:
收集排序模块,用于收集区块链***中节点的信息,为各节点分配贡献值并进行降序排序,得到一个降序列表CList
分组模块,用于采用“均值迁移”的动态分组方法对所述降序列表CList进行动态分组;
难度值计算模块,用于计算分组后各组的组间难度和每组内节点的组内难度,确定各节点的PoW计算难度值H;
出块节点确定模块,用于各节点根据各自的难度值H开始PoW计算,将率先完成计算的节点作为本轮生成新区块的出块节点;
验证模块,用于基于所述出块节点外的其他节点,验证区块链***选取的所述出块节点是否符合创建新区块的要求。
CN202110081985.5A 2021-01-21 2021-01-21 一种基于贡献值的高可靠性区块链共识方法及*** Active CN112887391B (zh)

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 true CN112887391A (zh) 2021-06-01
CN112887391B 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)

Citations (5)

* Cited by examiner, † Cited by third party
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 京东方科技集团股份有限公司 区块链共识任务协调方法、区块链共识任务协调装置、区块链共识任务处理方法、区块链节点装置、区块链***和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
张玮炜: "基于贡献值证明共识机制的区块链***设计与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Also Published As

Publication number Publication date
CN112887391B (zh) 2022-10-25

Similar Documents

Publication Publication Date Title
Cui et al. A decentralized and trusted edge computing platform for Internet of Things
CN109767199A (zh) 基于信誉的pbft共识***及方法、区块链数据处理***
Singh et al. Electing" good" leaders
CN111294959B (zh) 一种联合用户分组和功率分配的优化方法及其优化装置
CN111682962A (zh) 一种电力数据网故障恢复方法、***及存储介质
RU2706459C1 (ru) Способ принятия единого согласованного решения в распределенной системе ЭВМ
CN112887391B (zh) 一种基于贡献值的高可靠性区块链共识方法及***
CN113222601B (zh) 一种许可区块链匿名交易背书***及方法
CN109039699B (zh) 一种QoS约束的电力OTN通信网服务故障恢复方法
Chmaj et al. Heuristic algorithms for optimization of task allocation and result distribution in peer-to-peer computing systems
CN105956490B (zh) 一种在网络环境中生成、维护可信数据的方法
CN116015672A (zh) 一种基于信誉模型的pbft共识机制
CN109041065B (zh) 一种面向两跳多副本自组网的节点信任管理方法
CN116149370A (zh) 一种基于聚类的多无人机分布式动态任务分配方法
Zhang et al. The client assignment problem for continuous distributed interactive applications
CN114826699A (zh) 基于区块链的去中心化联邦学习中拜占庭攻击抵御方法
Han et al. Opportunistic coded distributed computing: An evolutionary game approach
CN117687578B (zh) 区块链中基于动态分簇的区块协同存储方法、介质及设备
CN112953760A (zh) 面向服务价值的低成本大规模个性化服务定制方法
Ferreira Jr et al. A swarm based approximated algorithm to the extended generalized assignment problem (E-GAP)
CN106257450A (zh) 集群***的文件定位、存储方法和装置
CN113079102A (zh) 一种大象流多分级调度方法及装置、设备、存储介质
CN113596182B (zh) 一种分布式多端服务方法及装置
CN110504690B (zh) 一种将云计算用于电力潮流计算的方法
KR102668468B1 (ko) 노드의 지분 비율을 고려한 분산 합의 방법, 장치 및 이를 이용한 블록체인 생성 방법

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