CN111082943B - 一种高效的区块链共识方法 - Google Patents

一种高效的区块链共识方法 Download PDF

Info

Publication number
CN111082943B
CN111082943B CN201911240300.6A CN201911240300A CN111082943B CN 111082943 B CN111082943 B CN 111082943B CN 201911240300 A CN201911240300 A CN 201911240300A CN 111082943 B CN111082943 B CN 111082943B
Authority
CN
China
Prior art keywords
node
verification
subgroup
nodes
main group
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
Application number
CN201911240300.6A
Other languages
English (en)
Other versions
CN111082943A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201911240300.6A priority Critical patent/CN111082943B/zh
Publication of CN111082943A publication Critical patent/CN111082943A/zh
Application granted granted Critical
Publication of CN111082943B publication Critical patent/CN111082943B/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
    • 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/3247Cryptographic 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 involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • 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

Abstract

本发明提出了一种高效的区块链共识方法,主要解决现有区块链技术在数据处理领域中效率低下的问题。其使用一个包含多个子群组和一个主群组的双层模型进行,实现步骤包括:1)基于具体应用范围指定子群组及子群组验证节点,从子群组验证节点中选举出主群组验证节点;2)主群组验证节点基于各个验证节点的行为特征进行信用评分;3)各个子群组内的验证节点以信用评分为抵押,通过投票达成子群组的共识;4)主群组验证节点收集各个子群组的最新状态的梅克尔根,在主群组内达成共识,从而确定全局状态。本发明在提高区块链数据处理效率的同时,进一步加强了区块链的安全性及平等性,优化用户体验,可用于快速处理高并发数据。

Description

