CN109309723B - 一种共识节点变更方法及其实现系统 - Google Patents

一种共识节点变更方法及其实现系统 Download PDF

Info

Publication number
CN109309723B
CN109309723B CN201811222853.4A CN201811222853A CN109309723B CN 109309723 B CN109309723 B CN 109309723B CN 201811222853 A CN201811222853 A CN 201811222853A CN 109309723 B CN109309723 B CN 109309723B
Authority
CN
China
Prior art keywords
consensus
block
network
information
candidate
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
CN201811222853.4A
Other languages
English (en)
Other versions
CN109309723A (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.)
Shanghai Distributed Technologies Co ltd
Original Assignee
Shanghai Distributed Technologies Co ltd
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 Shanghai Distributed Technologies Co ltd filed Critical Shanghai Distributed Technologies Co ltd
Publication of CN109309723A publication Critical patent/CN109309723A/zh
Application granted granted Critical
Publication of CN109309723B publication Critical patent/CN109309723B/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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供了一种共识节点变更方法,包括:获取区块链网络的当前区块高度N和异常信息;根据预设规则判断是否发送更改请求;候选网络对问题节点和备选区块进行表决,形成新共识节点列表和投票结果;根据所述投票结果判断是否广播问题节点信息和备选区块信息;新共识节点根据所述备选区块的信息重新进行共识过程。本发明的所述共识节点变更方法通过所述异常信息和所述预设规则确认需要变更共识节点,结合由所述候选网络举证问题节点并形成新共识节点列表,避免了现有技术存在的多数共识节点为问题节点时,变更节点的决议在所述共识网络中表决,无法有效解决异常情况的问题。本发明还提供了用于实现所述共识节点变更方法的实现系统。

Description

