一种基于区块链的节点隔离自恢复方法及装置制造方法及图纸

技术编号:19351972 阅读:31 留言:0更新日期:2018-11-07 17:26
本发明专利技术公开了一种基于区块链的节点隔离自恢复方法及装置,当区块链网络中的一个故障或者恶意节点失效或共识被隔离后时,监控隔离的恶意节点的同步情况恢复情况,节点恢复为正常节点后,将原来的节点恢复到原区块链网络中,使得区块链系统具有自动恢复的能力,在保证整个区块链系统业务正常的情况下,能够自动将已经恢复的故障区块节点,加入到原区块链网络中继续服务,大大的提升了区块链系统的业务可持续能力。

【技术实现步骤摘要】
一种基于区块链的节点隔离自恢复方法及装置
本公开涉及区块链
,具体涉及一种基于区块链的节点隔离自恢复方法及装置。
技术介绍
区块链网络是一种开放的、不受限制的网络,各区块链节点对整个网络的了解是十分有限的,每个区块链节点只需维护邻居节点的信息,并进行实时更新,就可以保证整个网络正常运行。目前,针对区块链网络的Sybil攻击、日蚀攻击(EclipseAttack)、DDoS(DistributedDenialofService,分布式拒绝服务)攻击等的相关研究在国际国内获得了广泛关注。Sybil攻击通过向区块链网络中引入多个恶意构造的节点来达到控制整个层叠网络的目的,它可以被用于监控发布和搜索流量、隔离特定共享内容等;日蚀攻击的目的是将若干个目标节点从区块链网络中隔离出去,劫持其通信信息,控制其网络行为。DDoS攻击的目标是单个区块链网络节点,占用甚至耗尽其资源(如CPU、带宽等),使其不能正常提供服务。目前暂无相关的同类技术以防止该类问题的发生。区块链网络中出现的问题主要是文件同步更新写入的性能比较低下,同时对区块中的节点出现问题的时候缺乏有效的发现和隔离机制后在区块链的节点恢复的时候将隔离后恢复了的区块链节点自动加入到整体的区块链网络中之中。
技术实现思路
本公开提供一种基于区块链的节点隔离自恢复方法及装置,当区块链网络中的一个故障或者恶意节点失效或共识被隔离后时,监控隔离的恶意节点的同步情况恢复情况,节点恢复为正常节点后,将原来的节点恢复到原区块链网络中。为了实现上述目的,根据本公开的一方面,提供一种基于区块链的节点隔离自恢复方法,所述方法包括以下步骤:步骤1,读取区块链网络中各区块链节点的工作量证明数据;步骤2,根据工作量证明数据计算节点的工作量阈值;步骤3,根据工作量阈值运行隔离恶意节点机制将恶意节点映射到代价最小节点;步骤4,监测已隔离的恶意节点的工作量证明数据;步骤5,当恶意节点工作量证明数据大于工作量阈值时将恶意节点标记为已恢复节点;步骤6,重新启用已恢复节点的数据同步队列;步骤7,恢复已恢复节点的同步连接。进一步地,在步骤1中,所述区块链网络为多个区块链节点构成的网状拓扑结构,每个区块链节点都有唯一的节点ID编号、数据同步队列、虚拟同步序列,所述数据同步队列用于按照同步发生时间的顺序将数据同步请求排队依次进行数据同步,同步序列队列中的元素为数据同步请求,执行数据同步队列中的数据同步请求时区块链节点的数据进行同步更新,所述虚拟同步序列用于在恶意节点被隔离时按照顺序计算工作量但并不实际的同步数据到恶意节点中,即只进行数据同步时间的更新,每个区块链节点至少有一个相邻的节点,所述各区块链节点通过有线网络、无线网络任意一种互相连接并进行通信。进一步地,在步骤1中,所述工作量证明数据包括区块链节点的数据同步总时间的十进制形式经过SHA256哈希运算的递增值字符串,SHA256哈希运算的方法为:将十进制数X看作十三进制,再按照十三进制数以转换基数转换成十进制数,提取其中若干为作为X的哈希值,所述转换基数为大于原来基数的数,并且两个基数应该是互素的,所述数据同步总时间的十进制形式,例如数据同步总时间为80127429秒,则十进制形式为(80127429)10。例如:Hash(80127429)=(80127429)13=8*137+0*136+1*135+2*134+7*133+4*132+2*131+9=(502432641)10,如果取中间三位作为哈希值,得Hash(80127429)=432。进一步地,在步骤2中,所述根据工作量证明数据计算节点的工作量阈值的方法为:工作量阈值为计算节点工作量证明数据与相邻节点工作量证明数据总和的加权几何平均数。进一步地,在步骤3中,根据工作量阈值运行隔离恶意节点机制将恶意节点映射到代价最小节点的方法为:步骤3.1,如果节点的工作量证明数据小于节点的工作量阈值则将节点标记为恶意节点;步骤3.2,恶意节点发送同步数据包请求给区块链中所有的节点;步骤3.3,各区块链节点接收到同步数据包请求后返回应答数据包到恶意节点;步骤3.4,恶意节点接收应答数据包,应答响应时间最短的节点为代价最小节点;步骤3.5,将恶意节点断开连接,将与恶意节点断开的连接重新连接至代价最小节点;步骤3.6,将恶意节点的数据同步队列中的数据同步请求按照原队列的顺序依次添加到代价最小节点的数据同步队列中;步骤3.7,清空并停用恶意节点的数据同步队列;步骤3.8,将代价最小节点的数据同步队列中的数据同步请求添加到恶意节点的虚拟同步序列中;步骤3.9,代价最小节点的数据同步队列与恶意节点的虚拟同步序列同步更新数据同步请求;所述应答数据包至少包括应答节点ID编号、应答响应时间。进一步地,在步骤4中,恶意节点的工作量证明数据由虚拟同步序列的数据同步请求进行更新,但是并不进行实际的数据同步更新。进一步地,在步骤6中,重新启用已恢复节点的数据同步队列的方法为:步骤6.1,清空已恢复节点的虚拟同步序列;步骤6.2,重新启用已恢复节点的数据同步队列。进一步地,在步骤7中,恢复已恢复节点的同步连接的方法为:将已恢复节点已断开的连接重新恢复,并将与已重新连接至代价最小节点的连接重新与已恢复节点进行连接。本专利技术还提供了一种基于区块链的节点隔离自恢复装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:工作量读取单元,用于读取区块链网络中各区块链节点的工作量证明数据;阈值计算单元,用于根据工作量证明数据计算节点的工作量阈值;节点隔离单元,用于根据工作量阈值运行隔离恶意节点机制将恶意节点映射到代价最小节点;监测恢复单元,用于监测已隔离的恶意节点的工作量证明数据;恢复标记单元,用于当恶意节点工作量证明数据大于工作量阈值时将恶意节点标记为已恢复节点;同步重启单元,用于重新启用已恢复节点的数据同步队列;连接恢复单元,用于恢复已恢复节点的同步连接。本公开的有益效果为:本专利技术提供一种基于区块链的节点隔离自恢复方法及装置,当区块链网络中的一个故障或者恶意节点失效或共识被隔离后时,监控隔离的恶意节点的同步情况恢复情况,节点恢复为正常节点后,将原来的节点恢复到原区块链网络中,使得区块链系统具有自动恢复的能力,在保证整个区块链系统业务正常的情况下,能够自动将已经恢复的故障区块节点,加入到原区块链网络中继续服务,大大的提升了区块链系统的业务可持续能力。附图说明通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:图1所示为一种基于区块链的节点隔离自恢复方法的流程图;图2所示为一种基于区块链的节点隔离自恢复装置图。具体实施方式以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合本文档来自技高网...

