一种区块链恶意节点发现与隔离方法及装置制造方法及图纸

技术编号:19703035 阅读:28 留言:0更新日期:2018-12-08 14:24
本发明专利技术公开了一种区块链恶意节点发现与隔离方法及装置,为每一个区块链网络中的区块的节点计算工作量,如果发现工作量超过了区块的阈值,则将该区块的节点标识为恶意节点,并执行恶意节点隔离程序,大大提高了整个区块链的可靠性,在不影响区块链节点的服务下,隔离了恶意的区块链节点,提升了区块链系统的容错能力,保证了在区块链系统中某些区块出现恶意节点的情况下,仍然能保证区块链系统正常运行。

【技术实现步骤摘要】
一种区块链恶意节点发现与隔离方法及装置
本公开涉及区块链
,具体涉及一种区块链恶意节点发现与隔离方法及装置。
技术介绍
区块链网络是一种开放的、不受限制的网络,各区块链节点对整个网络的了解是十分有限的,每个区块链节点只需维护邻居节点的信息,并进行实时更新,就可以保证整个网络正常运行。也正因为如此,区块链网络的安全问题也特别突出:恶意节点通过伪装自己,可自由加入或离开区块链网络,并可利用区块链节点的局限性来发动攻击或破坏网络的完整性。目前,针对区块链网络的Sybil攻击、日蚀攻击(EclipseAttack)、DDoS(DistributedDenialofService,分布式拒绝服务)攻击等的相关研究在国际国内获得了广泛关注。Sybil攻击通过向区块链网络中引入多个恶意构造的节点来达到控制整个层叠网络的目的,它可以被用于监控发布和搜索流量、隔离特定共享内容等;日蚀攻击的目的是将若干个目标节点从区块链网络中隔离出去,劫持其通信信息,控制其网络行为。DDoS攻击的目标是单个区块链网络节点,占用甚至耗尽其资源(如CPU、带宽等),使其不能正常提供服务。目前暂无相关的同类技术以防止该类问题的发生。
技术实现思路
本公开提供一种区块链恶意节点发现与隔离方法及装置,本专利技术为每一个区块链网络中的区块的节点计算工作量,如果发现工作量超过了区块的阈值,,如果发现错误计数器的错误数量超过了阈值,则将该区块的节点标识为恶意节点,并执行恶意节点隔离程序。为了实现上述目的,根据本公开的一方面,提供一种区块链恶意节点发现与隔离方法,所述方法包括以下步骤:步骤1,读取区块链网络中各区块链节点的工作量证明数据;步骤2,根据工作量证明数据计算节点的工作量阈值;步骤3,如果节点的工作量证明数据小于节点的工作量阈值则将节点标记为恶意节点;步骤4,计算与恶意节点连接的代价最小节点;步骤5,通过代价最小节点构建恶意节点的虚拟同步连接;步骤6,将恶意节点的数据同步队列映射到代价最小节点的数据同步队列中。进一步地,在步骤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中,所述根据工作量证明数据计算节点的工作量阈值的方法为:工作量阈值为计算节点工作量证明数据与相邻节点工作量证明数据总和的加权几何平均数。进一步地,在步骤4中,所述计算与恶意节点连接的代价最小节点的方法包括以下子步骤:步骤4.1,恶意节点发送同步数据包请求给区块链中所有的节点;步骤4.2,各区块链节点接收到同步数据包请求后返回应答数据包到恶意节点;步骤4.3,恶意节点接收应答数据包,应答响应时间最短的节点为代价最小节点;所述应答数据包至少包括应答节点ID编号、应答响应时间。进一步地,在步骤5中,通过代价最小节点构建恶意节点的虚拟同步连接的方法为:将恶意节点断开连接,将与恶意节点断开的连接重新连接至代价最小节点。进一步地,在步骤6中,所述将恶意节点的数据同步队列映射到代价最小节点的数据同步队列中的方法为:将恶意节点的数据同步队列中的数据同步请求按照原队列的顺序依次添加到代价最小节点的数据同步队列中,同时清空恶意节点的数据同步队列。本专利技术还提供了一种区块链恶意节点发现与隔离装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:工作量读取单元,用于读取区块链网络中各区块链节点的工作量证明数据;阈值计算单元,用于根据工作量证明数据计算节点的工作量阈值;恶意标记单元,用于在如果节点的工作量证明数据小于节点的工作量阈值时将节点标记为恶意节点;代价计算单元,用于计算与恶意节点连接的代价最小节点;虚拟连接单元,用于通过代价最小节点构建恶意节点的虚拟同步连接;队列映射单元,用于将恶意节点的数据同步队列映射到代价最小节点的数据同步队列中。本公开的有益效果为:本专利技术提供一种区块链恶意节点发现与隔离方法及装置,大大提高了整个区块链的可靠性,在不影响区块链节点的服务下,进一步发挥了区块链系统的聚合特性,提升了区块链系统的容错能力,保证了在区块链系统中某些区块出现恶意节点的情况下隔离恶意节点后,仍然能保证区块链系统正常运行,不影响区块链的同步效率。附图说明通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:图1所示为一种区块链恶意节点发现与隔离方法的流程图;图2所示为一种区块链恶意节点发现与隔离装置图。具体实施方式以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。如图1所示为根据本公开的一种区块链恶意节点发现与隔离方法的流程图,下面结合图1来阐述根据本公开的实施方式的一种区块链恶意节点发现与隔离方法。本公开提出一种区块链恶意节点发现与隔离方法,具体包括以下步骤:步骤1,读取区块链网络中各区块链节点的工作量证明数据;步骤2,根据工作量证明数据计算节点的工作量阈值;步骤3,如果节点的工作量证明数据小于节点的工作量阈值则将节点标记为恶意节点;步骤4,计算与恶意节点连接的代价最小节点;步骤5,通过代价最小节点构建恶意节点的虚拟同步连接;步骤6,将恶意节点的数据同步队列映射到代价最小节点的数据同步队列中。进一步地,在步骤1中,所述区块链网络为多个区块链节点构成的网状拓扑结构,每个区块链节点都有唯一的节点ID编号、数据同步队列,所述数据同步队列用于按照同步发生时间的顺序将数据同步请求排队依次进行数据同步,同步序列队列中的元素为数据同步请求,每个区块链节点至少有一个相邻的节点,所述各区块链节点通过有线网络、无线网络任意一种互相连接并进行通信。进一步地,在步骤1中,所述工作量证明数据包括区块链节点的数据同步总时本文档来自技高网...