一种高效的区块链共识方法
技术领域
本发明属于区块链技术领域,具体涉及一种区块链共识方法,可以用于快速处理高并发数据。
背景技术
共识,即令活动的所有参与方达成一致。在区块链系统中,共识指的是参与维护分布式账本的每一个节点的数据及状态均与其他节点的数据及状态达成一致。在传统的数据结构中,节点间达成一致的方式有两种:一是采用“主从”结构,即由一个中心化服务器来担任主节点,其余服务器作为从节点,并且从节点的数据及状态均与主节点的数据及状态保持同步,从而达成一致;二是采用诸如Paxos,Raft以及PBFT等分布式共识算法,即由系统中参与维护数据一致的节点按照一定的分配规则轮流担任提议节点,并对当前数据的有效性进行投票,最终实现状态同步,从而达成一致。
但在区块链这一大型的分布式对等网络结构中,节点间相互平等,并不遵从“主从”关系,因此上述第一种方式并不适用。第二种方式中的Paxos,Raft分布式共识无法满足区块链网络中的容错需求,而具备容错功能的PBFT共识算法在大型节点网络中存在节点间通信效率底下、复杂度过高,甚至无法正常达成共识的缺陷。所以,在区块链系统中,首要的问题是如何让大型分布式对等网络中的节点达成一致。
随着区块链技术的发展,目前主要的解决方案有工作量证明共识算法,即节点通过算力竞争来解决某个计算难题,并以此作为工作量证明来创建区块。工作量证明共识算法能够进一步巩固区块链系统的平等性,但达成共识的效率较低。
另一种效率较高的共识算法是权益证明算法,即节点通过抵押代币,并依照抵押及赏惩规则来创建区块。权益证明共识算法尽管提高了数据处理及节点间达成共识的效率,但其公平性依赖于抵押及赏惩规则,目前尚无大型区块链网络应用权益证明算法的案例。而其他权益证明共识算法相关的改进算法如授权权益证明共识算法等,在大幅弱化节点间的平等性的基础上,效率提升效果也并不理想。
发明内容
本发明的目的在于针对上述现有共识算法的不足,提出一种高效的区块链共识方法,以在应对物联网等涉及高并发数据的应用场景中,不仅能够高效地处理数据,还能更好地兼顾区块链的安全性及节点间的平等性。
实现本发明目的的技术思路是:从两方面提升性能:一方面着重高效处理高并发数据,并使参与节点快速达成共识;另一方面着重安全性及公平性,使参与节点对上述达成共识的、正确的数据及状态进一步达成共识,从而巩固区块链系统的一致性,实现数据的不可篡改。
根据上述思路,本发明的区块链共识方法,包括子群组共识和主群组的共识,其特征在于:
(1)子群组的共识,即子群组验证节点对该子群组获得的数据进行共识,实现如下:
(1a)根据具体的应用范围确认各个子群组内的验证节点成员;
(1b)每个子群组内各个验证节点均维护一张动态的所有子群组的有序验证节点列表,并且各个子群组内的验证节点成员数量n需满足n>4;
(1c)每个子群组内的验证节点依照随机算法来选举出当前区块周期的提议节点P和r个副本节点,其中r>=3;
(1d)提议节点P以自身信用评分作为抵押,在当前区块周期内按顺序提议创建区块,同时对自身创建的区块以权重v=c/t*100%进行投票,其中,c表示当前验证节点的信用评分,t表示参与投票的所有验证节点的总信用评分;
(1e)r个副本节点均以自身信用评分作为抵押,对提议节点P所提议的区块以权重v=c/t*100%进行投票表决是否通过,其中,c表示当前验证节点的信用评分,t表示参与投票的所有验证节点的总信用评分;
(1f)每个子群组内的提议节点P及r个副本节点分别收集整理各自收到的投票消息,并根据这些投票的总权重消息判断所投区块是否合法:
如果这些投票信息中,所投区块合法的投票总权重超过50%,则判为提议节点P所提议的区块为合法区块,否则,判为非法区块;
(1g)每个子群组内的所有验证节点将合法区块加入自身维护的区块链账本中,并更新状态;
(1h)每个子群组内的提议节点P将关于该子群组的最新状态的梅克尔根提交给主群组中的任意验证节点;
(1i)每个子群组内的提议节点P接收来自主群组验证节点反馈的关于主群组的最新状态的梅克尔根,并将其广播给子群组内的r个副本节点,接收到该梅克尔根的验证节点存储该梅克尔根;
(1j)在当前区块周期完结后,各个子群组内的验证节点依照随机算法重新选举出新的提议节点P';
(2)主群组的共识,即主群组验证节点对从各个子群组处获得的数据进行共识,其实现如下:
(2a)每个子群组内的验证节点依照随机算法从中选举出主群组验证节点,每个子群组内至少产生1个主群组验证节点,且主群组验证节点不再参与其所在的子群组的共识过程;
(2b)所有子群组内的验证节点均维护一张动态的主群组验证节点有序列表,且主群组验证节点成员数量m需满足m>3;
(2c)主群组内各个验证节点依照评分算法对所有群组内的验证节点进行动态信用评分;
(2d)主群组内任意验证节点Q将各个子群组内的提议节点P提交的最新状态的梅克尔根打包进区块,并以自身信用评分作为抵押,对该区块以权重V=C/T*100%进行投票后,再将创建该区块的提议及投票消息发送给主群组内其余m-1个验证节点,其中,C表示当前验证节点的信用评分,T表示参与投票的所有验证节点的总信用评分;
(2e)主群组内其余m-1个验证节点以自身信用评分作为抵押,对验证节点Q所提议的区块以权重V=C/T*100%进行投票,并表决是否通过,其中,C表示当前验证节点的信用评分,T表示参与投票的所有验证节点的总信用评分;
(2f)主群组内的所有验证节点分别收集整理各自收到的投票消息,并根据这些投票的总权重消息判断所投区块是否合法:
如果这些投票信息中,所投区块合法的投票总权重超过50%,并且参与投票的主群组验证节点的数量超过2/3,则判为验证节点Q所提议的区块为合法区块,否则,判为非法区块;
(2g)主群组内的所有验证节点将合法区块加入自身维护的区块链账本中,并更新状态;
(2h)主群组内的任意验证节点将关于该主群组的最新状态的梅克尔根广播给所有子群组的提议节点;
(2i)每隔3个区块周期,主群组内的所有验证节点重新选举;
(3)在各个子群组中,将验证节点产生的合法区块依照时间顺序连接成一个独立且完整的独立子群组区块链,并在各个子群组的子群组区块链状态基础上,将主群组内产生的合法区块依照时间顺序连接成一个完整的主群组区块链,完成对整个区块链的共识。
本发明与现有技术相比,具有以下优点:
1.本发明由于使用包括多个子群组和一个主群组的双层模型来进行数据处理,且由子群组负责高效处理高并发数据,主群组负责保障全局安全性,可在提高数据处理效率的同时,进一步地加强了区块链的安全性。
2.本发明由于基于验证节点的行为特征为各个验证节点独立进行信用评分,并将投票权重与验证节点的信用评分挂钩,可有效遏制并惩罚验证节点的恶意行为,进一步加强了区块链的可信度及安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实现流程图;
图2为本发明中主群组节点和子群组节点的关系示意图;
图3为本发明中主群组区块和子群组区块的关系示意图。
具体实施方式
下面将结合附图和具体实施例,对本发明作进一步的详细描述。
本实例基于一个包含多个子群组和一个主群组的双层模型。一个子群组可以代表一个企业,一个机构或者特定的范围。每个子群组中均有多个独立的验证节点,这些验证节点对其所在的子群组获得的数据进行共识,并把共识结果以梅克尔根的形式提交给主群组验证节点。主群组同样由多个验证节点,这些验证节点通过对子群组达成的共识进一步验证且达成共识,由此确定全局状态。
所述共识,是指在各个子群组中,将验证节点产生的合法区块依照时间顺序连接成一个独立且完整的独立子群组区块链,并在各个子群组的子群组区块链状态基础上,将主群组内产生的合法区块依照时间顺序连接成一个完整的主群组区块链,由此完成对整个区块链的共识。
参照图1,本实例的实现步骤如下:
步骤1.基于特定范围划分子群组,确定各个子群组的验证节点。
将a个机构或企业对应分配到a个子群组中,每个子群组内的验证节点成员由相应的机构和企业指定,各个子群组内的验证节点通过私钥创建算法产生私钥,通过私钥进一步计算出公钥,然后向所有子群组广播自身的公钥。每个子群组内的各个节点均维护一张动态的所有子群组的有序验证节点列表,同时验证节点数量n需满足n>4。
步骤2.依照随机算法从子群组中选举出当前区块周期的主群组验证节点。
从a个子群组中至少挑选出1个主群组验证节点。所有子群组内的验证节点均维护一张动态的主群组验证节点的有序列表,并且验证节点数量m需满足m>3。
步骤3.主群组验证节点根据所有群组内的验证节点的行为特征进行信用评分:
(3.1)在初始阶段,任何新加入的验证节点的信用评分均为100;
(3.2)基于各个验证节点的出块时间、准确率、在线率、区块利用率以及投票有效率进行加权后得到单个节点在某个周期结束时的信用评分为:
credit=cof*100+last
其中,last表示该节点在上一个周期的信用评分,*表示相乘符号。
cof表示该节点在本周期内获得的信用提升系数,其根据该节点的出块时间bt,本周期总时长per,该节点所提议的准确的区块数量rig,本周期内该节点提议的区块数量pb,本周期内该节点的在线时间ont,本周期内该节点所创建的合法区块所耗费的总容量cc,本周期内该节点所创建的所有区块的容量上限总和tc,本周期内该节点的有效投票权重vv以及本周期内该节点总投票权重tv进行调整,其遵循公式为:
cof=bt/per*100%*α+rig/pb*100%*β+ont/per*100%*γ+cc/tc*100%*δ+vv/tv*100%*ε
式中α,β,γ,δ,ε均大于0,且α+β+γ+δ+ε=1。rig表示该节点所提议的准确的区块数量,其根据本周期内该节点提议区块数量pb,本周期内该节点质疑成功的区块数量cb,被拒的错误区块数量rb以及惩罚系数λ进行调整,其遵循公式:
rig=pb+cb-rb*λ
其中,1<λ<2,并与节点的信用评分呈反比,即信用评分越低,则λ越大,反之亦然;
tc表示本周期内该节点所创建的所有区块的容量上限总和,其根据本周期该节点所创建的区块数量bn以及单个区块的容量上限cap进行调整,其遵循公式:
tc=bn*cap;
vv表示本周期内该节点的有效投票权重,其根据本周期内该节点总投票权重tv以及与大多数验证节点相反的投票权重rv进行调整,其遵循公式:
vv=tv-rv。
(3.3)将信用评分最小值设为0,在动态评估过程中,负数评分结果按零处理。信用评分低于80的验证节点将被标记为“失信节点”,主群组内任意验证节点均有权拒绝失信节点所提议的区块。
(3.4)每个区块周期结束时,所有群组内的验证节点的信用评分都会更新一次,其中,一个区块周期表示主群组内产生64个区块所需的时间,区块周期结束时是指主群组内正在第num个区块的时间点,num=64n,且n>=0。
步骤4.主群组内任意验证节点将达成共识的最新的信用评分广播给所有验证节点,并且所有群组内的验证节点根据自身维护的子群组验证节点列表以及主群组验证节点列表更新对应验证节点的信用评分。
步骤5.子群组内验证节点依照随机算法来选举出当前区块周期的提议节点P和r个副本节点。
步骤6.子群组内的提议节点P创建区块,并进行投票。
子群组内的提议节点P以自身信用评分作为抵押,在当前区块周期内按序创建区块,并把提议创建区块的消息广播给子群组内的r个副本节点,该消息的形式为“提议节点提议创建的区块信息+提议节点的投票权重+提议节点签名”。其中,提议节点的投票权重prov=c/t*100%,c表示当前节点的信用评分,t表示参与投票的所有验证节点的总信用评分。
步骤7.子群组内所有的验证节点达成共识。
(7.1)子群组内的r个副本节点验证提议节点P所创建的区块是否合法,并以自身信用评分作为抵押,在子群组内广播投票表决结果,该结果消息的形式为“提议节点提议创建的区块信息+表决结果+副本节点的投票权重+副本节点签名”。其中,副本节点的投票权重rev=c/t*100%,c表示当前节点的信用评分,t表示参与投票的所有验证节点的总信用评分;
(7.2)提议节点P整理收集投票信息,如果这些投票信息中,认为所投区块是合法区块的投票总权重超过50%,则判为提议节点P所提议的区块为合法区块,否则,判为非法区块;
(7.3)提议节点P把最终的判定结果消息广播给子群组内的r个副本节点。这些副本节点也会根据自身收集到的投票消息进行验证:若提议节点P所提议区块为非法区块,则将被提议区块作废,重新进入提议流程;
(7.4)主群组内的所有验证节点将合法区块加入到自身维护的区块链账本中,以更新状态。
步骤8.子群组内的提议节点P将该子群组的最新状态的梅克尔根提交给主群组中的任意验证节点。
参照图2,子群组内的提议节点P查询自身维护的主群组验证节点列表,获知最新的主群组验证节点成员,依照以下判断标准将梅克尔根提交给主群组验证节点:
判断标准1:提交给信用评分最高的主群组验证节点,从而保证梅克尔根准确无误地到达主群组;
判断标准2:提交给最近的主群组验证节点,从而保证梅克尔根快速无阻地到达主群组;
判断标准3:随机提交给主群组内的任意验证节点,提高容错率。
步骤9.主群组内所有验证节点达成共识。
(9.1)主群组中的任意验证节点Q将各个子群组内的提议节点提交的最新状态的梅克尔根验证后打包进主群组区块;
参照图3,在各个子群组中,由子群组验证节点创建的区块依照时间顺序连接成独立的子群组区块链,在当前区块周期中,各个子群组内的提议节点基于子群组区块链生成该子群组的最新状态的梅克尔根,并将梅克尔根提交到主群组;此后,主群组内的任意验证节点Q对这些梅克尔根进行验证并打包进最新的主群组区块;
(9.2)验证节点Q将自身信用评分作为抵押,对自身创建的区块进行投票后将该区块的提议消息广播给主群组内的其他验证节点,消息格式为“提议创建的区块信息+该验证节点的投票权重+该验证节点的签名”。其中,该验证节点的投票权重MaV=C/T*100%,C表示当前节点的信用评分,T表示参与投票的所有验证节点的总信用评分;
(9.3)主群组内的其他验证节点验证上述验证节点所提议的区块是否合法,并以自身信用评分作为抵押,在主群组内广播表决结果,该结果消息的形式为“提议创建的区块信息+表决结果+本验证节点的投票权重+本验证节点签名”。其中,主群组内其他验证节点的投票权重OV=C/T*100%,C表示当前节点的信用评分,T表示参与投票的所有验证节点的总信用评分;
(9.4)主群组内提议创建区块的验证节点Q整理收集的所有投票消息,如果这些投票信息中,认为所投区块是合法区块的投票的总权重超过50%,并且参与投票的主群组验证节点的数量超过2/3,则判为验证节点Q所提议的区块为合法区块,否则,判为非法区块。主群组内的其余R个验证节点也会根据自身收集的投票消息进行验证:若验证节点Q所提议区块为非法区块,则被提议区块作废,主群组内的所有验证节点可重新发起区块提议;
(9.5)主群组内的所有验证节点将合法区块加入自身维护的区块链账本中,以更新状态。同时,主群组内的验证节点把主群组最新状态的梅克尔根广播给所有群组内的验证节点,完成所有群组内的共识。
以上所述仅为本发明的一个具体实施例,并不用于限定本发明的保护范围,对于本领域的技术人员来说,可以根据以上的技术方案和构思,做出各种相应的改变和变形,而所有的这些改变和变形都应该包括在本发明权利要求的保护范围之内。