【技术保护点】
1.一种基于区块链的节点隔离自恢复方法,其特征在于,所述方法包括以下步骤:步骤1,读取区块链网络中各区块链节点的工作量证明数据;步骤2,根据工作量证明数据计算节点的工作量阈值;步骤3,根据工作量阈值运行隔离恶意节点机制将恶意节点映射到代价最小节点;步骤4,监测已隔离的恶意节点的工作量证明数据;步骤5,当恶意节点工作量证明数据大于工作量阈值时将恶意节点标记为已恢复节点;步骤6,重新启用已恢复节点的数据同步队列;步骤7,恢复已恢复节点的同步连接。

【技术特征摘要】
1.一种基于区块链的节点隔离自恢复方法,其特征在于,所述方法包括以下步骤:步骤1,读取区块链网络中各区块链节点的工作量证明数据;步骤2,根据工作量证明数据计算节点的工作量阈值;步骤3,根据工作量阈值运行隔离恶意节点机制将恶意节点映射到代价最小节点;步骤4,监测已隔离的恶意节点的工作量证明数据;步骤5,当恶意节点工作量证明数据大于工作量阈值时将恶意节点标记为已恢复节点;步骤6,重新启用已恢复节点的数据同步队列;步骤7,恢复已恢复节点的同步连接。2.根据权利要求1所述的一种基于区块链的节点隔离自恢复方法,其特征在于,在步骤1中,所述区块链网络为多个区块链节点构成的网状拓扑结构,每个区块链节点都有唯一的节点ID编号、数据同步队列、虚拟同步序列,所述数据同步队列用于按照同步发生时间的顺序将数据同步请求排队依次进行数据同步,同步序列队列中的元素为数据同步请求,执行数据同步队列中的数据同步请求时区块链节点的数据进行同步更新,所述虚拟同步序列用于在恶意节点被隔离时按照顺序计算工作量但并不实际的同步数据到恶意节点中,即只进行数据同步时间的更新。3.根据权利要求1所述的一种基于区块链的节点隔离自恢复方法,其特征在于,在步骤1中,所述工作量证明数据包括区块链节点的数据同步总时间的十进制形式经过SHA256哈希运算的递增值。4.根据权利要求1所述的一种基于区块链的节点隔离自恢复方法,其特征在于,在步骤2中,所述根据工作量证明数据计算节点的工作量阈值的方法为:工作量阈值为计算节点工作量证明数据与相邻节点工作量证明数据总和的加权几何平均数。5.根据权利要求1所述的一种基于区块链的节点隔离自恢复方法,其特征在于,在步骤3中,根据工作量阈值运行隔离恶意节点机制将恶意节点映射到代价最小节点的方法为:步骤3.1,如果节点的工作量证明数据小于节点的工作量阈值则将节点标记为恶意节点;步骤3.2,恶意节点发送同步数据包请求给区块链中所有的节点;步骤3.3,各区块链节点接收到同步数据包请求后返回应答数据包到恶意节点;步骤3.4,恶意节点接收应答数据包...

【专利技术属性】
技术研发人员:钟勇霍颖瑜朱扬清
申请(专利权)人:佛山科学技术学院
类型:发明
国别省市:广东,44

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

1