一种共识节点变更方法及其实现系统
技术领域
本发明涉及区块链技术领域,尤其涉及一种共识节点变更方法及其实现系统。
背景技术
区块链生成区块的过程是将一定时间内的业数据打包成一个区块,每一个区块上都有上一个区块的唯一识别信息,将这个区块与上一个区块链接起来。整条链存放在网络中的所有参与节点上,每个参与节点只能决定自己存什么而不能控制其它节点存什么,这样即使出现异常节点,区块链网络上的其它节点也可通过比对历史区块发现异常数据以及异常节点,从而有效杜绝区块链数据被篡改。
在实际的区块链网络中,节点的行为会发生异常,例如故障、伪造或丢弃信息等,造成数据的丢失、损坏、延迟或重复发送。为保证网络的正常运行以及各节点能够接收到正确的数据信息,区块链网络会采用具有一定容错能力的共识算法,例如实用拜占庭容错(Practical Byzantine FaultTolerance,PBFT)算法使各节点在预设规则下达成一致。然而,当多数节点,例如1/3或以上的节点发生异常,超出区块链网络的容错能力,区块链网络将无法正常运行。
公开号为CN107579848A的中国发明专利申请公开了一种动态更改共识节点的方法,由系统管理员向共识节点发起删除问题节点的请求,共识节点对请求进行验证、广播并基于PBFT算法达成共识,将更新后的节点列表存储在节点的本地文件中。但该申请的网络规模小,节点数量有限,删除节点的请求需要共识节点达成共识才能执行,若多数共识节点为问题节点,请求的交易不会被打包,因此仍旧不能使区块链网络恢复正常。
因此,有必要提供一种新型的共识节点变更方法以解决现有技术中存在的上述问题。
发明内容
本发明的目的在于提供一种共识节点变更方法,避免现有技术中存在的由于共识网络中的多数共识节点为问题节点,共识过程无法正常进行问题。
为实现上述目的,本发明的所述共识节点变更方法,包括:
S1:提供区块链网络、侦听单元、判断单元和决策单元,所述区块链网络包括共识网络和候选网络,所述侦听单元获取所述区块链网络的当前区块高度N,在一定时间内检测区块链的异常信息,将所述异常信息发送给判断单元;
S2:所述判断单元判断是否向所述候选网络发送更改请求;
S3:所述候选网络响应所述更改请求,对问题节点和所述备选区块进行表决,形成新共识节点列表并向全网广播,将投票结果发送所述决策单元;
S4:所述决策单元根据所述投票结果判断是否向所述区块链网络广播问题节点信息和备选区块信息;
S5:所述新共识节点列表中的节点根据所述备选区块的信息重新进行共识过程,形成新区块。
本发明所述共识节点变更方法的有益效果在于:一方面,由侦听单元在一定时间内检测所述异常情况,有助于确认所述共识网络需要变更共识节点以保证共识过程正常进行;结合由所述候选网络举证问题节点并形成新节点列表,新共识节点重新进行共识过程,避免了现有技术存在的由于共识网络中的多数共识节点为问题节点,变更节点的决议仍在所述共识网络中表决,使所述异常情况无法得到有效解决的问题。
优选的,所述步骤S4中,所述决策单元接收到的有效投票的数量大于等于所述候选网络总节点数量的2/3,且所述有效投票中的肯定投票数量大于等于所述有效投票数量的1/2,所述决策单元向所述区块链网络广播问题节点列表和所述备选区块信息,所述肯定投票为同意所述共识网络中的特定节点为问题节点。其有益效果在于:设置高票数通过的规则,能够更有效反映出共识网络中的实际问题。
优选的,所述共识网络存储有预设规则,所述预设规则为所述共识网络在每生成N个区块后进行共识切换,以使进行下一轮共识的节点与进行上一轮共识的节点不完全相同,所述侦听单元在第N个区块至第N+100个区块中检测不到所述切换信息,所述判断单元向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N-1且小于等于N+100中的任意一种。其有益效果在于:一方面,在每生成N个区块后进行共识切换,以使进行下一轮共识的节点与进行上一轮共识的节点不完全相同,可以避免所述共识网络被定点攻击。另一方面,即使区块高度N时没有按照所述预设规则进行所述共识切换,由于定点攻击还未发生,因此进行下一轮共识过程从区块高度为N-1至N+100中的任意一个进行都可以。
进一步优选的,所述备选区块信息为从区块高度N-1处开始进行共识。
优选的,所述侦听单元经过2h后获取所述共识网络无法生成第N+1个区块,所述判断单元向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度N处开始进行共识。其有益效果在于:所述侦听单元发现一段时间内所述区块链网络无法出块,能够确认是所述共识网络中的节点出现问题,由所述候选网络共识并举证问题节点,有助于共识网络的正常出块。
优选的,所述侦听单元获取同一节点签名在同一区块高度M中出现至少两次,所述判断单元向所述候选网络发送所述更改请求,M为大于1且小于等于N中的任意一种,所述备选区块信息为从区块高度M-1处进行共识。其有益效果在于:同一节点签名在同一区块高度M中出现至少两次,会造成区块链网络分叉,严重时甚至无法出块,从区块高度M-1处由新共识节点重新进行共识,能够避免网络出现分叉问题。
优选的,所述侦听单元在第N个至第N+10000个区块为内未检测到打包的治理交易信息,所述判断单元向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N且小于等于N+10000中的任意一种。其有益效果在于:所述共识网络一直生成空块,容易造成区块链网络拥堵,由于拥堵还未发生,因此进行下一轮共识过程从区块高度为N至N+10000中的任意一个进行都可以。
进一步优选的,所述备选区块信息为从区块高度N+10000处开始进行共识。
优选的,所述共识网络存储有预设规则,所述预设规则为所述共识网络在每生成一个区块后,所述共识网络中的节点进行角色切换,以使所述共识网络中的节点在不同轮次的共识过程中执行不同的任务,所述侦听单元在第N个区块至第N+2000个区块中检测不到角色切换信息,所述判断单元向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N且小于等于N+2000中的任意一种。其有益效果在于:一方面,所述共识网络中的节点在不同轮次的共识过程中执行不同的任务,能够在提高共识效率的同时兼顾大多数共识节点的利益,促进网络发展;另一方面,即使区块高度N时没有按照所述预设规则进行所述角色切换,由于所述共识网络还正常出块,因此进行下一轮共识过程从区块高度为N至N+2000中的任意一个进行都可以。
进一步优选的,所述备选区块信息为从区块高度N+2000处开始进行共识。
优选的,所述侦听单元在第N个区块至第N+10000个区块中检测到区块打包的支付信息持续为0,所述判断单元向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N且小于等于N+10000中的任意一种。其有益效果在于:区块打包的支付信息持续为0,即落账失败,容易使区块链网络易受攻击,另一方面,由于实质的攻击还未发生,因此进行下一轮共识过程从区块高度为N至N+10000中的任意一个进行都可以。
进一步优选的,所述备选区块信息为从区块高度N+10000处开始进行共识。
优选的,所述新区块的信息包括共识切换信息和存证信息,所述共识切换信息为所述新共识节点列表中的节点执行共识以生成所述新区块,所述存证信息为所述候选网络举证了所述问题节点。其有益效果在于:所述存证信息使得所述共识网络分润过程中,可以分润给所述候选网络,提高了所述候选网络作为监督网络的积极性。
优选的,所述决策单元广播所述问题节点信息后,将所述问题节点的权益归零。其有益效果在于:所述问题节点即使不接受所述候选网络的表决结果,也无法有效参与共识过程。
本发明还提供了一种实现系统,用于实现所述共识节点变更方法,所述实现系统包括侦听单元、判断单元和决策单元;所述侦听单元用于获取区块链网络的当前区块高度N和区块链的异常信息,将所述异常信息发送给判断单元;所述判断单元用于判断是否向所述区块链网络中的候选网络发送更改请求;所述候选网络用于响应所述更改请求,举证所述区块链网络的共识网络中的问题节点,并对所述问题节点和重新进行共识的备选区块进行表决共识,形成新共识节点列表和投票结果;所述决策单元用于根据所述投票结果判断是否向所述区块链网络广播问题节点信息和备选区块信息,以供所述新共识节点列表中的节点根据所述备选区块的信息重新进行共识过程,形成新区块。
本发明所述实现系统的有益效果在于:侦听单元在一定时间内检测所述异常情况,有助于确认所述共识网络需要变更共识节点以保证共识过程正常进行;结合由所述候选网络举证问题节点并形成新节点列表,新共识节点重新进行共识过程,避免了现有技术存在的由于共识网络中的多数共识节点为问题节点,变更节点的决议仍在所述共识网络中表决,使所述异常情况无法得到有效解决的问题。
附图说明
图1为本发明的共识节点变更方法流程图;
图2为本发明的实现系统的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
针对现有技术存在的问题,本发明实施例提供了一种共识节点变更方法,参照图1,包括:
S1:提供区块链网络、侦听单元、判断单元和决策单元,所述区块链网络包括共识网络和候选网络,所述侦听单元获取所述区块链网络的当前区块高度N,在一定时间内检测区块链的异常信息,将所述异常信息发送给判断单元;
S2:所述判断单元判断是否向所述候选网络发送更改请求;
S3:所述候选网络响应所述更改请求,对问题节点和所述备选区块进行表决,形成新共识节点列表并向全网广播,将投票结果发送所述决策单元;
S4:所述决策单元根据所述投票结果判断是否向所述区块链网络广播问题节点信息和备选区块信息;
S5:所述新共识节点列表中的节点根据所述备选区块的信息重新进行共识过程,形成新区块。
本发明实施例还提供了用于实现所述共识节点变更方法的实现系统。参照图2,所述实现系统包括侦听单元21、判断单元22和决策单元23;所述侦听单元201用于获取区块链网络24的当前区块高度N和异常信息,将所述异常信息发送给判断单元22;所述判断单元22用于判断是否向所述区块链网络24中的候选网络242发送更改请求;所述候选网络242用于响应所述更改请求,举证所述区块链网络24的共识网络241中的问题节点,并对所述问题节点和重新进行共识的备选区块进行表决共识,形成新共识节点列表和投票结果;所述决策单元23用于根据所述投票结果判断是否向所述区块链网络24广播问题节点信息和备选区块信息,以供所述新共识节点列表中的节点根据所述备选区块的信息重新进行共识过程,形成新区块。
本发明一些实施例中,所述候选网络242中的节点能够进入所述新共识节点列表,即进入所述共识网络241。
本发明的一些实施例中,所述决策单元23接收到的有效投票的数量大于等于所述候选网络242总节点数量的2/3,且所述有效投票中的肯定投票数量大于等于所述有效投票数量的1/2,所述决策单元23向所述区块链网络24广播问题节点列表和所述备选区块信息,所述肯定投票为同意所述共识网络中的特定节点为问题节点。
本发明一些实施例中,所述共识网络241存储有预设规则,所述预设规则为所述共识网络241在每生成N个区块后进行共识切换,以使进行下一轮共识的节点与进行上一轮共识的节点不完全相同,可以避免所述共识网络被定点攻击。所述侦听单元21在第N个区块至第N+100个区块中检测不到所述切换信息,所述判断单元22向所述候选网络242发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N-1且小于等于N+100中的任意一种。本发明另一些实施例中,所述备选区块信息为从区块高度N-1处开始进行共识。
具体的,正常情况下,所述共识网络241由节点1-节点7完成共识过程并生成第10000个区块,下一轮共识过程的共识节点切换为节点5-节点11,第10000个区块中包括所述切换信息。所述侦听单元21在第10000个区块中检测不到所述切换信息,所述侦听单元21持续追踪所述切换信息,直到所述共识网络241生成第10100个区块时还无法检测到所述切换信息,所述判断单元22向所述候选网络242发送所述更改请求,所述备选区块信息为从区块高度9000处开始进行共识,所述共识网络241的新共识节点以区块高度9000的信息为依据进行共识过程,生成新的第10000个区块。
本发明一些实施例中,所述侦听单元21经过2h后获取所述共识网络241无法生成第N+1个区块,所述判断单元22向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度N处开始进行共识。
本发明一些实施例中,所述侦听单元21获取同一节点签名在同一区块高度M中出现至少两次,所述判断单元22向所述候选网络242发送所述更改请求,M为大于1且小于等于N中的任意一种,所述备选区块信息为从区块高度M-1处进行共识。
具体的,当前区块高度为10000,所述侦听单元21在第9000个区块中检测到共识节点中的提案节点签名出现了两次,说明提案节点提交了两个不同的区块,造成了网络分叉。所述判断单元22向所述候选网络242发送所述更改请求,所述共识网络241的新共识节点以区块高度8999的信息为依据进行共识过程,生成新的第9000个区块。
本发明一些具体的实施例中,所述侦听单元21在第9000个区块中检测到共识节点中的背书节点签名出现了两次,说明背书节点为不同的区块背书,所述判断单元22向所述候选网络242发送所述更改请求,所述共识网络241的新共识节点以区块高度8999的信息为依据进行共识过程,生成新的第9000个区块。
本发明一些具体的实施例中,所述侦听单元21在第9000个区块中检测到共识节点中的提交节点签名出现了两次,说明提交节点提交了多个相同块高的区块,所述判断单元22向所述候选网络242发送所述更改请求,所述共识网络241的新共识节点以区块高度8999的信息为依据进行共识过程,生成新的第9000个区块。
本发明一些实施例中,所述侦听单元21在第N个至第N+10000个区块为内未检测到打包的治理交易信息,说明所述共识网络241中一些问题节点未执行本该执行的打包操作,所述判断单元22向所述候选网络242发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N且小于等于N+10000中的任意一种。本发明另一些实施例中,所述备选区块信息为从区块高度N+10000处开始进行共识。
具体的,共识节点持续时间内收到治理交易信息但未对治理交易信息进行打包,所述共识节点则为未执行打包操作的问题节点,所述持续时间量化为未打包治理交易信息的区块数,例如,1个区块产生的时间为0.001s,所述所持续时间为2个未打包治理交易信息的区块,则所述持续时间为0.002s。当前区块高度为30000,所述侦听单元21检测第10000个区块为未打包治理交易信息的区块,所述侦听单元21持续追踪所述未打包治理交易信息的区块,直到所述共识网络241生成第20000个区块时还检测为所述未打包治理交易信息的区块,说明所述共识网络241中存在问题节点未执行本该执行的打包操作,所述判断单元22向所述候选网络242发送所述更改请求,所述备选区块信息为从区块高度20000处开始共识,所述共识网络241的新共识节点以区块高度20000的信息为依据进行共识,生成新的第20001个区块。
本发明一些实施例中,所述共识网络241存储有预设规则,所述预设规则为所述共识网络241在每生成一个区块后,所述共识网络241中的节点进行角色切换,以使所述共识网络241中的节点在不同轮次的共识过程中执行不同的任务。但所述侦听单元21在第N个区块至第N+2000个区块中检测不到角色切换信息,所述判断单元22向所述候选网络242发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N且小于等于N+2000中的任意一种。本发明另一些实施例中,所述备选区块信息为从区块高度N+2000处开始进行共识。
具体的,正常情况下,所述共识网络241由节点1-节点7完成共识过程并生成第10000个区块,下一轮共识过程的共识节点切换为节点5-节点11,第10000个区块中包括所述角色切换信息。角色切换信息应当理解为,共识网络241包括节点1-节点11,当值共识节点为节点1-节点7,候选网络242包括节点8-节点11,进行角色切换后,共识网络241节点1-节点4退回到候选网络242,候选网络242节点8-节点11进入共识网络241,节点5-节点7维持共识节点角色不变。所述侦听单元21在第10000个区块中检测不到所述角色切换信息,所述侦听单元21持续追踪所述角色切换信息,直到所述共识网络241生成第12000个区块时还无法检测到所述切换信息,所述判断单元22向所述候选单元242发送所述更改请求,所述备选区块信息为从区块高度12000处开始进行共识,所述共识网络241的新共识节点以区块高度12000的信息为依据进行共识,生成新的第12001个区块。
本发明一些实施例中,所述侦听单元21在第N个区块至第N+10000个区块中检测到区块打包的支付信息持续为0,所述判断单元22向所述候选网络242发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N且小于等于N+10000中的任意一种。本发明另一些实施例中,所述备选区块信息为从区块高度N+10000处开始进行共识。
具体的,正常情况下,所述共识网络241由节点1-节点7完成共识过程并生成第10000个区块,下一轮共识过程的共识节点切换为节点5-节点11,第10000个区块中包括所述支付信息。所述侦听单元21在第10000个区块中检测不到所述支付信息,所述侦听单元21持续追踪所述支付信息,直到所述共识网络241生成第20000个区块时还无法检测到所述支付信息,所述判断单元22箱所述候选网络242发送所述更改请求,所述备选区块信息为从区块高度20000处开始进行共识,所述共识网络241的新共识节点以区块高度20000的信息为依据进行共识过程,生成新的第20001个区块。
本发明一些实施例中,所述新区块的信息包括共识切换信息和存证信息,所述共识切换信息为所述新共识节点列表中的节点执行共识以生成所述新区块,所述存证信息为所述候选网络242举证了所述问题节点。所述存证信息使得所述共识网络241分润过程中,可以分润给所述候选网络242,提高了所述候选网络242作为监督网络的积极性。
本发明一些实施例中,所述决策单元23广播所述问题节点信息后,将所述问题节点的权益归零。所述问题节点即使不接受所述候选网络的表决结果,也无法有效参与共识过程。
虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。