Claims (7)

1.一种高效的区块链共识方法,包括子群组和主群组的共识,其特征在于:
(1)子群组的共识,即子群组验证节点对该子群组获得的数据进行共识,实现如下:
(1a)根据具体的应用范围确认各个子群组内的验证节点成员;
(1b)每个子群组内各个验证节点均维护一张动态的所有子群组的有序验证节点列表,并且各个子群组内的验证节点成员数量n需满足n>4;
(1c)每个子群组内的验证节点依照随机算法选举出至少1个主群组验证节点,此后,每个子群组内剩余的验证节点依照随机算法来选举出当前区块周期的提议节点P和r个副本节点,其中r>=3;
(1d)每个子群组内的提议节点P和r个副本从任意主群组验证节点处获取自身最新的信用评分;
(1e)提议节点P以自身信用评分作为抵押,在当前区块周期内按顺序提议创建区块,同时对自身创建的区块以权重v=c/t*100%进行投票,其中,c表示当前节点的信用评分,t表示参与投票的所有验证节点的总信用评分;
(1f)r个副本节点均以自身信用评分作为抵押,对提议节点P所提议的区块以权重v=c/t*100%进行投票表决是否通过,其中,c表示当前节点的信用评分,t表示参与投票的所有验证节点的总信用评分;
(1g)每个子群组内的提议节点P整理收集投票信息,并根据这些投票的总权重消息判断所投区块是否合法:
如果这些投票信息中,所投区块合法的投票总权重超过50%,则判为提议节点P所提议的区块为合法区块,否则,判为非法区块;
(1h)每个子群组内的所有验证节点将合法区块加入自身维护的区块链账本中,并更新状态;
(1i)每个子群组内的提议节点P将关于该子群组的最新状态的梅克尔根提交给主群组中的任意验证节点;
(1j)每个子群组内的提议节点P接收来自主群组验证节点反馈的关于主群组的最新状态的梅克尔根,并将其广播给子群组内的r个副本节点,接收到该梅克尔根的验证节点存储该梅克尔根;
(1k)在当前区块周期完结后,各个子群组内的验证节点依照随机算法重新选举出新的提议节点P';
(2)主群组的共识,即主群组验证节点对从各个子群组处获得的数据进行共识,其实现如下:
(2a)每个子群组内的验证节点依照随机算法从中选举出主群组验证节点,每个子群组内至少产生1个主群组验证节点,且主群组验证节点不再参与其所在的子群组的共识过程;
(2b)所有子群组内的验证节点均维护一张动态的主群组验证节点有序列表,且主群组验证节点成员数量m需满足m>3;
(2c)主群组内各个验证节点依照评分算法对所有群组内的验证节点进行动态信用评分;实现如下:
(2c1)在初始阶段,设任何新加入的验证节点的信用评分均为100;
(2c2)基于各个验证节点的出块时间、准确率、在线率、区块利用率以及投票有效率进行加权后得到单个节点在某个周期结束时的信用评分为:
credit=cof*100+last
其中,cof表示该节点在本周期内获得的信用提升系数,last表示该节点在上一个周期的信用评分,*表示相乘符号;
(2c3)将信用评分最小值设为0,在动态评估过程中,对负数评分结果按零处理;对信用评分低于80的验证节点将被标记为“失信节点”,主群组内任意验证节点均有权拒绝失信节点所提议的区块;
(2c4)每个区块周期结束时,对所有群组内的验证节点信用评分更新一次,其中,一个区块周期表示主群组内产生64个区块所需的时间,区块周期结束时是指主群组内正在第num个区块的时间点,num=64n,且n>=0;
(2d)主群组内任意验证节点Q将各个子群组内的提议节点P提交的最新状态的梅克尔根打包进区块,并以自身信用评分作为抵押,对该区块以权重V=C/T*100%进行投票后,再将创建该区块的提议及投票消息发送给主群组内其余m-1个验证节点,其中,C表示当前节点的信用评分,T表示参与投票的所有验证节点的总信用评分;
(2e)主群组内其余m-1个验证节点以自身信用评分作为抵押,对验证节点Q所提议的区块以权重V=C/T*100%进行投票,并表决是否通过,其中,C表示当前节点的信用评分,T表示参与投票的所有验证节点的总信用评分;
(2f)主群组内提议创建区块的验证节点Q整理收集所有投票消息,并根据这些投票的总权重消息判断所投区块是否合法:
如果这些投票信息中,所投区块合法的投票总权重超过50%,并且参与投票的主群组验证节点的数量超过2/3,则判为验证节点Q所提议的区块为合法区块,否则,判为非法区块;
(2g)主群组内的所有验证节点将合法区块加入自身维护的区块链账本中,以更新状态;
(2h)主群组内的任意验证节点将关于该主群组的最新状态的梅克尔根广播给所有子群组的提议节点;
(2i)每隔3个区块周期,主群组内的所有验证节点重新选举;
(3)在各个子群组中,将验证节点产生的合法区块依照时间顺序连接成一个独立且完整的独立子群组区块链,并在各个子群组的子群组区块链状态基础上,将主群组内产生的合法区块依照时间顺序连接成一个完整的主群组区块链,完成对整个区块链的共识。
2.根据权利要求1所述的方法,其中所述区块链,包括多个子群组区块链和一个主群组区块链的双层模型。
3.根据权利要求1所述的方法,其中所述共识,是指各个子群组内的验证节点对各自所在的子群组的数据及状态进行验证并达成一致,同时,主群组内的验证节点对各个子群组所达成的共识作进一步验证且达成一致,最终完成对全局状态的确认。
4.根据权利要求1所述的方法,其中信用提升系数cof,通过下式调整:
cof=bt/per*100%*
Figure DEST_PATH_IMAGE002
+rig/pb*100%*
Figure DEST_PATH_IMAGE004
+ont/per*100%*
Figure DEST_PATH_IMAGE006
+cc/tc*100%*
Figure DEST_PATH_IMAGE008
+vv/tv*100%*
Figure DEST_PATH_IMAGE010
式中
Figure DEST_PATH_IMAGE002A
Figure DEST_PATH_IMAGE004A
Figure DEST_PATH_IMAGE006A
Figure DEST_PATH_IMAGE008A
Figure DEST_PATH_IMAGE010A
均大于0,且
Figure DEST_PATH_IMAGE012
bt表示该节点的出块时间,per表示本周期总时长,rig表示该节点所提议的准确的区块数量,pb表示本周期内该节点提议的区块数量,ont表示本周期内该节点的在线时间,cc表示本周期内该节点所创建的合法区块所耗费的总容量,tc表示本周期内该节点所创建的所有区块的容量上限总和,vv表示本周期内该节点的有效投票权重,tv表示本周期内该节点总投票权重,*表示相乘符号。
5.根据权利要求4所述的方法,其中准确的区块数量rig,通过下式调整:
rig=pb+cb-rb*
Figure DEST_PATH_IMAGE014
式中,惩罚系数
Figure DEST_PATH_IMAGE014A
满足1<
Figure DEST_PATH_IMAGE014AA
<2,与节点的信用评分呈反比,即信用评分越低,
Figure DEST_PATH_IMAGE014AAA
越大,反之亦然;
pb表示本周期内该节点提议区块数量,cb表示本周期内该节点质疑成功的区块数量,rb表示被拒的错误区块数量,*表示相乘符号。
6.根据权利要求4所述的方法,其中本周期内该节点所创建的所有区块的容量上限总和tc,通过下式调整:
tc=bn*cap
式中,bn表示本周期该节点所创建的区块数量,cap表示单个区块的容量上限,*表示相乘符号。
7.根据权利要求4所述的方法,其中本周期内该节点的有效投票权重vv,通过下式调整:
vv=tv-rv
式中,tv表示本周期内该节点总投票权重,rv表示与大多数验证节点相反的投票权重,*表示相乘符号。
CN201911240300.6A 2019-12-06 2019-12-06 一种高效的区块链共识方法 Active CN111082943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911240300.6A CN111082943B (zh) 2019-12-06 2019-12-06 一种高效的区块链共识方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911240300.6A CN111082943B (zh) 2019-12-06 2019-12-06 一种高效的区块链共识方法