【技术保护点】
1.一种区块链恶意节点发现与隔离方法,其特征在于,所述方法包括以下步骤:步骤1,读取区块链网络中各区块链节点的工作量证明数据;步骤2,根据工作量证明数据计算节点的工作量阈值;步骤3,如果节点的工作量证明数据小于节点的工作量阈值则将节点标记为恶意节点;步骤4,计算与恶意节点连接的代价最小节点;步骤5,通过代价最小节点构建恶意节点的虚拟同步连接;步骤6,将恶意节点的数据同步队列映射到代价最小节点的数据同步队列中。

【技术特征摘要】
1.一种区块链恶意节点发现与隔离方法,其特征在于,所述方法包括以下步骤:步骤1,读取区块链网络中各区块链节点的工作量证明数据;步骤2,根据工作量证明数据计算节点的工作量阈值;步骤3,如果节点的工作量证明数据小于节点的工作量阈值则将节点标记为恶意节点;步骤4,计算与恶意节点连接的代价最小节点;步骤5,通过代价最小节点构建恶意节点的虚拟同步连接;步骤6,将恶意节点的数据同步队列映射到代价最小节点的数据同步队列中。2.根据权利要求1所述的一种区块链恶意节点发现与隔离方法,其特征在于,在步骤1中,所述区块链网络为多个区块链节点构成的网状拓扑结构,每个区块链节点都有唯一的节点ID编号、数据同步队列,所述数据同步队列用于按照同步发生时间的顺序将数据同步请求排队依次进行数据同步,同步序列队列中的元素为数据同步请求,每个区块链节点至少有一个相邻的节点,所述各区块链节点通过有线网络、无线网络任意一种互相连接并进行通信。3.根据权利要求1所述的一种区块链恶意节点发现与隔离方法,其特征在于,在步骤1中,所述工作量证明数据为区块链节点的数据同步总时间的十进制形式经过SHA256哈希运算的递增值字符串,SHA256哈希运算的方法为:将十进制数X看作十三进制,再按照十三进制数以转换基数转换成十进制数,提取其中若干为作为X的哈希值,所述转换基数为大于原来基数的数,并且两个基数应该是互素的。4.根据权利要求1所述的一种区块链恶意节点发现与隔离方法,其特征在于,在步骤2中,所述根据工作量证明数据计算节点的工作量阈值的方法为:工作量阈值为计算节点工作量证明数据与相邻节点工作量证明数据总和的加权几何平均数。5.根据权利要求1所述的一种区块链恶意节...

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

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

1