Claims (15)

1.一种共识节点变更方法,其特征在于,包括:
S1:提供区块链网络、侦听单元、判断单元和决策单元,所述区块链网络包括共识网络和候选网络,所述侦听单元获取所述区块链网络的当前区块高度N和异常信息,将所述异常信息发送给所述判断单元;
S2:所述判断单元根据预设规则判断是否向所述候选网络发送更改请求;
S3:所述候选网络响应所述更改请求,对问题节点和备选区块进行表决,形成新共识节点列表并向全网广播,将投票结果发送所述决策单元;
S4:所述决策单元根据所述投票结果判断是否向所述区块链网络广播问题节点信息和备选区块信息;
S5:所述新共识节点列表中的节点根据所述备选区块的信息重新进行共识过程,形成新区块。
2.如权利要求1所述的共识节点变更方法,其特征在于,所述步骤S4中,所述决策单元接收到的有效投票的数量大于等于所述候选网络总节点数量的2/3,且所述有效投票中的肯定投票数量大于等于所述有效投票数量的1/2,所述决策单元向所述区块链网络广播问题节点列表和所述备选区块信息,所述肯定投票为同意所述共识网络中的特定节点为问题节点。
3.如权利要求1所述的共识节点变更方法,其特征在于,所述共识网络存储有预设规则,所述预设规则为所述共识网络在每生成N个区块后进行共识切换,以使进行下一轮共识的节点与进行上一轮共识的节点不完全相同,所述侦听单元在第N个区块至第N+100个区块中检测不到所述切换信息,所述判断单元向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N-1且小于等于N+100中的任意一种。
4.如权利要求3所述的共识节点变更方法,其特征在于,所述备选区块信息为从区块高度N-1处开始进行共识。
5.如权利要求1所述的共识节点变更方法,其特征在于,所述侦听单元经过2h后获取所述共识网络无法生成第N+1个区块,所述判断单元向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度N处开始进行共识。
6.如权利要求1所述的共识节点变更方法,其特征在于,所述侦听单元获取同一节点签名在同一区块高度M中出现至少两次,所述判断单元向所述候选网络发送所述更改请求,M为大于1且小于等于N中的任意一种,所述备选区块信息为从区块高度M-1处进行共识。
7.如权利要求1所述的共识节点变更方法,其特征在于,所述侦听单元在第N个至第N+10000个区块内未检测到打包的治理交易信息,所述判断单元向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N且小于等于N+10000中的任意一种。
8.如权利要求7所述的共识节点变更方法,其特征在于,所述备选区块信息为从区块高度N+10000处开始进行共识。
9.如权利要求1所述的共识节点变更方法,其特征在于,所述共识网络存储有预设规则,所述预设规则为所述共识网络在每生成一个区块后,所述共识网络中的节点进行角色切换,以使所述共识网络中的节点在不同轮次的共识过程中执行不同的任务,所述侦听单元在第N个区块至第N+2000个区块中检测不到角色切换信息,所述判断单元向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N且小于等于N+2000中的任意一种。
10.如权利要求9所述的共识节点变更方法,其特征在于,所述备选区块信息为从区块高度N+2000处开始进行共识。
11.如权利要求1所述的共识节点变更方法,其特征在于,所述侦听单元在第N个区块至第N+10000个区块中检测到区块打包的支付信息持续为0,所述判断单元向所述候选网络发送所述更改请求,所述备选区块信息为从区块高度M处开始进行共识,M为大于等于N且小于等于N+10000中的任意一种。
12.如权利要求11所述的共识节点变更方法,其特征在于,所述备选区块信息为从区块高度N+10000处开始进行共识。
13.如权利要求1所述的共识节点变更方法,其特征在于,所述新区块的信息包括共识切换信息和存证信息,所述共识切换信息为所述新共识节点列表中的节点执行共识以生成所述新区块,所述存证信息为所述候选网络举证所述问题节点。
14.如权利要求1所述的共识节点变更方法,其特征在于,所述决策单元广播所述问题节点信息后,将所述问题节点的权益归零。
15.一种实现系统,其特征在于,用于实现如权利要求1-14中的任意一项所述的共识节点变更方法,所述实现系统包括侦听单元、判断单元和决策单元;
所述侦听单元用于获取区块链网络的当前区块高度N和区块链的异常信息,将所述异常信息发送给判断单元;
所述判断单元用于判断是否向所述区块链网络中的候选网络发送更改请求;
所述候选网络用于响应所述更改请求,举证所述区块链网络的共识网络中的问题节点,并对所述问题节点和重新进行共识的备选区块进行表决共识,形成新共识节点列表和投票结果;
所述决策单元用于根据所述投票结果判断是否向所述区块链网络广播问题节点信息和备选区块信息,以供所述新共识节点列表中的节点根据所述备选区块的信息重新进行共识过程,形成新区块。
CN201811222853.4A 2018-08-18 2018-10-19 一种共识节点变更方法及其实现系统 Active CN109309723B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810943892 2018-08-18
CN2018109438927 2018-08-18