Publications (2)

Publication Number Publication Date
CN111082943A CN111082943A (zh) 2020-04-28
CN111082943B true CN111082943B (zh) 2021-08-27

Family

ID=70313099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911240300.6A Active CN111082943B (zh) 2019-12-06 2019-12-06 一种高效的区块链共识方法

Country Status (1)

Country Link
CN (1) CN111082943B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899094A (zh) * 2020-05-12 2020-11-06 成都芯域矩阵科技有限公司 一种基于节点信用评分和预交诚意金的区块链共识方法及系统
CN111708840B (zh) * 2020-06-05 2021-03-30 电子科技大学 一种基于主副双层的联盟链动态共识方法
CN113256417B (zh) * 2021-05-14 2022-07-12 杭州链网科技有限公司 一种基于交易共享的共识出块方法及系统
CN115334172B (zh) * 2022-07-20 2024-04-19 新疆丝路智汇信息科技有限公司 一种区块链协议处理系统及其处理方法
CN115378788B (zh) * 2022-08-22 2023-11-10 天津大学 基于分层共识和强化学习的区块链性能自适应优化方法
CN115658807A (zh) * 2022-09-30 2023-01-31 蚂蚁区块链科技(上海)有限公司 区块链系统中的共识方法、共识节点和区块链系统
CN115941209B (zh) * 2023-02-07 2023-05-05 湖南湘江树图信息科技创新中心有限公司 区块链去中心化可信数据采集方法及系统
CN117220884A (zh) * 2023-09-05 2023-12-12 上海雷龙信息科技有限公司 一种数字签名交互验证方法、系统、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180060836A1 (en) * 2016-08-29 2018-03-01 Bank Of America Corporation Application life-cycle transition record recreation system
CN109727038A (zh) * 2019-01-02 2019-05-07 浙江师范大学 一种基于信用证明PoC的区块链共识机制及实现方法
CN110138596A (zh) * 2019-04-13 2019-08-16 山东公链信息科技有限公司 一种基于切换网络拓扑方式的区块链共识方法
CN110351067A (zh) * 2019-06-12 2019-10-18 南京理工大学 针对主从多链的区块链共识机制
CN110427433A (zh) * 2019-08-08 2019-11-08 上海中通吉网络技术有限公司 一种区块链共识方法和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535836B (zh) * 2019-08-12 2021-10-29 安徽师范大学 一种基于角色分类的信任区块链共识方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180060836A1 (en) * 2016-08-29 2018-03-01 Bank Of America Corporation Application life-cycle transition record recreation system
CN109727038A (zh) * 2019-01-02 2019-05-07 浙江师范大学 一种基于信用证明PoC的区块链共识机制及实现方法
CN110138596A (zh) * 2019-04-13 2019-08-16 山东公链信息科技有限公司 一种基于切换网络拓扑方式的区块链共识方法
CN110351067A (zh) * 2019-06-12 2019-10-18 南京理工大学 针对主从多链的区块链共识机制
CN110427433A (zh) * 2019-08-08 2019-11-08 上海中通吉网络技术有限公司 一种区块链共识方法和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《许可链多中心动态共识机制》;闵新平、李庆忠、孔兰菊、张世栋、郑永清、肖宗水;《计算机学报》;20180531;全文 *

Also Published As

Publication number Publication date
CN111082943A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111082943B (zh) 一种高效的区块链共识方法
CN112039964B (zh) 一种基于区块链的节点信誉共识方法
CN109547527B (zh) 区块链中基于信誉机制的分区快速共识方法
CN109871669B (zh) 一种基于区块链技术的数据共享解决方法
CN109409887B (zh) 实现区块链共识机制的方法
CN112395640B (zh) 一种基于区块链的行业物联数据轻量可信共享技术
Yu et al. Proof-of-QoS: QoS based blockchain consensus protocol
CN109767199A (zh) 基于信誉的pbft共识系统及方法、区块链数据处理系统
CN111090892A (zh) 一种基于vrf和门限签名的区块链共识方法和装置
CN109493056A (zh) 一种基于供应链生态应用场景的区块链共识机制
CN112104482B (zh) 一种基于并行投票的共识方法
Zhang et al. Cycledger: A scalable and secure parallel protocol for distributed ledger via sharding
Wang et al. A trusted consensus fusion scheme for decentralized collaborated learning in massive IoT domain
CN112636905B (zh) 基于多角色的可扩展共识机制的系统及方法
CN110928951A (zh) 一种基于区块链的数据共享及仲裁方法
Wang et al. Beh-Raft-Chain: a behavior-based fast blockchain protocol for complex networks
CN112769580A (zh) 一种区块链分层激励共识算法
CN114938292B (zh) 一种基于节点可信度的多层次优化pbft共识方法
CN111798234B (zh) 一种轻量级区块链系统及构造方法
KR20200081533A (ko) 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법
CN113568972A (zh) 一种面向图式区块链的混合共识实现装置及实现方法
Bansal et al. A fast, secure and distributed consensus mechanism for energy trading among vehicles using hashgraph
Xu et al. Improved PBFT algorithm based on vague sets
Corman et al. A Secure Group Agreement (SGA) protocol for peer-to-peer applications
CN116614519A (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