Publications (2)

Publication Number Publication Date
CN109309723A CN109309723A (zh) 2019-02-05
CN109309723B true CN109309723B (zh) 2021-05-04

Family

ID=65225597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811222853.4A Active CN109309723B (zh) 2018-08-18 2018-10-19 一种共识节点变更方法及其实现系统

Country Status (1)

Country Link
CN (1) CN109309723B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109978528B (zh) * 2019-03-15 2020-05-12 北京世纪诚链科技有限公司 一种可插拔共识协议框架模型、共识协议及其实现方法
WO2020199179A1 (zh) * 2019-04-04 2020-10-08 云图有限公司 共识节点确定方法、装置、计算机设备和存储介质
CN110289966B (zh) * 2019-06-19 2021-08-03 西南交通大学 基于拜占庭容错的抗自适应攻击联盟链共识方法
CN111131399B (zh) * 2019-12-03 2021-11-26 北京海益同展信息科技有限公司 一种区块链中共识节点动态增加方法及装置
CN111447216B (zh) * 2020-03-25 2021-12-10 百度国际科技(深圳)有限公司 用于变更共识节点的方法和装置
CN111444210B (zh) * 2020-03-26 2021-11-05 腾讯科技(深圳)有限公司 区块链共识节点管理方法、装置、设备以及存储介质
CN111461886B (zh) * 2020-04-01 2022-02-01 杭州溪塔科技有限公司 区块链上不依赖智能合约的系统配置的管理方法和装置
CN111522683B (zh) * 2020-07-03 2020-10-02 支付宝(杭州)信息技术有限公司 蜜獾拜占庭容错共识机制的共识节点变更方法及相关装置
CN112511337B (zh) * 2020-11-09 2023-03-14 迅鳐成都科技有限公司 区块链共识网络自恢复方法、电子设备、系统及存储介质
CN114650289B (zh) * 2020-12-02 2023-04-14 王志诚 用于区块链共识的方法及装置
CN113783699B (zh) * 2021-06-02 2022-06-14 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9641342B2 (en) * 2015-02-26 2017-05-02 Skuchain, Inc. Tracking unitization occurring in a supply chain
CN106651332A (zh) * 2016-12-29 2017-05-10 先锋支付有限公司 一种区块链中新区快的生成方法及区块链
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制
CN106952258A (zh) * 2017-03-23 2017-07-14 南京汇川图像视觉技术有限公司 一种基于梯度方向直方图的瓶口缺陷检测方法
CN107579931A (zh) * 2017-09-08 2018-01-12 杭州云象网络技术有限公司 一种基于Kubernetes的区块链即服务资源适配方法
CN107657438A (zh) * 2017-09-18 2018-02-02 联动优势科技有限公司 一种区块链生成方法、数据验证方法、节点及系统
CN107766540A (zh) * 2017-10-31 2018-03-06 上海分布信息科技有限公司 一种分区的区块链网络及其实现分区存储的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241743B (zh) * 2018-01-04 2020-05-12 杭州复杂美科技有限公司 一种区块链快照方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9641342B2 (en) * 2015-02-26 2017-05-02 Skuchain, Inc. Tracking unitization occurring in a supply chain
CN106651332A (zh) * 2016-12-29 2017-05-10 先锋支付有限公司 一种区块链中新区快的生成方法及区块链
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制
CN106952258A (zh) * 2017-03-23 2017-07-14 南京汇川图像视觉技术有限公司 一种基于梯度方向直方图的瓶口缺陷检测方法
CN107579931A (zh) * 2017-09-08 2018-01-12 杭州云象网络技术有限公司 一种基于Kubernetes的区块链即服务资源适配方法
CN107657438A (zh) * 2017-09-18 2018-02-02 联动优势科技有限公司 一种区块链生成方法、数据验证方法、节点及系统
CN107766540A (zh) * 2017-10-31 2018-03-06 上海分布信息科技有限公司 一种分区的区块链网络及其实现分区存储的方法

Also Published As

Publication number Publication date
CN109309723A (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
CN109309723B (zh) 一种共识节点变更方法及其实现系统
US7076801B2 (en) Intrusion tolerant server system
CN111131209B (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
US11271748B2 (en) Consensus methods and systems in consortium blockchain
CN108809757B (zh) 一种系统告警方法、存储介质和服务器
US11362832B2 (en) Distributed proof-of-work for sharded or parallel blockchains
WO2020220860A1 (zh) 一种基于区块链系统的交易处理方法及装置
CN111885050B (zh) 基于区块链网络的数据存储方法、装置、相关设备及介质
CN111786818A (zh) 一种区块链共识节点状态监控方法和装置
US20100165849A1 (en) Failure Detection in IP Networks Using Long Packets
CN109102296B (zh) 一种节点共识方法及系统
CN110784521B (zh) 区块链的共识方法、电子设备和存储介质
CN111526165B (zh) 联盟链中的共识方法和系统
Zhang et al. Prestigebft: Revolutionizing view changes in bft consensus algorithms with reputation mechanisms
CN113452691B (zh) 业务流量检测方法及装置、服务器、存储介质
CN112911011B (zh) 一种应用于区块链的区块生成控制方法及相关装置
CN113592656A (zh) 联盟链交易同步优化方法、计算机可读介质和电子设备
Eikel et al. RoBuSt: A crash-failure-resistant distributed storage system
CN111967968A (zh) 基于区块链的漏洞处理方法及装置
CN111711537B (zh) 备用主节点列表更新方法、装置及设备
CN116192868B (zh) 一种应用于联盟链的并行拜占庭容错共识方法及终端
CN116055064B (zh) 区块链分片中多区块同时共识方法、系统、介质及设备
CN113807963B (zh) 一种账户体系下的联盟链交易的重放攻击防范方法
Walkowiak et al. Improvement of dependability of complex web based systems by service reconfiguration
Toulouse et al. Protecting consensus seeking nids modules against multiple attackers

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